[Rt-commit] r18183 - in rt/3.999/branches/lorzy: . lib/RT lib/RT/Approval/Rule lib/RT/Condition lib/RT/Interface lib/RT/Model sbin share/html/Approvals share/html/Dashboards share/html/Dashboards/Elements share/html/Dashboards/Elements/ShowPortlet share/html/Elements share/html/Install share/po t/api t/i18n t/ticket t/web

clkao at bestpractical.com clkao at bestpractical.com
Wed Feb 4 05:12:23 EST 2009


Author: clkao
Date: Wed Feb  4 05:12:23 2009
New Revision: 18183

Modified:
   rt/3.999/branches/lorzy/   (props changed)
   rt/3.999/branches/lorzy/TODO
   rt/3.999/branches/lorzy/lib/RT/Approval/Rule/Created.pm
   rt/3.999/branches/lorzy/lib/RT/Condition/CloseTicket.pm
   rt/3.999/branches/lorzy/lib/RT/Condition/ReopenTicket.pm
   rt/3.999/branches/lorzy/lib/RT/Condition/StatusChange.pm
   rt/3.999/branches/lorzy/lib/RT/Dashboard.pm
   rt/3.999/branches/lorzy/lib/RT/Interface/REST.pm
   rt/3.999/branches/lorzy/lib/RT/Interface/Web.pm
   rt/3.999/branches/lorzy/lib/RT/Model/Group.pm
   rt/3.999/branches/lorzy/lib/RT/Model/Scrip.pm
   rt/3.999/branches/lorzy/lib/RT/Model/Ticket.pm
   rt/3.999/branches/lorzy/lib/RT/Model/Transaction.pm
   rt/3.999/branches/lorzy/lib/RT/Model/User.pm
   rt/3.999/branches/lorzy/lib/RT/Rule.pm
   rt/3.999/branches/lorzy/sbin/rt-email-group-admin
   rt/3.999/branches/lorzy/share/html/Approvals/autohandler
   rt/3.999/branches/lorzy/share/html/Dashboards/Elements/HiddenSearches
   rt/3.999/branches/lorzy/share/html/Dashboards/Elements/ShowPortlet/search
   rt/3.999/branches/lorzy/share/html/Dashboards/Elements/ShowSubscription
   rt/3.999/branches/lorzy/share/html/Dashboards/Queries.html
   rt/3.999/branches/lorzy/share/html/Dashboards/Render.html
   rt/3.999/branches/lorzy/share/html/Dashboards/Subscription.html
   rt/3.999/branches/lorzy/share/html/Elements/Tabs
   rt/3.999/branches/lorzy/share/html/Install/index.html
   rt/3.999/branches/lorzy/share/html/Ticket/ModifyPeople.html
   rt/3.999/branches/lorzy/share/po/zh_cn.po
   rt/3.999/branches/lorzy/share/po/zh_tw.po
   rt/3.999/branches/lorzy/t/api/scrip_order.t
   rt/3.999/branches/lorzy/t/api/ticket.t
   rt/3.999/branches/lorzy/t/i18n/default.t
   rt/3.999/branches/lorzy/t/ticket/linking.t
   rt/3.999/branches/lorzy/t/web/command_line.t
   rt/3.999/branches/lorzy/t/web/custom_search.t
   rt/3.999/branches/lorzy/t/web/dashboards.t
   rt/3.999/branches/lorzy/t/web/rest.t
   rt/3.999/branches/lorzy/t/web/ticket-create-utf8.t

Log:
merge branch merge_to_3.8.2 to lorzy.

Modified: rt/3.999/branches/lorzy/TODO
==============================================================================
--- rt/3.999/branches/lorzy/TODO	(original)
+++ rt/3.999/branches/lorzy/TODO	Wed Feb  4 05:12:23 2009
@@ -47,13 +47,3 @@
 ( I dig a bit, they all play with $SIG{__WARN__}, which I think they collapse )
 
 suggestion please
-
-2. 
-
-obra said: REST/1.0 should serve and accept the formats it did for RT 3.8
-we changed the cases of keys before, I think we need to change them back
-e.g. show ticket/1 -f subject currently shows
-    subject: work
-we need to change it back to:
-    Subject: work
-

Modified: rt/3.999/branches/lorzy/lib/RT/Approval/Rule/Created.pm
==============================================================================
--- rt/3.999/branches/lorzy/lib/RT/Approval/Rule/Created.pm	(original)
+++ rt/3.999/branches/lorzy/lib/RT/Approval/Rule/Created.pm	Wed Feb  4 05:12:23 2009
@@ -51,7 +51,7 @@
 use warnings;
 use base 'RT::Approval::Rule';
 
-use constant _stage => 'TransactionBatch';
+use constant _stage => 'transaction_batch';
 
 use constant description => "Notify Owner of their ticket has been approved by some or all approvers"; # loc
 

Modified: rt/3.999/branches/lorzy/lib/RT/Condition/CloseTicket.pm
==============================================================================
--- rt/3.999/branches/lorzy/lib/RT/Condition/CloseTicket.pm	(original)
+++ rt/3.999/branches/lorzy/lib/RT/Condition/CloseTicket.pm	Wed Feb  4 05:12:23 2009
@@ -65,8 +65,8 @@
 
     my $txn = $self->transaction_obj;
     return 0
-        unless $txn->type eq "Status"
-            || ( $txn->type eq "Set" && $txn->field eq "Status" );
+        unless $txn->type eq "status"
+            || ( $txn->type eq "set" && $txn->field eq "status" );
 
     my $queue = $self->ticket_obj->queue;
     return 0 unless $queue->status_schema->is_active( $txn->old_value );

Modified: rt/3.999/branches/lorzy/lib/RT/Condition/ReopenTicket.pm
==============================================================================
--- rt/3.999/branches/lorzy/lib/RT/Condition/ReopenTicket.pm	(original)
+++ rt/3.999/branches/lorzy/lib/RT/Condition/ReopenTicket.pm	Wed Feb  4 05:12:23 2009
@@ -65,8 +65,8 @@
 
     my $txn = $self->transaction_obj;
     return 0
-        unless $txn->type eq "Status"
-            || ( $txn->type eq "Set" && $txn->field eq "Status" );
+        unless $txn->type eq "status"
+            || ( $txn->type eq "set" && $txn->field eq "status" );
 
     my $queue = $self->ticket_obj->queue;
     return 0 unless $queue->status_schema->is_inactive( $txn->old_value );

Modified: rt/3.999/branches/lorzy/lib/RT/Condition/StatusChange.pm
==============================================================================
--- rt/3.999/branches/lorzy/lib/RT/Condition/StatusChange.pm	(original)
+++ rt/3.999/branches/lorzy/lib/RT/Condition/StatusChange.pm	Wed Feb  4 05:12:23 2009
@@ -58,7 +58,7 @@
 
 sub is_applicable {
     my $self = shift;
-    if (    ( $self->transaction_obj->field eq 'Status' )
+    if (    ( $self->transaction_obj->field eq 'status' )
         and ( $self->argument eq $self->transaction_obj->new_value() ) )
     {
         return (1);

Modified: rt/3.999/branches/lorzy/lib/RT/Dashboard.pm
==============================================================================
--- rt/3.999/branches/lorzy/lib/RT/Dashboard.pm	(original)
+++ rt/3.999/branches/lorzy/lib/RT/Dashboard.pm	Wed Feb  4 05:12:23 2009
@@ -108,8 +108,7 @@
     return $object->add_attribute(
         'name'        => 'Dashboard',
         'description' => $args->{'name'},
-        'content'     => { Panes => $args->{'panes'} },
-        
+        'content'     => { panes => $args->{'panes'} },
     );
 }
 

Modified: rt/3.999/branches/lorzy/lib/RT/Interface/REST.pm
==============================================================================
--- rt/3.999/branches/lorzy/lib/RT/Interface/REST.pm	(original)
+++ rt/3.999/branches/lorzy/lib/RT/Interface/REST.pm	Wed Feb  4 05:12:23 2009
@@ -51,6 +51,7 @@
 package RT::Interface::REST;
 use strict;
 use RT;
+use Text::Naming::Convention qw/renaming/;
 
 BEGIN {
     use base 'Exporter';
@@ -222,13 +223,15 @@
             my ( @lines, $key );
 
             foreach $key (@$o) {
+                my $renamed_key = $key eq 'id' ? 'id' :
+                  renaming( $key, { convention => 'UpperCamelCase' } );
                 my ( $line, $sp, $v );
                 my @values
                     = ( ref $k->{$key} eq 'ARRAY' )
                     ? @{ $k->{$key} }
                     : $k->{$key};
 
-                $sp = " " x ( length("$key: ") );
+                $sp = " " x ( length("$renamed_key: ") );
                 $sp = " " x 4 if length($sp) > 16;
 
                 foreach $v (@values) {
@@ -243,17 +246,17 @@
                         } elsif ( @lines && $lines[-1] !~ /\n\n$/ ) {
                             $lines[-1] .= "\n";
                         }
-                        push @lines, "$key: $v\n\n";
+                        push @lines, "$renamed_key: $v\n\n";
                     } elsif ( $line
                         && length($line) + length($v) - rindex( $line, "\n" ) >= 70 )
                     {
                         $line .= ",\n$sp$v";
                     } else {
-                        $line = $line ? "$line, $v" : "$key: $v";
+                        $line = $line ? "$line, $v" : "$renamed_key: $v";
                     }
                 }
 
-                $line = "$key:" unless @values;
+                $line = "$renamed_key:" unless @values;
                 if ($line) {
                     if ( $line =~ /\n/ ) {
                         if ( @lines && $lines[-1] !~ /\n\n$/ ) {

Modified: rt/3.999/branches/lorzy/lib/RT/Interface/Web.pm
==============================================================================
--- rt/3.999/branches/lorzy/lib/RT/Interface/Web.pm	(original)
+++ rt/3.999/branches/lorzy/lib/RT/Interface/Web.pm	Wed Feb  4 05:12:23 2009
@@ -360,7 +360,7 @@
         && $session{'ErrorDocumentType'} )
     {
         $r->content_type( $session{'ErrorDocumentType'} );
-        $m->comp( $session{'ErrorDocument'}, Why => $why, %args );
+        $m->comp( $session{'ErrorDocument'}, why => $why, %args );
         $m->abort;
     } else {
         $m->comp( "/Elements/Error", why => $why, %args );

Modified: rt/3.999/branches/lorzy/lib/RT/Model/Group.pm
==============================================================================
--- rt/3.999/branches/lorzy/lib/RT/Model/Group.pm	(original)
+++ rt/3.999/branches/lorzy/lib/RT/Model/Group.pm	Wed Feb  4 05:12:23 2009
@@ -1141,7 +1141,7 @@
     my %args = (
         column             => undef,
         value              => undef,
-        transaction_type   => 'Set',
+        transaction_type   => 'set',
         record_transaction => 1,
         @_
     );

Modified: rt/3.999/branches/lorzy/lib/RT/Model/Scrip.pm
==============================================================================
--- rt/3.999/branches/lorzy/lib/RT/Model/Scrip.pm	(original)
+++ rt/3.999/branches/lorzy/lib/RT/Model/Scrip.pm	Wed Feb  4 05:12:23 2009
@@ -69,7 +69,7 @@
     column template                  => references RT::Model::Template, is mandatory;
     column scrip_action              => references RT::Model::ScripAction, is mandatory;
     column scrip_condition           => references RT::Model::ScripCondition, is mandatory;
-    column stage                     => type is 'varchar(32)', default is 'TransactionCreate';
+    column stage                     => type is 'varchar(32)', default is 'transaction_create';
     column description               => type is 'text';
     column custom_prepare_code       => type is 'text';
     column custom_commit_code        => type is 'text';
@@ -110,7 +110,7 @@
         template                  => 0,                     # name or id
         scrip_action              => 0,                     # name or id
         scrip_condition           => 0,                     # name or id
-        stage                     => 'TransactionCreate',
+        stage                     => 'transaction_create',
         description               => undef,
         custom_prepare_code       => undef,
         custom_commit_code        => undef,
@@ -318,7 +318,7 @@
 Upon success, returns the applicable Transaction object.
 Otherwise, undef is returned.
 
-If the Scrip is in the TransactionCreate stage (the usual case), only test
+If the Scrip is in the transaction_create stage (the usual case), only test
 the associated Transaction object to see if it is applicable.
 
 For Scrips in the transaction_batch stage, test all Transaction objects
@@ -341,7 +341,7 @@
         Jifty->log->debug( "In the eval for stage " . $self->stage );
         my @Transactions;
 
-        if ( $self->stage eq 'TransactionCreate' ) {
+        if ( $self->stage eq 'transaction_create' ) {
 
             # Only look at our current Transaction
             @Transactions = ( $args{'transaction_obj'} );

Modified: rt/3.999/branches/lorzy/lib/RT/Model/Ticket.pm
==============================================================================
--- rt/3.999/branches/lorzy/lib/RT/Model/Ticket.pm	(original)
+++ rt/3.999/branches/lorzy/lib/RT/Model/Ticket.pm	Wed Feb  4 05:12:23 2009
@@ -2253,7 +2253,7 @@
 Takes two arguments:
      the id or name of the owner 
 and  (optionally) the type of the SetOwner Transaction. It defaults
-to 'Give'.  'Steal' is also a valid option.
+to 'give'.  'steal' is also a valid option.
 
 
 =cut
@@ -2261,7 +2261,7 @@
 sub set_owner {
     my $self     = shift;
     my $NewOwner = shift;
-    my $Type     = shift || "Give";
+    my $Type     = shift || "give";
 
     Jifty->handle->begin_transaction();
 
@@ -2309,8 +2309,8 @@
 
     # If we're not stealing and the ticket has an owner and it's not
     # the current user
-    if (    $Type ne 'Steal'
-        and $Type ne 'Force'
+    if (    $Type ne 'steal'
+        and $Type ne 'force'
         and $old_owner_obj->id != RT->nobody->id
         and $old_owner_obj->id != $self->current_user->id )
     {
@@ -2396,7 +2396,7 @@
 
 sub take {
     my $self = shift;
-    return ( $self->set_owner( $self->current_user->id, 'Take' ) );
+    return ( $self->set_owner( $self->current_user->id, 'take' ) );
 }
 
 
@@ -2409,7 +2409,7 @@
 
 sub untake {
     my $self = shift;
-    return ( $self->set_owner( RT->nobody->user_object->id, 'Untake' ) );
+    return ( $self->set_owner( RT->nobody->user_object->id, 'untake' ) );
 }
 
 =head2 steal
@@ -2425,7 +2425,7 @@
     if ( $self->is_owner( $self->current_user ) ) {
         return ( 0, _("You already own this ticket") );
     } else {
-        return ( $self->set_owner( $self->current_user->id, 'Steal' ) );
+        return ( $self->set_owner( $self->current_user->id, 'steal' ) );
 
     }
 
@@ -2653,7 +2653,7 @@
 
     # Entry point of the rule system
     my $rules = RT::Ruleset->find_all_rules(
-        stage           => 'TransactionBatch',
+        stage           => 'transaction_batch',
         ticket_obj      => $self,
         transaction_obj => $batch->[0],
         type            => join( ',', map $_->type, grep defined, @{$batch} )

Modified: rt/3.999/branches/lorzy/lib/RT/Model/Transaction.pm
==============================================================================
--- rt/3.999/branches/lorzy/lib/RT/Model/Transaction.pm	(original)
+++ rt/3.999/branches/lorzy/lib/RT/Model/Transaction.pm	Wed Feb  4 05:12:23 2009
@@ -377,7 +377,7 @@
 
         Jifty->log->debug( 'About to prepare scrips for transaction #' . $self->id );
         $self->{'scrips'}->prepare(
-            stage       => 'TransactionCreate',
+            stage       => 'transaction_create',
             type        => $args{'type'},
             ticket      => $args{'object_id'},
             transaction => $self->id,
@@ -387,7 +387,7 @@
         my $ticket = RT::Model::Ticket->new( current_user => RT->system_user );
         $ticket->load( $args{'object_id'} );
         my $rules = RT::Ruleset->find_all_rules(
-            stage          => 'TransactionCreate',
+            stage          => 'transaction_create',
             type           => $args{'type'},
             ticket_obj      => $ticket,
             transaction_obj => $self,
@@ -757,8 +757,8 @@
 
     if ( $type eq 'create' ) {
         return ( _( "%1 Created", $obj_type ) );
-    } elsif ( $type =~ /Status/i ) {
-        if ( $self->field eq 'Status' ) {
+    } elsif ( $type eq 'status' ) {
+        if ( $self->field eq 'status' ) {
             if ( $self->new_value eq 'deleted' ) {
                 return ( _( "%1 deleted", $obj_type ) );
             }

Modified: rt/3.999/branches/lorzy/lib/RT/Model/User.pm
==============================================================================
--- rt/3.999/branches/lorzy/lib/RT/Model/User.pm	(original)
+++ rt/3.999/branches/lorzy/lib/RT/Model/User.pm	Wed Feb  4 05:12:23 2009
@@ -1220,7 +1220,7 @@
     my %args = (
         column             => undef,
         value              => undef,
-        transaction_type   => 'Set',
+        transaction_type   => 'set',
         record_transaction => 1,
         @_
     );

Modified: rt/3.999/branches/lorzy/lib/RT/Rule.pm
==============================================================================
--- rt/3.999/branches/lorzy/lib/RT/Rule.pm	(original)
+++ rt/3.999/branches/lorzy/lib/RT/Rule.pm	Wed Feb  4 05:12:23 2009
@@ -51,7 +51,7 @@
 use warnings;
 use base 'RT::ScripAction';
 
-use constant _stage => 'TransactionCreate';
+use constant _stage => 'transaction_create';
 use constant _queue => undef;
 
 sub prepare {

Modified: rt/3.999/branches/lorzy/sbin/rt-email-group-admin
==============================================================================
--- rt/3.999/branches/lorzy/sbin/rt-email-group-admin	(original)
+++ rt/3.999/branches/lorzy/sbin/rt-email-group-admin	Wed Feb  4 05:12:23 2009
@@ -77,7 +77,7 @@
     Condition: On Create
     Action:    Notify developers
     Template:  Transaction
-    Stage:     TransactionCreate
+    Stage:     transaction_create
 
 Your development team will be notified on every new ticket in the queue.
 

Modified: rt/3.999/branches/lorzy/share/html/Approvals/autohandler
==============================================================================
--- rt/3.999/branches/lorzy/share/html/Approvals/autohandler	(original)
+++ rt/3.999/branches/lorzy/share/html/Approvals/autohandler	Wed Feb  4 05:12:23 2009
@@ -46,8 +46,8 @@
 %# 
 %# END BPS TAGGED BLOCK }}}
 <%init>
-$m->call_next(%ARGS) if Jifty->web->current_user->user_obj->has_right(
+$m->call_next(%ARGS) if Jifty->web->current_user->has_right(
     right => 'ShowApprovalsTab',
-    object => $RT::System,
+    object => RT->system,
 );
 </%init>

Modified: rt/3.999/branches/lorzy/share/html/Dashboards/Elements/HiddenSearches
==============================================================================
--- rt/3.999/branches/lorzy/share/html/Dashboards/Elements/HiddenSearches	(original)
+++ rt/3.999/branches/lorzy/share/html/Dashboards/Elements/HiddenSearches	Wed Feb  4 05:12:23 2009
@@ -56,7 +56,7 @@
     if ($search->name eq 'SavedSearch') {
         push @display, $search->description;
     }
-    elsif ($search->Name =~ m/^Search - (.*)/) {
+    elsif ($search->name =~ m/^Search - (.*)/) {
         push @display, $1;
     }
     else {

Modified: rt/3.999/branches/lorzy/share/html/Dashboards/Elements/ShowPortlet/search
==============================================================================
--- rt/3.999/branches/lorzy/share/html/Dashboards/Elements/ShowPortlet/search	(original)
+++ rt/3.999/branches/lorzy/share/html/Dashboards/Elements/ShowPortlet/search	Wed Feb  4 05:12:23 2009
@@ -52,7 +52,7 @@
 $preview => 0
 </%args>
 <%init>
-my @for_showsearch = $Dashboard->show_search_name($portlet);
+my @for_showsearch = $dashboard->show_search_name($portlet);
 </%init>
 
 <& /Elements/ShowSearch,

Modified: rt/3.999/branches/lorzy/share/html/Dashboards/Elements/ShowSubscription
==============================================================================
--- rt/3.999/branches/lorzy/share/html/Dashboards/Elements/ShowSubscription	(original)
+++ rt/3.999/branches/lorzy/share/html/Dashboards/Elements/ShowSubscription	Wed Feb  4 05:12:23 2009
@@ -58,15 +58,15 @@
 my $frequency = _("None");
 
 if (defined $subscription) {
-    my $freq = $subscription->sub_value('Frequency');
-    my $hour = $subscription->sub_value('Hour');
+    my $freq = $subscription->sub_value('frequency');
+    my $hour = $subscription->sub_value('hour');
 
     if ($freq eq 'weekly') {
-        my $day = $Subscription->sub_value('Dow');
+        my $day = $subscription->sub_value('dow');
         $frequency = _("weekly (on %1) at %2", _($day), $hour);
     }
     elsif ($freq eq 'monthly') {
-        $frequency = _("monthly (day %1) at %2", $Subscription->sub_value('Dom'), $hour);
+        $frequency = _("monthly (day %1) at %2", $subscription->sub_value('dom'), $hour);
     } 
     elsif ($freq eq 'daily') {
         $frequency = _("daily at %1", $hour);

Modified: rt/3.999/branches/lorzy/share/html/Dashboards/Queries.html
==============================================================================
--- rt/3.999/branches/lorzy/share/html/Dashboards/Queries.html	(original)
+++ rt/3.999/branches/lorzy/share/html/Dashboards/Queries.html	Wed Feb  4 05:12:23 2009
@@ -54,7 +54,7 @@
 <& /Elements/ListActions, actions => \@results &>
 
 % if (@hidden_searches) {
-<& Elements/HiddenSearches, searches => \@hidden_searches, Dashboard => $Dashboard &>
+<& Elements/HiddenSearches, searches => \@hidden_searches, dashboard => $Dashboard &>
 % }
 
 <table width="100%" border="0">
@@ -63,7 +63,7 @@
 <form action="Queries.html" name="Dashboard-<%$pane->{name}%>" method="post" enctype="multipart/form-data">
 <input type="hidden" class="hidden" name="id" value="<%$Dashboard->id%>" />
 <input type="hidden" class="hidden" name="privacy" value="<%$Dashboard->privacy%>" />
-<&| /Widgets/TitleBox, title => $pane->{DisplayName} &>
+<&| /Widgets/TitleBox, title => $pane->{display_name} &>
     <& /Widgets/SelectionBox:show, self => $pane, nojs => 1 &>
 </&>
 </form>
@@ -85,13 +85,33 @@
 
 my %desc_of;
 my @items;
-my @selected;
+my %selected;
 
 # Get the list of queries already in use
-for ($Dashboard->search_ids) {
-    my ($privacy, $id, $desc) = @$_;
-    my $name = "$id-$privacy";
-    push @selected, $name;
+do {
+    my $panes = $Dashboard->panes;
+    for my $pane (keys %$panes) {
+        for my $portlet (@{ $panes->{$pane} }) {
+            my $name;
+            if ($portlet->{portlet_type} eq 'search') {
+                $name = join '-', 'search', $portlet->{id}, $portlet->{privacy};
+            }
+            else {
+                $name = join '-', 'component', $portlet->{component};
+            }
+
+            push @{ $selected{$pane} }, $name;
+            $desc_of{$name} = $portlet->{description};
+        }
+    }
+};
+
+my @components = @{ RT->config->get('HomepageComponents') };
+my %allowed_components = map {$_ => 1} @components;
+
+for my $desc (@components) {
+    my $name = "component-$desc";
+    push @items, [$name, $desc];
     $desc_of{$name} = $desc;
 }
 
@@ -107,40 +127,80 @@
         my ($desc, $search) = @$_;
         my $SearchType = $search->content->{'SearchType'} || 'Ticket';
         my $privacy = $Dashboard->_build_privacy($object);
-        my $name = $search->id . '-' . $privacy;
+        my $name = 'search-' . $search->id . '-' . $privacy;
         push @items, [$name, $desc];
         $desc_of{$name} = $desc;
     }
 }
 
-# Create a selectionbox widget for those queries
-my $sel = $m->comp(
-    '/Widgets/SelectionBox:new',
-    action    => 'Dashboards/Queries.html',
-    name      => "searches",
-    available => \@items,
-    selected  => \@selected,
-    auto_save  => 1,
-    on_submit  => sub {
-        my $self = shift;
-
-        # transform list of "SearchID-PrivacyObjType-PrivacyObjID"s to
-        # list of [Privacy, SearchID, description]s
-        my $searches = [ map {
-            [ reverse(split /-/, $_, 2), $desc_of{$_} ]
-        } @{ $self->{Current} } ];
+# Create selectionbox widgets for those queries
+my %pane_name = (
+    'body'    => _('Body'),
+    'sidebar' => _('Sidebar'),
+);
+
+my @panes;
+for my $pane (keys %pane_name) {
+    my $sel = $m->comp(
+        '/Widgets/SelectionBox:new',
+        action      => 'Queries.html',
+        name        => "Searches-$pane",
+        display_name => $pane_name{$pane},
+        available   => \@items,
+        selected    => $selected{$pane},
+        auto_save    => 1,
+        on_submit    => sub {
+            my $self = shift;
+
+            my @portlets;
+            for (@{ $self->{Current} }) {
+                my $item = $_;
+                my $desc = $desc_of{$item};
+                my $portlet_type = $1 if $item =~ s/^(\w+)-//;
+
+                if ($portlet_type eq 'search') {
+                    my ($search_id, $privacy) = split '-', $item, 2;
+                    push @portlets, {
+                        portlet_type => $portlet_type,
+                        privacy      => $privacy,
+                        id           => $search_id,
+                        description  => $desc,
+                        pane         => $pane,
+                    };
+                }
+                elsif ($portlet_type eq 'component') {
+                    push @portlets, {
+                        portlet_type => $portlet_type,
+                        component    => $item,
+                        path         => "/Elements/$item",
+                        description  => $item,
+                        pane         => $pane,
+                    };
+                }
+            }
+
+            # we want to keep all the other panes the same
+            my $panes = $Dashboard->panes;
+            $panes->{$pane} = \@portlets;
+
+            my ($ok, $msg) = $Dashboard->update(panes => $panes);
+
+            if ($ok) {
+                push @results, _("Dashboard updated");
+            }
+            else {
+                push @results, _("Dashboard could not be updated: %1", $msg);
+            }
+        },
+    );
 
-        my ($ok, $msg) = $Dashboard->update(searches => $searches);
+    push @panes, $sel;
+}
 
-        if ($ok) {
-            push @results, _("Dashboard updated");
-        }
-        else {
-            push @results, _("Dashboard could not be updated: %1", $msg);
-        }
-    },
-);
-$m->comp('/Widgets/SelectionBox:process', %ARGS, self => $sel, nojs => 1);
+$m->comp('/Widgets/SelectionBox:process', %ARGS, self => $_, nojs => 1)
+    for @panes;
+
+my @hidden_searches = $Dashboard->possible_hidden_searches;
 
 </%INIT>
 <%ARGS>

Modified: rt/3.999/branches/lorzy/share/html/Dashboards/Render.html
==============================================================================
--- rt/3.999/branches/lorzy/share/html/Dashboards/Render.html	(original)
+++ rt/3.999/branches/lorzy/share/html/Dashboards/Render.html	Wed Feb  4 05:12:23 2009
@@ -51,7 +51,7 @@
 <& /Dashboards/Elements/Tabs,
     current_subtab => $current_subtab,
     title => $title,
-    dashboard_obj => $DashboardObj &>
+    dashboard_obj => $dashboard_obj &>
 % }
 
 <table class="dashboard">
@@ -79,8 +79,8 @@
 my $current_subtab = 'Dashboards/Render.html?id=' . $id;
 
 use RT::Dashboard;
-my $DashboardObj = RT::Dashboard->new( current_user => Jifty->web->current_user );
-my ($ok, $msg) = $DashboardObj->load_by_id($id);
+my $dashboard_obj = RT::Dashboard->new( current_user => Jifty->web->current_user );
+my ($ok, $msg) = $dashboard_obj->load_by_id($id);
 abort(_("Couldn't load dashboard %1: %2", $id, $msg)) if !$ok;
 
 my $SubscriptionObj = RT::Model::Attribute->new( current_user => Jifty->web->current_user );
@@ -106,7 +106,7 @@
     $m->comp($component,
         portlet   => $portlet,
         rows      => $rows,
-        preview   => $Preview,
+        preview   => $preview,
         dashboard => $dashboard_obj,
     );
 };

Modified: rt/3.999/branches/lorzy/share/html/Dashboards/Subscription.html
==============================================================================
--- rt/3.999/branches/lorzy/share/html/Dashboards/Subscription.html	(original)
+++ rt/3.999/branches/lorzy/share/html/Dashboards/Subscription.html	Wed Feb  4 05:12:23 2009
@@ -49,7 +49,7 @@
 <& /Dashboards/Elements/Tabs,
     current_subtab => $current_subtab,
     title => $title,
-    dashboard_obj => $DashboardObj &>
+    dashboard_obj => $dashboard_obj &>
 
 <& /Elements/ListActions, actions => \@results &>
 
@@ -65,20 +65,20 @@
 <tr><td class="label">
 <&|/l&>Dashboard</&>:
 </td><td class="value">
-<% $DashboardObj->name %>
+<% $dashboard_obj->name %>
 </td></tr>
 
 <tr><td class="label">
 <&|/l&>Queries</&>:
 </td><td class="value">
-% my @portlets = grep { defined } $dashboard_obj->Portlets;
+% my @portlets = grep { defined } $dashboard_obj->portlets;
 % if (!@portlets) {
 (<&|/l&>none</&>)
 % } else {
 <ol class="dashboard-queries">
 %    for my $portlet (@portlets) {
         <li class="dashboard-query">
-            <% _($portlet->{description}, $fields{'Rows'}) %>
+            <% _($portlet->{description}, $fields{'rows'}) %>
         </li>
 %    }
 </ol>
@@ -187,7 +187,7 @@
 my $timezone = Jifty->web->current_user->user_object->timezone || RT->config->get('Timezone');
 
 use RT::Dashboard;
-my $DashboardObj = RT::Dashboard->new( current_user => Jifty->web->current_user );
+my $dashboard_obj = RT::Dashboard->new( current_user => Jifty->web->current_user );
 
 my $SubscriptionObj = RT::Model::Attribute->new( current_user => Jifty->web->current_user );
 
@@ -202,7 +202,7 @@
              ? $SubscriptionObj->sub_value('dashboard_id')
              : $ARGS{'dashboard_id'};
 
-($val, $msg) = $DashboardObj->load_by_id($dashboard_id);
+($val, $msg) = $dashboard_obj->load_by_id($dashboard_id);
 $val || abort(_("Couldn't load dashboard %1: %2.", $dashboard_id, $msg));
 
 my %fields = (
@@ -248,7 +248,7 @@
     # create
     else {
         abort(_("Unable to subscribe to dashboard %1: Permission denied", $dashboard_id))
-            unless $DashboardObj->current_user_can_subscribe;
+            unless $dashboard_obj->current_user_can_subscribe;
 
         my ($val, $msg) = $SubscriptionObj->create(
             name        => 'Subscription',
@@ -258,7 +258,7 @@
             content     => \%fields,
         );
         if ($val) {
-            push @results, _("Subscribed to dashboard %1", $DashboardObj->name);
+            push @results, _("Subscribed to dashboard %1", $dashboard_obj->name);
             push @results, _("Warning: you have no email address set, so you will not receive this dashboard until you have it set")
                 unless Jifty->web->current_user->email || $fields{recipient};
         }
@@ -269,10 +269,10 @@
 }
 
 if ($SubscriptionObj->id) {
-    $title = _("Modify the subscription to dashboard %1", $DashboardObj->name);
+    $title = _("Modify the subscription to dashboard %1", $dashboard_obj->name);
 }
 else {
-    $title = _("Subscribe to dashboard %1", $DashboardObj->name);
+    $title = _("Subscribe to dashboard %1", $dashboard_obj->name);
 }
 
 </%INIT>

Modified: rt/3.999/branches/lorzy/share/html/Elements/Tabs
==============================================================================
--- rt/3.999/branches/lorzy/share/html/Elements/Tabs	(original)
+++ rt/3.999/branches/lorzy/share/html/Elements/Tabs	Wed Feb  4 05:12:23 2009
@@ -93,7 +93,7 @@
 		     };
 }
 
-if (Jifty->web->current_user->has_right( Right => 'ShowApprovalsTab',
+if (Jifty->web->current_user->has_right( right => 'ShowApprovalsTab',
                         object => RT->system )) {
     $basetabs->{p} = { title => _('Approval'),
                         path => 'Approvals/'

Modified: rt/3.999/branches/lorzy/share/html/Install/index.html
==============================================================================
--- rt/3.999/branches/lorzy/share/html/Install/index.html	(original)
+++ rt/3.999/branches/lorzy/share/html/Install/index.html	Wed Feb  4 05:12:23 2009
@@ -85,7 +85,6 @@
 <& Elements/Form, fields => 'start', 
     next => '/Install/DatabaseType.html',
     next_label => _("Let's go") &>
-% }
 </&>
 <%init>
 my @errors;

Modified: rt/3.999/branches/lorzy/share/html/Ticket/ModifyPeople.html
==============================================================================
--- rt/3.999/branches/lorzy/share/html/Ticket/ModifyPeople.html	(original)
+++ rt/3.999/branches/lorzy/share/html/Ticket/ModifyPeople.html	Wed Feb  4 05:12:23 2009
@@ -77,7 +77,6 @@
     push @results, process_ticket_watchers( ticket_obj => $Ticket, args_ref => \%ARGS);
 }
 
-push @results, @wresults;
 </%INIT>
 
 

Modified: rt/3.999/branches/lorzy/share/po/zh_cn.po
==============================================================================
--- rt/3.999/branches/lorzy/share/po/zh_cn.po	(original)
+++ rt/3.999/branches/lorzy/share/po/zh_cn.po	Wed Feb  4 05:12:23 2009
@@ -7438,7 +7438,7 @@
 msgstr "批次更动时"
 
 #: NOT FOUND IN SOURCE
-msgid "TransactionCreate"
+msgid "transaction_create"
 msgstr "新增更动时"
 
 #: lib/RT/Transaction_Overlay.pm:870

Modified: rt/3.999/branches/lorzy/share/po/zh_tw.po
==============================================================================
--- rt/3.999/branches/lorzy/share/po/zh_tw.po	(original)
+++ rt/3.999/branches/lorzy/share/po/zh_tw.po	Wed Feb  4 05:12:23 2009
@@ -7438,7 +7438,7 @@
 msgstr "批次更動時"
 
 #: NOT FOUND IN SOURCE
-msgid "TransactionCreate"
+msgid "transaction_create"
 msgstr "新增更動時"
 
 #: lib/RT/Transaction_Overlay.pm:870

Modified: rt/3.999/branches/lorzy/t/api/scrip_order.t
==============================================================================
--- rt/3.999/branches/lorzy/t/api/scrip_order.t	(original)
+++ rt/3.999/branches/lorzy/t/api/scrip_order.t	Wed Feb  4 05:12:23 2009
@@ -23,7 +23,7 @@
     custom_prepare_code => 'Jifty->log->debug("Setting priority to 10..."); return 1;',
     custom_commit_code => '$self->ticket_obj->set_priority(10);',
     template => 'Blank',
-    stage => 'TransactionCreate',
+    stage => 'transaction_create',
 );
 ok($id, "Created priority-10 scrip? ".$msg);
 
@@ -36,7 +36,7 @@
     custom_prepare_code => 'Jifty->log->debug("Setting priority to 5..."); return 1;',
     custom_commit_code => '$self->ticket_obj->set_priority(5);', 
     template => 'Blank',
-    stage => 'TransactionCreate',
+    stage => 'transaction_create',
 );
 ok($id, "Created priority-5 scrip? ".$msg);
 

Modified: rt/3.999/branches/lorzy/t/api/ticket.t
==============================================================================
--- rt/3.999/branches/lorzy/t/api/ticket.t	(original)
+++ rt/3.999/branches/lorzy/t/api/ticket.t	Wed Feb  4 05:12:23 2009
@@ -209,10 +209,9 @@
 $txns->limit(column => 'type', operator => '!=',  value => 'email_record');
 
 my $give  = $txns->first;
-is($give->type, 'Give');
+is($give->type, 'give');
 
-
-is($give-> new_value , $root->id , "Stolen from root");
+is($give->new_value , $root->id , "Stolen from root");
 is($give->old_value , RT->system_user->id , "Stolen by the systemuser");
 
 

Modified: rt/3.999/branches/lorzy/t/i18n/default.t
==============================================================================
--- rt/3.999/branches/lorzy/t/i18n/default.t	(original)
+++ rt/3.999/branches/lorzy/t/i18n/default.t	Wed Feb  4 05:12:23 2009
@@ -7,14 +7,14 @@
 
 my ($baseurl, $m) = RT::Test->started_ok;
 $m->get_ok('/');
-$m->title_is('Login');
+$m->title_is('Login!');
 
 $m->get_ok('/', { 'Accept-Language' => 'x-klingon' });
-$m->title_is('Login', 'unavailable language fallback to en');
+$m->title_is('Login!', 'unavailable language fallback to en');
 
 $m->add_header('Accept-Language' => 'zh-tw,zh;q=0.8,en-gb;q=0.5,en;q=0.3');
 $m->get_ok('/');
 use utf8;
 Encode::_utf8_on($m->{content});
-$m->title_is('登入', 'Page title properly translated to chinese');
+$m->title_is('登入!', 'Page title properly translated to chinese');
 $m->content_contains('密碼','Password properly translated');

Modified: rt/3.999/branches/lorzy/t/ticket/linking.t
==============================================================================
--- rt/3.999/branches/lorzy/t/ticket/linking.t	(original)
+++ rt/3.999/branches/lorzy/t/ticket/linking.t	Wed Feb  4 05:12:23 2009
@@ -76,7 +76,7 @@
                           scrip_condition => $condition->id,
                           scrip_action    => $action->id,
                           template       => $template->id,
-                          stage          => 'TransactionCreate',
+                          stage          => 'transaction_create',
                           queue          => 0,
                   custom_is_applicable_code => '$self->transaction_obj->type =~ /(add|delete)_link/;',
                        custom_prepare_code => '1;',

Modified: rt/3.999/branches/lorzy/t/web/command_line.t
==============================================================================
--- rt/3.999/branches/lorzy/t/web/command_line.t	(original)
+++ rt/3.999/branches/lorzy/t/web/command_line.t	Wed Feb  4 05:12:23 2009
@@ -76,12 +76,12 @@
 expect_handle->before() =~ /Queue (\d+) created/;
 my $queue_id = $1;
 ok($queue_id, "Got queue id=$queue_id");
-# updating users
-expect_send("edit queue/$queue_id set name='EditedQueue$$'", 'Editing the queue');
+# updating users, with old arg format "Name"
+expect_send("edit queue/$queue_id set Name='EditedQueue$$'", 'Editing the queue');
 expect_like(qr/Queue $queue_id updated/, 'Edited the queue');
 expect_send("show queue/$queue_id", 'Showing the queue...');
 expect_like(qr/id: queue\/$queue_id/, 'Saw the queue');
-expect_like(qr/name: EditedQueue$$/, 'Saw the modification');
+expect_like(qr/Name: EditedQueue$$/, 'Saw the modification');
 TODO: { 
     todo_skip "Listing non-ticket items doesn't work", 2;
     expect_send("list -t queue 'id > 0'", 'Listing the queues...');
@@ -123,32 +123,32 @@
 expect_send("edit ticket/$ticket_id set owner=root", 'Changing owner...');
 expect_like(qr/Ticket $ticket_id updated/, 'Changed owner');
 expect_send("show ticket/$ticket_id -f owner", 'Verifying change...');
-expect_like(qr/owner: root/, 'Verified change');
+expect_like(qr/Owner: root/, 'Verified change');
 # change a ticket's Requestor
 expect_send("edit ticket/$ticket_id set requestors=foo\@example.com", 'Changing Requestor...');
 expect_like(qr/Ticket $ticket_id updated/, 'Changed Requestor');
 expect_send("show ticket/$ticket_id -f requestors", 'Verifying change...');
-expect_like(qr/requestors: foo\@example.com/, 'Verified change');
+expect_like(qr/Requestors: foo\@example.com/, 'Verified change');
 # change a ticket's Cc
 expect_send("edit ticket/$ticket_id set cc=bar\@example.com", 'Changing Cc...');
 expect_like(qr/Ticket $ticket_id updated/, 'Changed Cc');
 expect_send("show ticket/$ticket_id -f cc", 'Verifying change...');
-expect_like(qr/cc: bar\@example.com/, 'Verified change');
+expect_like(qr/Cc: bar\@example.com/, 'Verified change');
 # change a ticket's priority
 expect_send("edit ticket/$ticket_id set priority=10", 'Changing priority...');
 expect_like(qr/Ticket $ticket_id updated/, 'Changed priority');
 expect_send("show ticket/$ticket_id -f priority", 'Verifying change...');
-expect_like(qr/priority: 10/, 'Verified change');
+expect_like(qr/Priority: 10/, 'Verified change');
 # move a ticket to a different queue
 expect_send("edit ticket/$ticket_id set queue=EditedQueue$$", 'Changing queue...');
 expect_like(qr/Ticket $ticket_id updated/, 'Changed queue');
 expect_send("show ticket/$ticket_id -f queue", 'Verifying change...');
-expect_like(qr/queue: EditedQueue$$/, 'Verified change');
+expect_like(qr/Queue: EditedQueue$$/, 'Verified change');
 # cannot move ticket to a nonexistent queue
 expect_send("edit ticket/$ticket_id set queue=nonexistent-$$", 'Changing to nonexistent queue...');
 expect_like(qr/queue does not exist/i, 'Errored out');
 expect_send("show ticket/$ticket_id -f queue", 'Verifying lack of change...');
-expect_like(qr/queue: EditedQueue$$/, 'Verified lack of change');
+expect_like(qr/Queue: EditedQueue$$/, 'Verified lack of change');
 
 # Test reading and setting custom fields without spaces
 expect_send("show ticket/$ticket_id -f CF-myCF$$", 'Checking initial value');
@@ -202,17 +202,17 @@
 expect_send("edit ticket/$ticket_id set status=stalled", 'Changing status to "stalled"...');
 expect_like(qr/Ticket $ticket_id updated/, 'Changed status');
 expect_send("show ticket/$ticket_id -f status", 'Verifying change...');
-expect_like(qr/status: stalled/, 'Verified change');
+expect_like(qr/Status: stalled/, 'Verified change');
 # resolve a ticket
 expect_send("edit ticket/$ticket_id set status=resolved", 'Changing status to "resolved"...');
 expect_like(qr/Ticket $ticket_id updated/, 'Changed status');
 expect_send("show ticket/$ticket_id -f status", 'Verifying change...');
-expect_like(qr/status: resolved/, 'Verified change');
+expect_like(qr/Status: resolved/, 'Verified change');
 # try to set status to an invalid value
 expect_send("edit ticket/$ticket_id set status=quux", 'Changing status to an invalid value...');
 expect_like(qr/invalid value/i, 'Errored out');
 expect_send("show ticket/$ticket_id -f status", 'Verifying lack of change...');
-expect_like(qr/status: resolved/, 'Verified change');
+expect_like(qr/Status: resolved/, 'Verified change');
 
 # }}}
 
@@ -246,7 +246,7 @@
 my $attachment_type = $2;
 ok($attachment_id, "Got attachment id=$attachment_id $attachment_type");
 expect_send("show -s ticket/$ticket_id/attachments/$attachment_id", "Showing attachment $attachment_id...");
-expect_like(qr/content_type: $attachment_type/, 'Got the attachment');
+expect_like(qr/ContentType: $attachment_type/, 'Got the attachment');
 
 # }}}
 
@@ -263,7 +263,7 @@
 expect_like(qr/User $user_id updated/, 'Edited the user');
 expect_send("show user/$user_id", 'Showing the user...');
 expect_like(qr/id: user\/$user_id/, 'Saw the user');
-expect_like(qr/name: EditedUser$$/, 'Saw the modification');
+expect_like(qr/Name: EditedUser$$/, 'Saw the modification');
 TODO: { 
     todo_skip "Listing non-ticket items doesn't work", 2;
     expect_send("list -t user 'id > 0'", 'Listing the users...');
@@ -287,7 +287,7 @@
 expect_like(qr/Group $group_id updated/, 'Edited the group');
 expect_send("show group/$group_id", 'Showing the group...');
 expect_like(qr/id: group\/$group_id/, 'Saw the group');
-expect_like(qr/name: EditedGroup$$/, 'Saw the modification');
+expect_like(qr/Name: EditedGroup$$/, 'Saw the modification');
 TODO: { 
     local $TODO = "Listing non-ticket items doesn't work";
     expect_send("list -t group 'id > 0'", 'Listing the groups...');
@@ -312,7 +312,7 @@
 expect_like(qr/Custom field $cf_id updated/, 'Edited the custom field');
 expect_send("show cf/$cf_id", 'Showing the queue...');
 expect_like(qr/id: custom_field\/$cf_id/, 'Saw the custom field');
-expect_like(qr/name: EditedCF$$/, 'Saw the modification');
+expect_like(qr/Name: EditedCF$$/, 'Saw the modification');
 TODO: { 
     todo_skip "Listing non-ticket items doesn't work", 2;
     expect_send("list -t custom_field 'id > 0'", 'Listing the CFs...');
@@ -399,13 +399,13 @@
     expect_send("take $steal_ticket_id", 'user tries to take the ticket...');
     expect_like(qr/You can only take tickets that are unowned/, '...and fails.');
     expect_send("show ticket/$steal_ticket_id -f owner", 'Double-checking...');
-    expect_like(qr/owner: root/, '...no change.');
+    expect_like(qr/Owner: root/, '...no change.');
 
     # user steals the ticket
     expect_send("steal $steal_ticket_id", 'user tries to *steal* the ticket...');
     expect_like(qr/Owner changed from root to fooser$$/, '...and succeeds!');
     expect_send("show ticket/$steal_ticket_id -f owner", 'Double-checking...');
-    expect_like(qr/owner: fooser$$/, '...yup, it worked.');
+    expect_like(qr/Owner: fooser$$/, '...yup, it worked.');
     expect_quit();
 
     # log back in as root

Modified: rt/3.999/branches/lorzy/t/web/custom_search.t
==============================================================================
--- rt/3.999/branches/lorzy/t/web/custom_search.t	(original)
+++ rt/3.999/branches/lorzy/t/web/custom_search.t	Wed Feb  4 05:12:23 2009
@@ -1,7 +1,7 @@
 #!/usr/bin/perl -w
 use strict;
 
-use RT::Test; use Test::More tests => 11;
+use RT::Test; use Test::More tests => 12;
 
 my ($baseurl, $m) = RT::Test->started_ok;
 my $url = $m->rt_base_url;
@@ -44,7 +44,7 @@
 $m->form_name('build_query');
 
 my $cdc = $m->current_form->find_input('current_display_columns');
-my ($requestor_value) = grep { /Requestor/ } $cdc->possible_values;
+my ($requestor_value) = grep { /requestor/ } $cdc->possible_values;
 ok($requestor_value, "got the requestor value");
 
 $m->field (current_display_columns => $requestor_value);

Modified: rt/3.999/branches/lorzy/t/web/dashboards.t
==============================================================================
--- rt/3.999/branches/lorzy/t/web/dashboards.t	(original)
+++ rt/3.999/branches/lorzy/t/web/dashboards.t	Wed Feb  4 05:12:23 2009
@@ -1,7 +1,7 @@
 #!/usr/bin/perl -w
 use strict;
 
-use Test::More tests => 110;
+use Test::More tests => 113;
 use RT::Test;
 use RT::Dashboard;
 my ($baseurl, $m) = RT::Test->started_ok;
@@ -106,8 +106,8 @@
 $m->follow_link_ok({text => "Queries"});
 
 $m->content_contains("Modify the queries of dashboard different dashboard");
-$m->form_name( 'dashboard-searches-body' );
-$m->field('searches-Available' => ["2-RT::System-1"]);
+$m->form_name( 'Dashboard-Searches-body' );
+$m->field('Searches-body-Available' => ["search-2-RT::System-1"]);
 $m->click_button(name => 'add');
 $m->content_contains("Dashboard updated");
 
@@ -124,8 +124,8 @@
 is(@searches, 1, "one saved search in the dashboard");
 like($searches[0]->name, qr/newest unowned tickets/, "correct search name");
 
-$m->form_name('dashboard-searches-body');
-$m->field('searches-body-available' => ["search-1-RT::System-1"]);
+$m->form_name('Dashboard-Searches-body');
+$m->field('Searches-body-Available' => ["search-1-RT::System-1"]);
 
 $m->click_button(name => 'add');
 $m->content_contains("Dashboard updated");
@@ -216,8 +216,8 @@
 # first create a personal saved search...
 $m->get_ok($url."Search/Build.html");
 $m->follow_link_ok({text => 'Advanced'});
-$m->form_with_fields('Query');
-$m->field(Query => "id > 0");
+$m->form_with_fields('query');
+$m->field(query => "id > 0");
 $m->submit;
 
 $m->form_with_fields('saved_search_description');
@@ -227,7 +227,7 @@
 # then the system-wide dashboard
 $m->get_ok($url."Dashboards/Modify.html?create=1");
 
-$m->form_name('ModifyDashboard');
+$m->form_name('modify_dashboard');
 $m->field("name" => 'system dashboard');
 $m->field("privacy" => 'RT::System-1');
 $m->content_lacks('Delete', "Delete button hidden because we are creating");
@@ -237,8 +237,8 @@
 
 $m->follow_link_ok({text => 'Queries'});
 
-$m->form_name('dashboard-searches-body');
-$m->field('searches-body-available' => ['search-7-RT::Model::User-22']); # XXX: :( :(
+$m->form_name('Dashboard-Searches-body');
+$m->field('Searches-body-Available' => ['search-7-RT::Model::User-22']); # XXX: :( :(
 $m->click_button(name => 'add');
 $m->content_contains("Dashboard updated");
 

Modified: rt/3.999/branches/lorzy/t/web/rest.t
==============================================================================
--- rt/3.999/branches/lorzy/t/web/rest.t	(original)
+++ rt/3.999/branches/lorzy/t/web/rest.t	Wed Feb  4 05:12:23 2009
@@ -35,7 +35,7 @@
 
 $text = join "\n", @lines;
 
-ok($text =~ s/subject:\s*$/subject: REST interface/m, "successfully replaced subject");
+ok($text =~ s/Subject:\s*$/Subject: REST interface/m, "successfully replaced subject");
 
 $m->post("$baseurl/REST/1.0/ticket/edit", [
     user    => 'root',
@@ -63,10 +63,10 @@
 # the fields are interpreted server-side a hash (why?), so we can't depend
 # on order
 for ("id: ticket/1",
-     "subject: REST interface",
+     "Subject: REST interface",
      "CF.{fu()n:k/}: maximum",
      "CF.{severity}: explosive",
-     "status: new") {
+     "Status: new") {
         $m->content_contains($_);
 }
 

Modified: rt/3.999/branches/lorzy/t/web/ticket-create-utf8.t
==============================================================================
--- rt/3.999/branches/lorzy/t/web/ticket-create-utf8.t	(original)
+++ rt/3.999/branches/lorzy/t/web/ticket-create-utf8.t	Wed Feb  4 05:12:23 2009
@@ -40,8 +40,8 @@
 {
     ok $m->goto_create_ticket( $q ), "go to create ticket";
     $m->form_number(3);
-    $m->field( Subject => $ru_test );
-    $m->field( Content => $ru_support );
+    $m->field( subject => $ru_test );
+    $m->field( content => $ru_support );
     $m->submit;
 
     $m->content_like( 


More information about the Rt-commit mailing list