[Rt-commit] r10721 - in rt/branches/3.999-DANGEROUS/html/REST/1.0: ticket

sunnavy at bestpractical.com sunnavy at bestpractical.com
Mon Feb 4 18:07:14 EST 2008


Author: sunnavy
Date: Mon Feb  4 18:07:11 2008
New Revision: 10721

Modified:
   rt/branches/3.999-DANGEROUS/html/REST/1.0/Forms/ticket/links
   rt/branches/3.999-DANGEROUS/html/REST/1.0/ticket/link

Log:
fix link tests failures

Modified: rt/branches/3.999-DANGEROUS/html/REST/1.0/Forms/ticket/links
==============================================================================
--- rt/branches/3.999-DANGEROUS/html/REST/1.0/Forms/ticket/links	(original)
+++ rt/branches/3.999-DANGEROUS/html/REST/1.0/Forms/ticket/links	Mon Feb  4 18:07:11 2008
@@ -56,7 +56,6 @@
 my @data;
 $format ||= 's';
 my $ticket = RT::Model::Ticket->new();
-
 $ticket->load($id);
 if (!$ticket->id) {
     return [ "# Ticket $id does not exist.", [], {}, 1 ];
@@ -67,12 +66,12 @@
 my %fields = map { lc $_ => $_ } @fields;
 
 my %lfields = (
-    members      => { type => 'MemberOf',  Mode => 'base'   },
-    referred_to_By => { type => 'RefersTo',  Mode => 'base'   },
-    depended_on_by => { type => 'DependsOn', Mode => 'base'   },
-    member_of     => { type => 'MemberOf',  Mode => 'target' },
-    refers_to     => { type => 'RefersTo',  Mode => 'target' },
-    depends_on    => { type => 'DependsOn', Mode => 'target' },
+    members      => { type => 'MemberOf',  mode => 'base'   },
+    referred_to_by => { type => 'RefersTo',  mode => 'base'   },
+    depended_on_by => { type => 'DependsOn', mode => 'base'   },
+    member_of     => { type => 'MemberOf',  mode => 'target' },
+    refers_to     => { type => 'RefersTo',  mode => 'target' },
+    depends_on    => { type => 'DependsOn', mode => 'target' },
 );
 
 if ($changes) {
@@ -89,7 +88,7 @@
             $key = $fields{$key};
 
             my %old;
-            my $field = $lfields{$key}->{Mode};
+            my $field = $lfields{$key}->{mode};
             while (my $link = $ticket->$key->next) {
                 $old{$link->$field} = 1;
             }
@@ -117,15 +116,15 @@
                     delete $new{$u};
                 }
                 else {
-                    my $type = $lfields{$key}->{Type};
-                    my $mode = $lfields{$key}->{Mode};
+                    my $type = $lfields{$key}->{type};
+                    my $mode = $lfields{$key}->{mode};
                     ($n, $s) = $ticket->delete_link(type => $type, $mode => $u);
                     goto SET;
                 }
             }
             foreach my $u (keys %new) {
-                my $type = $lfields{$key}->{Type};
-                my $mode = $lfields{$key}->{Mode};
+                my $type = $lfields{$key}->{type};
+                my $mode = $lfields{$key}->{mode};
                 ($n, $s) = $ticket->add_link(type => $type, $mode => $u);
                 goto SET;
             }
@@ -156,12 +155,12 @@
     foreach my $key (@fields) {
         my @val;
 
-        my $field = $lfields{$key}->{Mode};
+        my $field = $lfields{$key}->{mode};
         while (my $link = $ticket->$key->next) {
             push @val, $link->$field;
         }
         push(@val, "") if (@val == 0 && defined $format && $format eq 'l');
-        push @data, [ $key => [ @val ] ] if @val;
+        push @data, [ camel_to_pascal($key) => [ @val ] ] if @val;
     }
 
     my %k = map {@$_} @data;
@@ -169,5 +168,13 @@
     $k = \%k;
 }
 
+sub camel_to_pascal {
+    my $name = shift;
+    return unless $name;
+    $name =~ s/^(\w)/uc $1/ge;
+    $name =~ s/_(\w)/uc $1/ge;
+    return $name;
+}
+
 return [ $c, $o, $k, $e ];
 </%INIT>

Modified: rt/branches/3.999-DANGEROUS/html/REST/1.0/ticket/link
==============================================================================
--- rt/branches/3.999-DANGEROUS/html/REST/1.0/ticket/link	(original)
+++ rt/branches/3.999-DANGEROUS/html/REST/1.0/ticket/link	Mon Feb  4 18:07:11 2008
@@ -55,7 +55,6 @@
 </%ARGS>
 <%INIT>
 use RT::Interface::REST;
-
 my $output;
 my $status = "200 Ok";
 my $ticket = RT::Model::Ticket->new();
@@ -64,12 +63,12 @@
 my @fields = qw(DependsOn DependedOnBy RefersTo ReferredToBy has_member MemberOf);
 my %fields = map { lc $_ => $_ } @fields;
 my %lfields = (
-    has_member    => { type => 'MemberOf',  Mode => 'base'   },
-    ReferredToBy => { type => 'RefersTo',  Mode => 'base'   },
-    DependedOnBy => { type => 'DependsOn', Mode => 'base'   },
-    MemberOf     => { type => 'MemberOf',  Mode => 'target' },
-    RefersTo     => { type => 'RefersTo',  Mode => 'target' },
-    DependsOn    => { type => 'DependsOn', Mode => 'target' },
+    has_member    => { type => 'MemberOf',  mode => 'base'   },
+    ReferredToBy => { type => 'RefersTo',  mode => 'base'   },
+    DependedOnBy => { type => 'DependsOn', mode => 'base'   },
+    MemberOf     => { type => 'MemberOf',  mode => 'target' },
+    RefersTo     => { type => 'RefersTo',  mode => 'target' },
+    DependsOn    => { type => 'DependsOn', mode => 'target' },
 );
 
 # http://.../REST/1.0/ticket/link/1
@@ -102,8 +101,8 @@
     goto OUTPUT;
 }
 
-my $type = $lfields{$rel}->{Type};
-my $mode = $lfields{$rel}->{Mode};
+my $type = $lfields{$rel}->{type};
+my $mode = $lfields{$rel}->{mode};
 
 my $n = 1;
 my $op = $del ? "delete_link" : "add_link";


More information about the Rt-commit mailing list