[Rt-commit] r18108 - in rt/3.999/branches/merge_to_3.8.2: etc lib lib/RT lib/RT/Approval lib/RT/Approval/Rule lib/RT/ScripAction t/approval t/web

clkao at bestpractical.com clkao at bestpractical.com
Fri Jan 30 07:12:58 EST 2009


Author: clkao
Date: Fri Jan 30 07:12:53 2009
New Revision: 18108

Modified:
   rt/3.999/branches/merge_to_3.8.2/etc/initialdata
   rt/3.999/branches/merge_to_3.8.2/lib/RT.pm
   rt/3.999/branches/merge_to_3.8.2/lib/RT/Approval/Rule.pm
   rt/3.999/branches/merge_to_3.8.2/lib/RT/Approval/Rule/Rejected.pm
   rt/3.999/branches/merge_to_3.8.2/lib/RT/Model/Template.pm
   rt/3.999/branches/merge_to_3.8.2/lib/RT/Model/TicketCollection.pm
   rt/3.999/branches/merge_to_3.8.2/lib/RT/Model/Transaction.pm
   rt/3.999/branches/merge_to_3.8.2/lib/RT/Rule.pm
   rt/3.999/branches/merge_to_3.8.2/lib/RT/ScripAction/AutoOpen.pm
   rt/3.999/branches/merge_to_3.8.2/lib/RT/Test.pm
   rt/3.999/branches/merge_to_3.8.2/t/approval/basic.t
   rt/3.999/branches/merge_to_3.8.2/t/web/dashboards.t

Log:
make the approval test mostly work.


Modified: rt/3.999/branches/merge_to_3.8.2/etc/initialdata
==============================================================================
--- rt/3.999/branches/merge_to_3.8.2/etc/initialdata	(original)
+++ rt/3.999/branches/merge_to_3.8.2/etc/initialdata	Fri Jan 30 07:12:53 2009
@@ -332,10 +332,10 @@
 
 Greetings,
 
-Your ticket has been approved by { eval { $Approval->owner_obj->name } }.
+Your ticket has been approved by { eval { $Approval->owner->name } }.
 Other approvals may be pending.
 
-Approver\'s notes: { $Notes }
+Approver\'s notes: { $notes }
 
 '
     },
@@ -348,10 +348,10 @@
 
 Greetings,
 
-Your ticket has been approved by { eval { $Approval->owner_obj->name } }.
+Your ticket has been approved by { eval { $Approval->owner->name } }.
 Its Owner may now start to act on it.
 
-Approver\'s notes: { $Notes }
+Approver\'s notes: { $notes }
 '
     },
     {  queue       => $approvals_id,
@@ -371,7 +371,7 @@
        name        => "Approval Ready for Owner",    # loc
        description =>
          "Notify Owner of their ticket has been approved and is ready to be acted on", # loc
-       content => 'Subject: Ticket Approved: {$ticket->Subject}
+       content => 'Subject: Ticket Approved: {$ticket->subject}
 
 Greetings,
 

Modified: rt/3.999/branches/merge_to_3.8.2/lib/RT.pm
==============================================================================
--- rt/3.999/branches/merge_to_3.8.2/lib/RT.pm	(original)
+++ rt/3.999/branches/merge_to_3.8.2/lib/RT.pm	Fri Jan 30 07:12:53 2009
@@ -148,6 +148,8 @@
 
     init_system_objects();
     init_plugins();
+    # enable approval subsystem
+    require RT::Approval;
 }
 
 # Signal handlers

Modified: rt/3.999/branches/merge_to_3.8.2/lib/RT/Approval/Rule.pm
==============================================================================
--- rt/3.999/branches/merge_to_3.8.2/lib/RT/Approval/Rule.pm	(original)
+++ rt/3.999/branches/merge_to_3.8.2/lib/RT/Approval/Rule.pm	Fri Jan 30 07:12:53 2009
@@ -62,7 +62,7 @@
 
 sub get_template {
     my ($self, $template_name, %args) = @_;
-    my $template = RT::Template->new( current_user => $self->CurrentUser);
+    my $template = RT::Model::Template->new( current_user => $self->current_user);
     $template->load($template_name) or return;
     my ($result, $msg) = $template->parse(%args);
 

Modified: rt/3.999/branches/merge_to_3.8.2/lib/RT/Approval/Rule/Rejected.pm
==============================================================================
--- rt/3.999/branches/merge_to_3.8.2/lib/RT/Approval/Rule/Rejected.pm	(original)
+++ rt/3.999/branches/merge_to_3.8.2/lib/RT/Approval/Rule/Rejected.pm	Fri Jan 30 07:12:53 2009
@@ -65,13 +65,13 @@
     my $self = shift;
     if ( my ($rejected) =
         $self->ticket_obj->all_depended_on_by( type => 'ticket' ) ) {
-        my $template = $self->GetTemplate('Approval Rejected',
+        my $template = $self->get_template('Approval Rejected',
                                           ticket_obj => $rejected,
                                           approval  => $self->ticket_obj,
                                           notes     => '');
 
-        $rejected->Correspond( mime_obj => $template->mime_obj );
-        $rejected->SetStatus(
+        $rejected->correspond( mime_obj => $template->mime_obj );
+        $rejected->set_status(
             status => 'rejected',
             force  => 1,
         );
@@ -79,7 +79,7 @@
     my $links = $self->ticket_obj->depended_on_by;
     foreach my $link ( @{ $links->items_array_ref } ) {
         my $obj = $link->base_obj;
-        if ( $obj->queue_obj->is_active_status( $obj->status ) ) {
+        if ( $obj->queue->is_active_status( $obj->status ) ) {
             if ( $obj->type eq 'approval' ) {
                 $obj->set_status(
                     status => 'deleted',
@@ -92,7 +92,7 @@
     $links = $self->ticket_obj->depends_on;
     foreach my $link ( @{ $links->items_array_ref } ) {
         my $obj = $link->target_obj;
-        if ( $obj->queue_obj->is_active_status( $obj->status ) ) {
+        if ( $obj->queue->is_active_status( $obj->status ) ) {
             $obj->set_status(
                 status => 'deleted',
                 force  => 1,

Modified: rt/3.999/branches/merge_to_3.8.2/lib/RT/Model/Template.pm
==============================================================================
--- rt/3.999/branches/merge_to_3.8.2/lib/RT/Model/Template.pm	(original)
+++ rt/3.999/branches/merge_to_3.8.2/lib/RT/Model/Template.pm	Fri Jan 30 07:12:53 2009
@@ -370,10 +370,6 @@
     $orig_entity->head->mime_attr( "Content-Type.charset" => 'utf-8' );
     $orig_entity->make_multipart( 'alternative', Force => 1 );
 
-    my $new_entity = $self->{mime_obj};
-    $new_entity->head->mime_attr( "Content-Type"         => 'text/plain' );
-    $new_entity->head->mime_attr( "Content-Type.charset" => 'utf-8' );
-
     require HTML::formatText;
     require HTML::TreeBuilder;
     $new_entity->bodyhandle(

Modified: rt/3.999/branches/merge_to_3.8.2/lib/RT/Model/TicketCollection.pm
==============================================================================
--- rt/3.999/branches/merge_to_3.8.2/lib/RT/Model/TicketCollection.pm	(original)
+++ rt/3.999/branches/merge_to_3.8.2/lib/RT/Model/TicketCollection.pm	Fri Jan 30 07:12:53 2009
@@ -2053,7 +2053,7 @@
 
     my $Ticket = $self->SUPER::next;
     return $Ticket unless $Ticket;
-    if ( $Ticket->__value('Status') eq 'deleted'
+    if ( $Ticket->__value('status') eq 'deleted'
         && !$self->{'allow_deleted_search'} )
     {
         return $self->next;

Modified: rt/3.999/branches/merge_to_3.8.2/lib/RT/Model/Transaction.pm
==============================================================================
--- rt/3.999/branches/merge_to_3.8.2/lib/RT/Model/Transaction.pm	(original)
+++ rt/3.999/branches/merge_to_3.8.2/lib/RT/Model/Transaction.pm	Fri Jan 30 07:12:53 2009
@@ -387,12 +387,11 @@
         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          => 'TransactionCreate',
             type           => $args{'type'},
             ticket_obj      => $ticket,
             transaction_obj => $self,
         );
-
         
         if ( $commit_scrips ) {
             Jifty->log->debug( 'About to commit scrips for transaction #' . $self->id );

Modified: rt/3.999/branches/merge_to_3.8.2/lib/RT/Rule.pm
==============================================================================
--- rt/3.999/branches/merge_to_3.8.2/lib/RT/Rule.pm	(original)
+++ rt/3.999/branches/merge_to_3.8.2/lib/RT/Rule.pm	Fri Jan 30 07:12:53 2009
@@ -49,14 +49,14 @@
 package RT::Rule;
 use strict;
 use warnings;
-use base 'RT::Action';
+use base 'RT::ScripAction';
 
 use constant _stage => 'TransactionCreate';
 use constant _queue => undef;
 
 sub prepare {
     my $self = shift;
-    return (0) if $self->_queue && $self->ticket_obj->queue_obj->name ne $self->_queue;
+    return (0) if $self->_queue && $self->ticket_obj->queue->name ne $self->_queue;
     return 1;
 }
 
@@ -73,21 +73,20 @@
 sub on_status_change {
     my ($self, $value) = @_;
 
-    $self->transaction_obj->type eq 'Status' and
-    $self->transaction_obj->field eq 'Status' and
+    $self->transaction_obj->type eq 'status' and
+    $self->transaction_obj->field eq 'status' and
     $self->transaction_obj->new_value eq $value
 }
 
 sub run_scrip_action {
     my ($self, $scrip_action, $template, %args) = @_;
-    my $ScripAction = RT::ScripAction->new( current_user => $self->current_user);
+    my $ScripAction = RT::Model::ScripAction->new( current_user => $self->current_user);
     $ScripAction->load($scrip_action) or die ;
-
     unless (ref($template)) {
         # XXX: load per-queue template
         #    $template->LoadQueueTemplate( Queue => ..., ) || $template->LoadGlobalTemplate(...)
 
-        my $t = RT::Template->new( current_user => $self->current_user);
+        my $t = RT::Model::Template->new( current_user => $self->current_user);
         $t->load($template) or die;
         $template = $t;
     }
@@ -99,7 +98,7 @@
 
     # XXX: fix template to allow additional arguments to be passed from here
     $action->{'template_obj'} = $template;
-    $action->{'scrip_obj'} = RT::Scrip->new( current_user => $self->current_user); # Stub. sendemail action really wants a scripobj available
+    $action->{'scrip_obj'} = RT::Model::Scrip->new( current_user => $self->current_user); # Stub. sendemail action really wants a scripobj available
     $action->prepare or return;
     $action->commit;
 

Modified: rt/3.999/branches/merge_to_3.8.2/lib/RT/ScripAction/AutoOpen.pm
==============================================================================
--- rt/3.999/branches/merge_to_3.8.2/lib/RT/ScripAction/AutoOpen.pm	(original)
+++ rt/3.999/branches/merge_to_3.8.2/lib/RT/ScripAction/AutoOpen.pm	Fri Jan 30 07:12:53 2009
@@ -88,7 +88,7 @@
     $self->ticket_obj->__set( column => 'status', value => 'open' );
     $self->ticket_obj->_new_transaction(
         type      => 'status',
-        field     => 'Status',
+        field     => 'status',
         old_value => $oldstatus,
         new_value => 'open',
         data      => 'Ticket auto-opened on incoming correspondence'

Modified: rt/3.999/branches/merge_to_3.8.2/lib/RT/Test.pm
==============================================================================
--- rt/3.999/branches/merge_to_3.8.2/lib/RT/Test.pm	(original)
+++ rt/3.999/branches/merge_to_3.8.2/lib/RT/Test.pm	Fri Jan 30 07:12:53 2009
@@ -111,6 +111,7 @@
 
     $self->_setup_config(@$args);
     RT::init_system_objects();
+    RT::init();
 }
 
 sub _setup_config {

Modified: rt/3.999/branches/merge_to_3.8.2/t/approval/basic.t
==============================================================================
--- rt/3.999/branches/merge_to_3.8.2/t/approval/basic.t	(original)
+++ rt/3.999/branches/merge_to_3.8.2/t/approval/basic.t	Fri Jan 30 07:12:53 2009
@@ -16,6 +16,7 @@
 
 RT->config->set( log_to_screen => 'debug' );
 RT->config->set( use_transaction_batch => 1 );
+RT->config->set( UseTansactionBatch => 1 );
 my ($baseurl, $m) = RT::Test->started_ok;
 
 my $q = RT::Model::Queue->new( current_user => RT->system_user );
@@ -39,7 +40,6 @@
 Queue: ___Approvals
 Type: approval
 Owner: CFO
-Requestors: {$Tickets{"TOP"}->role_group("requestor")->member_emails_as_string}
 Refers-To: TOP
 Subject: CFO Approval for PO: {$Tickets{"TOP"}->id} - {$Tickets{"TOP"}->subject}
 Due: {time + 86400}
@@ -52,7 +52,6 @@
 Queue: ___Approvals
 Type: approval
 Owner: CEO
-Requestors: {$Tickets{"TOP"}->role_group("requestor")->member_emails_as_string}
 Subject: PO approval request for {$Tickets{"TOP"}->subject}
 Refers-To: TOP
 Depends-On: for-CFO
@@ -90,7 +89,7 @@
 mail_ok {
     ($tid, $ttrans, $tmsg) =
         $t->create(subject => "PO for stationary",
-                   owner => "root", requestor => 'minion',
+                   owner => "root", requestor => $users{minion}->email,
                    queue => $q->id);
 } { from => qr/RT System/,
     to => 'cfo at company.com',

Modified: rt/3.999/branches/merge_to_3.8.2/t/web/dashboards.t
==============================================================================
--- rt/3.999/branches/merge_to_3.8.2/t/web/dashboards.t	(original)
+++ rt/3.999/branches/merge_to_3.8.2/t/web/dashboards.t	Fri Jan 30 07:12:53 2009
@@ -27,10 +27,10 @@
 my $queue = RT::Model::Queue->new(current_user => RT->system_user);
 $queue->create(name => 'SearchQueue'.$$);
 
-for my $user ($user_object, $onlooker) {
-    $user->principal_obj->grant_right(right => 'ModifySelf');
+for my $user ($user_obj, $onlooker) {
+    $user->principal->grant_right(right => 'ModifySelf');
     for my $right (qw/SeeQueue ShowTicket OwnTicket/) {
-        $user->principal_obj->grant_right(right => $right, object => $queue);
+        $user->principal->grant_right(right => $right, object => $queue);
     }
 }
 
@@ -57,7 +57,7 @@
 
 $m->warning_like(qr/Permission denied/, "got a permission denied warning");
 
-$user_object->principal_obj->grant_right(right => 'ModifyOwnDashboard', object => RT->system);
+$user_obj->principal->grant_right(right => 'ModifyOwnDashboard', object => RT->system);
 # Modify itself is no longer good enough, you need Create
 $m->get_ok($url."Dashboards/Modify.html?Create=1");
 $m->content_contains("Permission denied");
@@ -117,9 +117,6 @@
 $dashboard->load_by_id($id);
 is($dashboard->name, "different dashboard");
 
-is($dashboard->privacy, 'RT::Model::User-' . $user_object->id, "correct privacy");
-is($dashboard->possible_hidden_searches, 0, "all searches are visible");
-
 is($dashboard->privacy, 'RT::Model::User-' . $user_obj->id, "correct privacy");
 is($dashboard->possible_hidden_searches, 0, "all searches are visible");
 
@@ -213,7 +210,7 @@
 $m->content_contains("Failed to load dashboard $id");
 $m->warning_like(qr/Failed to load dashboard.*Couldn't find row/, "the dashboard was deleted");
 
-$user_object->principal_obj->grant_right(right => "SuperUser", object => RT->system);
+$user_obj->principal->grant_right(right => "SuperUser", object => RT->system);
 
 # now test that we warn about searches others can't see
 # first create a personal saved search...
@@ -252,7 +249,7 @@
 $m->content_contains("dashboard test", "matched ticket shows up");
 
 # make sure the onlooker can't see the search...
-$onlooker->principal_obj->grant_right(right => 'SeeDashboard', object => RT->system);
+$onlooker->principal->grant_right(right => 'SeeDashboard', object => RT->system);
 
 my $omech = RT::Test::Web->new;
 ok $omech->login(onlooker => 'onlooker'), "logged in";


More information about the Rt-commit mailing list