[Rt-commit] rt branch, 3.8.7-releng, created. rt-3.8.6-114-g8f98d20

Kevin Falcone falcone at bestpractical.com
Wed Dec 2 08:41:28 EST 2009


The branch, 3.8.7-releng has been created
        at  8f98d20beba256bfc5dad54ed862d80fe847906f (commit)

- Log -----------------------------------------------------------------
commit 90fa1f465e557daea803d2a3f69d401fe9b2cf0f
Author: Kevin Falcone <falcone at bestpractical.com>
Date:   Fri Nov 20 13:36:58 2009 -0500

    Skip the richtext editor for android and iphone devices
    
    Although they're webkit > 422 (which is what FCKeditor checks for)
    the browser won't pop up the keyboard or react to input events,
    rendering the rich text editor useless for these mobile devices.
    
    Resolves 14070

diff --git a/share/html/Elements/HeaderJavascript b/share/html/Elements/HeaderJavascript
index be12d48..6ee88a1 100644
--- a/share/html/Elements/HeaderJavascript
+++ b/share/html/Elements/HeaderJavascript
@@ -69,7 +69,10 @@ $onload => undef
 
 % if ( RT->Config->Get('MessageBoxRichText',  $session{'CurrentUser'})) {
     function ReplaceAllTextareas() {
-        if (!FCKeditor_IsCompatibleBrowser())
+        var sAgent = navigator.userAgent.toLowerCase();
+        if (!FCKeditor_IsCompatibleBrowser() ||
+            sAgent.indexOf('iphone') != -1 ||
+            sAgent.indexOf('android') != -1 )
             return false;
 
         // replace all content and signature message boxes

commit c39ee41af11ee3a52a9bd998e6ab5c887edf1bd9
Author: Emmanuel Lacour <elacour at home-dn.net>
Date:   Sat Nov 21 00:12:22 2009 +0100

    Add ability to skip QuickCreate ticket creation in the Initial callback
    (consistent with Ticket/Create.html and SelfService/Create.html)

diff --git a/share/html/index.html b/share/html/index.html
index a554e9c..ad9964c 100755
--- a/share/html/index.html
+++ b/share/html/index.html
@@ -87,8 +87,10 @@ If you need commercial support, please contact us at sales at bestpractical.com.
 <%init>
 
 my @results;
+my $skip_create = 0;
 
-$m->callback( ARGSRef => \%ARGS, results => \@results, CallbackName => 'Initial' );
+$m->callback( ARGSRef => \%ARGS, results => \@results, CallbackName => 'Initial', 
+              skip_create => \$skip_create );
 
 if ( $ARGS{'QuickCreate'} ) {
     my $QueueObj = new RT::Queue($session{'CurrentUser'});
@@ -103,7 +105,7 @@ if ( $ARGS{'QuickCreate'} ) {
     );
 
 
-    if ( $ValidCFs ) {
+    if ( $ValidCFs && !$skip_create ) {
         my ($t, $msg) = CreateTicket( 
                         Queue => $ARGS{'Queue'},
                         Owner => $ARGS{'Owner'},
@@ -115,7 +117,7 @@ if ( $ARGS{'QuickCreate'} ) {
                         Subject => $ARGS{'Subject'});
         push @results, $msg;
     }
-    else {
+    elsif ( !$ValidCFs ) {
         push @results, "can't quickly create ticket in queue " .
             $QueueObj->Name . ' because some custom fields need to be set, please go to normal ticket creation page to do that.';
     }

commit 95182cbc4c5b469c176d83fe5e1489c42713b4dd
Author: Emmanuel Lacour <elacour at easter-eggs.com>
Date:   Tue Nov 24 15:30:50 2009 +0100

    Add doc about @Plugins configuration variable.

diff --git a/etc/RT_Config.pm.in b/etc/RT_Config.pm.in
index 8f06b93..5d28e71 100755
--- a/etc/RT_Config.pm.in
+++ b/etc/RT_Config.pm.in
@@ -1561,6 +1561,19 @@ Hide links/portlets related to Reminders by setting this to 0
 
 Set($EnableReminders,1);
 
+
+=item C<@Plugins>
+
+Set C<@Plugins> to a list of external RT plugins that should be enabled (those
+plugins have to be previously downloaded and installed).
+Example:
+
+C<Set(@Plugins, (qw(Extension::QuickDelete RT::FM)));>
+
+=cut
+
+Set(@Plugins, ());
+
 =back
 
 =head1 Development Configuration

commit 2a8c78902cf35b3b1d9377f54cbc9c8e1bf1c747
Author: Jesse Vincent <jesse at bestpractical.com>
Date:   Wed Nov 25 12:21:34 2009 -0500

    Danish translation fix from jonasbn. [fsck.com #14132]

diff --git a/lib/RT/I18N/da.po b/lib/RT/I18N/da.po
index aa698c8..582c7f5 100644
--- a/lib/RT/I18N/da.po
+++ b/lib/RT/I18N/da.po
@@ -617,7 +617,7 @@ msgstr "(kun én sag)"
 #: share/html/Elements/RT__Ticket/ColumnMap:121
 #. ($count)
 msgid "(pending %quant(%1,other ticket))"
-msgstr "afventer %antal(%1,anden sag)"
+msgstr "afventer %quant(%1,anden sag)"
 
 #: share/html/Elements/RT__Ticket/ColumnMap:113
 msgid "(pending approval)"

commit a639b1fe0fa90d3a56fa996e64d5364112faf43a
Author: Kevin Falcone <falcone at bestpractical.com>
Date:   Sun Nov 8 11:46:10 2009 -0500

    Add CustomFieldValuesAsString method
    
    If you are using a multiple value custom field, FirstCustomFieldValue
    doesn't help because you actually want all the values.  This is a simple
    wrapper function to save you writing the map.

diff --git a/lib/RT/Record.pm b/lib/RT/Record.pm
index 2a95b6a..b2e1e71 100755
--- a/lib/RT/Record.pm
+++ b/lib/RT/Record.pm
@@ -1829,6 +1829,28 @@ sub FirstCustomFieldValue {
     return $first->Content;
 }
 
+=head2 CustomFieldValuesAsString FIELD
+
+Return the content of the CustomField FIELD for this ticket.
+If this is a multi-value custom field, values will be joined with newlines.
+
+Takes a field id or name as the first argument
+
+Takes an optional Separator => "," second and third argument
+if you want to join the values using something other than a newline
+
+=cut
+
+sub CustomFieldValuesAsString {
+    my $self  = shift;
+    my $field = shift;
+    my %args  = @_;
+    my $separator = $args{Separator} || "\n";
+
+    my $values = $self->CustomFieldValues( $field );
+    return join ($separator, grep { defined $_ }
+                 map { $_->Content } @{$values->ItemsArrayRef});
+}
 
 
 # {{{ CustomFieldValues

commit 76ca332a4c928d90e708abe5103573aac91d859f
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Wed Nov 25 23:27:11 2009 +0300

    missing localization

diff --git a/share/html/Ticket/Elements/ShowTransaction b/share/html/Ticket/Elements/ShowTransaction
index 8a98d0a..a533323 100755
--- a/share/html/Ticket/Elements/ShowTransaction
+++ b/share/html/Ticket/Elements/ShowTransaction
@@ -142,7 +142,7 @@ unless ( $type_class ) {
 
 my $TicketString = '';
 if ( $Ticket->Id != $Transaction->Ticket ) {
-    $TicketString = "Ticket " . $Transaction->Ticket . ": ";
+    $TicketString = loc("Ticket #[_1]:", $Transaction->Ticket) .' ';
 }
 
 my $TimeTaken = '';

commit c8624f776f8e4ad66769def0d3aecccc60b6b53c
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Thu Nov 26 03:24:26 2009 +0300

    allow to change page title via callback on Create

diff --git a/share/html/Ticket/Create.html b/share/html/Ticket/Create.html
index 0f817ab..a6d59af 100755
--- a/share/html/Ticket/Create.html
+++ b/share/html/Ticket/Create.html
@@ -46,7 +46,7 @@
 %# 
 %# END BPS TAGGED BLOCK }}}
 <& /Elements/Header,
-    Title => loc("Create a new ticket"),
+    Title => $title,
     onload => "function () { hide(document.getElementById('Ticket-Create-details')) }" &>
 <& /Elements/Tabs, 
     current_toptab => "Ticket/Create.html", 
@@ -61,7 +61,7 @@
 % }
 <div id="Ticket-Create-basics">
 <a name="basics"></a>
-<&| /Widgets/TitleBox, title => loc("Create a new ticket") &>
+<&| /Widgets/TitleBox, title => $title &>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td class="label"><&|/l&>Queue</&>:</td>
 <td class="value"><& Elements/ShowQueue, QueueObj => $QueueObj &>
@@ -327,12 +327,14 @@ if ($CloneTicket) {
 
 }
 
-
 my @results;
+
+my $title = loc("Create a new ticket");
+
 my $QueueObj = new RT::Queue($session{'CurrentUser'});
 $QueueObj->Load($Queue) || Abort(loc("Queue could not be loaded."));
 
-$m->callback( QueueObj => $QueueObj, ARGSRef => \%ARGS );
+$m->callback( QueueObj => $QueueObj, title => \$title, results => \@results, ARGSRef => \%ARGS );
 
 $QueueObj->Disabled && Abort(loc("Cannot create tickets in a disabled queue."));
 

commit d735e4c348be32e67fc1a65b8b607cada5e206a6
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Thu Nov 26 03:34:26 2009 +0300

    another place where title is used on Create

diff --git a/share/html/Ticket/Create.html b/share/html/Ticket/Create.html
index a6d59af..824c569 100755
--- a/share/html/Ticket/Create.html
+++ b/share/html/Ticket/Create.html
@@ -50,7 +50,7 @@
     onload => "function () { hide(document.getElementById('Ticket-Create-details')) }" &>
 <& /Elements/Tabs, 
     current_toptab => "Ticket/Create.html", 
-    Title => loc("Create a new ticket"),
+    Title => $title,
     actions => $actions &>
 <& /Elements/ListActions, actions => \@results &>
 <form action="<% RT->Config->Get('WebPath') %>/Ticket/Create.html" method="post" enctype="multipart/form-data" name="TicketCreate">

commit c10d6c8609698d406a898765c653cdba1049a654
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Thu Nov 26 03:34:54 2009 +0300

    pass QueueObj into callback, we already loaded object

diff --git a/share/html/Ticket/Create.html b/share/html/Ticket/Create.html
index 824c569..28b6556 100755
--- a/share/html/Ticket/Create.html
+++ b/share/html/Ticket/Create.html
@@ -55,7 +55,7 @@
 <& /Elements/ListActions, actions => \@results &>
 <form action="<% RT->Config->Get('WebPath') %>/Ticket/Create.html" method="post" enctype="multipart/form-data" name="TicketCreate">
 <input type="hidden" class="hidden" name="id" value="new" />
-% $m->callback( CallbackName => 'FormStart', ARGSRef => \%ARGS );
+% $m->callback( CallbackName => 'FormStart', QueueObj => $QueueObj, ARGSRef => \%ARGS );
 % if ($gnupg_widget) {
 <& /Elements/GnuPG/SignEncryptWidget:ShowIssues, self => $gnupg_widget &>
 % }

commit 7b14bc55065d0968da727506ee20b7e90946755b
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Mon Nov 30 04:23:00 2009 +0300

    we shouldn't escape selected="selected"

diff --git a/share/html/Elements/SelectUsers b/share/html/Elements/SelectUsers
index e5581cb..b4a3aa0 100755
--- a/share/html/Elements/SelectUsers
+++ b/share/html/Elements/SelectUsers
@@ -47,11 +47,11 @@
 %# END BPS TAGGED BLOCK }}}
 <select name="UserField">
 % foreach my $col (RT::User->BasicColumns) {
-<option <% ($UserField eq $col->[0]) ? 'selected="selected"' : '' %> value="<% $col->[0] %>"><% loc($col->[1]) %></option>
+<option <% ($UserField eq $col->[0]) ? 'selected="selected"' : '' |n %> value="<% $col->[0] %>"><% loc($col->[1]) %></option>
 % }
 % while (my $CF = $CFs->Next) {
 %   my $val = "CustomField-" . $CF->Id;
-<option <% ($UserField eq $val) ? 'selected="selected"' : '' %> value="<% $val %>"><&|/l&>CustomField</&>: <% $CF->Name %></option>
+<option <% ($UserField eq $val) ? 'selected="selected"' : '' |n %> value="<% $val %>"><&|/l&>CustomField</&>: <% $CF->Name %></option>
 % }
 </select>
 <& /Elements/SelectMatch, Name => 'UserOp', Default => $UserOp &>

commit a9ebe0e31752ea25dbedd4db6fdee60323af3da1
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Mon Nov 30 04:23:55 2009 +0300

    add simple search on Admin/Queues page

diff --git a/share/html/Admin/Queues/index.html b/share/html/Admin/Queues/index.html
index 727849c..52e7b3b 100755
--- a/share/html/Admin/Queues/index.html
+++ b/share/html/Admin/Queues/index.html
@@ -64,25 +64,51 @@
     Format => $Format,
     Collection => $queues,
     AllowSorting => 1,
-    PassArguments => [qw(Format Rows Page Order OrderBy FindDisabledQueues)],
+    PassArguments => [qw(
+        Format Rows Page Order OrderBy
+        FindDisabledQueues QueueString QueueOp QueueField
+    )],
 &>
 % }
 <form method="post" action="<% RT->Config->Get('WebPath') %>/Admin/Queues/index.html">
+% foreach my $field( qw(Format Rows Page Order OrderBy) ) {
+%     next unless defined $ARGS{ $field } && length $ARGS{ $field };
+<input type="hidden" name="<% $field %>" value="<% $ARGS{ $field } %>" />
+% }
+
+<select name="QueueField">
+% foreach my $col (qw(Name Description CorrespondAddress CommentAddress InitialPriority FinalPriority DefaultDueIn)) {
+<option <% $QueueField eq $col ? 'selected="selected"' : '' |n %> value="<% $col %>"><% loc($col) %></option>
+% }
+</select>
+<& /Elements/SelectMatch, Name => 'QueueOp', Default => $QueueOp &>
+<input size="8" name="QueueString" value="<% $QueueString %>" />
+<br />
+
 <input type="checkbox" class="checkbox" name="FindDisabledQueues" value="1" <% $FindDisabledQueues? 'checked="checked"': '' |n%> />
 <&|/l&>Include disabled queues in listing.</&>
 <div align="right"><input type="submit" class="button" value="<&|/l&>Go!</&>" /></div> 
 </form>
 
 <%INIT>
-my ($queue, $caption);
 my $queues = new RT::Queues($session{'CurrentUser'});
-$queues->UnLimit();
+$queues->{'find_disabled_rows'} = 1 if $FindDisabledQueues;
 
-if ($FindDisabledQueues) {
-    $caption = loc("All Queues");
-    $queues->{'find_disabled_rows'} = 1;
+my ($caption);
+if ( defined $QueueString && length $QueueString ) {
+    $caption = $FindDisabledQueues
+        ? loc("All queues matching search criteria")
+        : loc("Enabled queues matching search criteria");
+    $queues->Limit(
+        FIELD    => $QueueField,
+        OPERATOR => $QueueOp,
+        VALUE    => $QueueString,
+    );
 } else {
-    $caption = loc("Enabled Queues");
+    $queues->UnLimit;
+    $caption = $FindDisabledQueues
+        ? loc("All Queues")
+        : loc("Enabled Queues");
 }
 
 $Format ||= q{'<a href="__WebPath__/Admin/Queues/Modify.html?id=__id__">__id__</a>/TITLE:#'}
@@ -93,4 +119,8 @@ $Format ||= q{'<a href="__WebPath__/Admin/Queues/Modify.html?id=__id__">__id__</
 <%ARGS>
 $FindDisabledQueues => 0
 $Format             => undef
+
+$QueueField         => 'Name'
+$QueueOp            => '='
+$QueueString        => ''
 </%ARGS>

commit 3f313cc9dc3ccab4aea54010cfc7187a2831d339
Author: Kevin Falcone <falcone at bestpractical.com>
Date:   Mon Nov 30 17:12:22 2009 -0500

    We should be using the same index on 4.0 and 4.1+
    Originally added in 5c5dec3a88eae44b227dff2dc87a54e5105ba233

diff --git a/etc/schema.mysql-4.1 b/etc/schema.mysql-4.1
index e0e655a..172e477 100755
--- a/etc/schema.mysql-4.1
+++ b/etc/schema.mysql-4.1
@@ -213,6 +213,7 @@ create table CachedGroupMembers (
 ) TYPE=InnoDB CHARACTER SET utf8;
 
 CREATE INDEX DisGrouMem  on CachedGroupMembers (GroupId,MemberId,Disabled);
+CREATE INDEX CachedGroupMembers3 on CachedGroupMembers (MemberId, ImmediateParentId);
 
 # }}}
 

commit f5a672a675c50acb4c20ec1bd6d64ad38fab54e8
Author: Shawn M Moore <sartak at bestpractical.com>
Date:   Mon Nov 30 18:20:27 2009 -0500

    Fix URL thanks to Jason A. Smith [rt3.fsck.com #14000]

diff --git a/share/html/Elements/Dashboards b/share/html/Elements/Dashboards
index cc3d0e4..3653aa5 100644
--- a/share/html/Elements/Dashboards
+++ b/share/html/Elements/Dashboards
@@ -51,7 +51,7 @@
     title_href => RT->Config->Get('WebPath').'/Dashboards/index.html',
     bodyclass => "",
     titleright => loc("Edit"),
-    titleright_href => RT->Config->Get('WebPath').'/Dashboards',
+    titleright_href => RT->Config->Get('WebPath').'/Dashboards/',
 &>
 
 <& /Dashboards/Elements/ShowDashboards:table,

commit c926910432266bf6735d6284ade51c298da68750
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Mon Nov 30 10:10:16 2009 +0300

    a callback in Elements/Logout

diff --git a/share/html/Elements/Logout b/share/html/Elements/Logout
index 31ee738..34ed1a3 100644
--- a/share/html/Elements/Logout
+++ b/share/html/Elements/Logout
@@ -45,10 +45,21 @@
 %# those contributions and any derivatives thereof.
 %# 
 %# END BPS TAGGED BLOCK }}}
-% unless (!$session{'CurrentUser'}->Name
-%         or (RT->Config->Get('WebExternalAuth') and !RT->Config->Get('WebFallbackToInternalAuth'))) {
-    | <a  href="<%RT->Config->Get('WebPath')%>/NoAuth/Logout.html<%$URL ? "?URL=".$URL : ''%>"><&|/l&>Logout</&></a>
-% }
+ | <a href="<% RT->Config->Get('WebPath') %>/NoAuth/Logout.html<% $URL ? "?URL=". $URL : '' %>"><&|/l&>Logout</&></a>
 <%ARGS>
 $URL => undef
 </%ARGS>
+<%INIT>
+my $show = 0;
+if ( $session{'CurrentUser'}->Name
+    && ( !RT->Config->Get('WebExternalAuth')
+        || RT->Config->Get('WebFallbackToInternalAuth')
+    )
+) {
+    $show = 1;
+}
+
+$m->callback( %ARGS, URL => \$URL, show => \$show );
+
+return unless $show;
+</%INIT>

commit eecd8d6967e2371fa9ac0ea4bb974a5bbd55c9ea
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Tue Dec 1 08:04:54 2009 +0300

    there is no div around rtname anymore

diff --git a/share/html/NoAuth/css/3.5-default/logo.css b/share/html/NoAuth/css/3.5-default/logo.css
index de2b978..206b437 100644
--- a/share/html/NoAuth/css/3.5-default/logo.css
+++ b/share/html/NoAuth/css/3.5-default/logo.css
@@ -53,7 +53,7 @@
 }
 
 #logo img { border: none; }
-#logo div.rtname {
+#logo .rtname {
     text-align: center;
     font-weight: bold;
 }

commit 9b53d9aee05d8c2750a59f88ec3ce8789903dc58
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date:   Tue Dec 1 08:06:25 2009 +0300

    $SendTo argument in SimpleSearch widget

diff --git a/share/html/Elements/SimpleSearch b/share/html/Elements/SimpleSearch
index f6f69d2..16b55fc 100755
--- a/share/html/Elements/SimpleSearch
+++ b/share/html/Elements/SimpleSearch
@@ -45,6 +45,9 @@
 %# those contributions and any derivatives thereof.
 %# 
 %# END BPS TAGGED BLOCK }}}
-<form action="<% RT->Config->Get('WebPath') %>/Search/Simple.html" id="simple-search">
+<form action="<% RT->Config->Get('WebPath') %><% $SendTo %>" id="simple-search">
   <input size="12" name="q" autocomplete="off" accesskey="0" class="field" value="<&|/l&>Search</&>..." onfocus="if (this.value=='<&|/l&>Search</&>...') this.value=''" />
 </form>
+<%ARGS>
+$SendTo => '/Search/Simple.html'
+</%ARGS>

commit 5f24c33d174b903726a5448ecd6b87b841a6bb46
Author: Emmanuel Lacour <elacour at easter-eggs.com>
Date:   Tue Dec 1 12:36:28 2009 +0100

    Code indent

diff --git a/etc/initialdata b/etc/initialdata
index ff7e7b9..89db2cc 100755
--- a/etc/initialdata
+++ b/etc/initialdata
@@ -587,18 +587,18 @@ Hour:         { $SubscriptionObj->SubValue('Hour') }
       Description => 'HomepageSettings',
       Content =>
       { 'body' => # loc
-	[ { type => 'system', name => 'My Tickets' },
-	  { type => 'system', name => 'Unowned Tickets' },
-	  { type => 'system', name => 'Bookmarked Tickets' },
-	  { type => 'component',  name => 'QuickCreate'},
-	],
+        [ { type => 'system', name => 'My Tickets' },
+          { type => 'system', name => 'Unowned Tickets' },
+          { type => 'system', name => 'Bookmarked Tickets' },
+          { type => 'component', name => 'QuickCreate' },
+        ],
         'summary' => # loc
-	[ 
-	  { type => 'component', name => 'MyReminders' },
+        [
+          { type => 'component', name => 'MyReminders' },
           { type => 'component', name => 'Quicksearch' },
-	  { type => 'component', name => 'Dashboards' },
-	  { type => 'component', name => 'RefreshHomepage' },
-	]
+          { type => 'component', name => 'Dashboards' },
+          { type => 'component', name => 'RefreshHomepage' },
+        ],
+      },
     },
-}
 );

commit e8319c5b728dceb934c05f6712cbb57752b550c7
Author: Kevin Falcone <falcone at bestpractical.com>
Date:   Tue Dec 1 11:17:08 2009 -0500

    Call the method on the object, not the username string
    
    Reported by Philip Shore

diff --git a/lib/RT/Interface/Web.pm b/lib/RT/Interface/Web.pm
index 5127f05..08d28ec 100755
--- a/lib/RT/Interface/Web.pm
+++ b/lib/RT/Interface/Web.pm
@@ -364,7 +364,7 @@ sub AttemptExternalAuth {
                 my $new_user_info = RT::Interface::Web::WebExternalAutoInfo($user);
 
                 # set the attributes that have been defined.
-                foreach my $attribute ( $user->WritableAttributes ) {
+                foreach my $attribute ( $UserObj->WritableAttributes ) {
                     $m->callback(
                         Attribute    => $attribute,
                         User         => $user,

commit f8f83e1b8c5352db00162407a1bdc1e16329cba0
Author: Alex Vandiver <alexmv at bestpractical.com>
Date:   Tue Dec 1 15:48:45 2009 -0500

    Remove a double negative to clarify logic slightly

diff --git a/lib/RT/Interface/Web.pm b/lib/RT/Interface/Web.pm
index 08d28ec..ddb3967 100755
--- a/lib/RT/Interface/Web.pm
+++ b/lib/RT/Interface/Web.pm
@@ -194,7 +194,7 @@ sub HandleRequest {
 
     MaybeShowNoAuthPage($ARGS);
 
-    AttemptExternalAuth($ARGS) unless ( ! RT->Config->Get('WebExternalAuthContinuous') && _UserLoggedIn() );
+    AttemptExternalAuth($ARGS) if RT->Config->Get('WebExternalAuthContinuous') or not _UserLoggedIn();
 
     _ForceLogout() unless _UserLoggedIn();
 

commit 23a86a4d9b5d3590d241beb20dd8624fe937f11c
Author: Kevin Falcone <falcone at bestpractical.com>
Date:   Tue Dec 1 15:51:24 2009 -0500

    When using WebExternalAuth don't issue a new session cookie on each request

diff --git a/lib/RT/Interface/Web.pm b/lib/RT/Interface/Web.pm
index ddb3967..b4279fb 100755
--- a/lib/RT/Interface/Web.pm
+++ b/lib/RT/Interface/Web.pm
@@ -344,7 +344,7 @@ sub AttemptExternalAuth {
             $user =~ s/^\Q$NodeName\E\\//i;
         }
 
-        InstantiateNewSession();
+        InstantiateNewSession() unless _UserLoggedIn;
         $HTML::Mason::Commands::session{'CurrentUser'} = RT::CurrentUser->new();
         $HTML::Mason::Commands::session{'CurrentUser'}->$load_method($user);
 

commit 8f98d20beba256bfc5dad54ed862d80fe847906f
Author: Kevin Falcone <falcone at bestpractical.com>
Date:   Tue Dec 1 18:22:27 2009 -0500

    We want to capture the results

diff --git a/share/html/Search/Bulk.html b/share/html/Search/Bulk.html
index 2034f40..fa20e33 100755
--- a/share/html/Search/Bulk.html
+++ b/share/html/Search/Bulk.html
@@ -328,7 +328,7 @@ unless ( $ARGS{'AddMoreAttach'} ) {
         $ARGS{'id'} = $Ticket->id;
         $queues{ $Ticket->QueueObj->Id }++;
 
-        my @updateresults, ProcessUpdateMessage(
+        my @updateresults = ProcessUpdateMessage(
                 TicketObj => $Ticket,
                 ARGSRef   => \%ARGS,
             );

-----------------------------------------------------------------------


More information about the Rt-commit mailing list