[Rt-commit] rt branch, 4.4/squelching-all, updated. rt-4.2.5-196-gd5700e7

Wallace Reis wreis at bestpractical.com
Wed Aug 13 12:52:23 EDT 2014


The branch, 4.4/squelching-all has been updated
       via  d5700e754f9281db3942e69cee6cbfe3a8a69cde (commit)
       via  6cae380e1a530293fbe838eaa93cc388ed904ab3 (commit)
      from  4f875d712bfeea4a9a97de911228ad35085d76ff (commit)

Summary of changes:
 share/html/Helpers/PreviewScrips            |  6 ++----
 share/html/Helpers/ShowSimplifiedRecipients |  6 ++----
 share/html/Ticket/Update.html               | 19 ++++++++++++++++---
 share/static/js/util.js                     |  2 +-
 4 files changed, 21 insertions(+), 12 deletions(-)

- Log -----------------------------------------------------------------
commit 6cae380e1a530293fbe838eaa93cc388ed904ab3
Author: Wallace Reis <wreis at bestpractical.com>
Date:   Wed Aug 13 08:12:40 2014 -0300

    Ticket update recipient checkboxes
    
    Fix checkboxes sync state when adding one-time Cc.

diff --git a/share/html/Helpers/PreviewScrips b/share/html/Helpers/PreviewScrips
index 668efcb..9d4ae0b 100644
--- a/share/html/Helpers/PreviewScrips
+++ b/share/html/Helpers/PreviewScrips
@@ -77,10 +77,8 @@ $m->abort unless @dryrun;
 
 my %squelched = ProcessTransactionSquelching( \%ARGS );
 my $squelched_config = !( RT->Config->Get('SquelchedRecipients', $session{'CurrentUser'}) );
-my $all_checkbox = $squelched_config ? 'checked="checked"' : "";
 if ($ARGS{TxnRecipients}) {
     $squelched_config = undef;
-    $all_checkbox = scalar(grep {$_} values %squelched) ? "" : 'checked="checked"';
 }
 </%init>
 <p>
@@ -96,7 +94,7 @@ if ($ARGS{TxnRecipients}) {
 %          my $action = $s->ActionObj->Action;
 %          scalar(map { $action->$_ } qw(To Cc Bcc))
 %        } @scrips ) {
-<input type="checkbox" class="checkbox" name="TxnSendMailToAll" value="1" <% $all_checkbox | n %> onclick="setCheckbox(this,'TxnSendMailTo')">
+<input type="checkbox" class="checkbox" name="TxnSendMailToAll" value="1" onclick="setCheckbox(this,'TxnSendMailTo')">
 <label for="TxnSendMailToAll"><b><% loc('All recipients') %></b></label><br />
 %   }
 %     for my $scrip (@scrips) {
diff --git a/share/html/Helpers/ShowSimplifiedRecipients b/share/html/Helpers/ShowSimplifiedRecipients
index 8f695eb..cd005e3 100644
--- a/share/html/Helpers/ShowSimplifiedRecipients
+++ b/share/html/Helpers/ShowSimplifiedRecipients
@@ -95,10 +95,8 @@ if (@scrips) {
 my %recips;
 my %squelched = ProcessTransactionSquelching( \%ARGS );
 my $squelched_config = !( RT->Config->Get('SquelchedRecipients', $session{'CurrentUser'}) );
-my $all_checkbox = $squelched_config ? 'checked="checked"' : "";
 if ($ARGS{TxnRecipients}) {
     $squelched_config = undef;
-    $all_checkbox = scalar(grep {$_} values %squelched) ? "" : 'checked="checked"';
 }
 </%init>
 <table>
@@ -106,7 +104,7 @@ if ($ARGS{TxnRecipients}) {
 <tr>
 <td> </td>
 <td>
-<input type="checkbox" class="checkbox" name="TxnSendMailToAll" value="1" <% $all_checkbox | n %> onclick="setCheckbox(this,'TxnSendMailTo')">
+<input type="checkbox" class="checkbox" name="TxnSendMailToAll" value="1" onclick="setCheckbox(this,'TxnSendMailTo')">
 <label for="TxnSendMailToAll"><b><% loc('All recipients') %></b></label>
 </td>
 </tr>
diff --git a/share/html/Ticket/Update.html b/share/html/Ticket/Update.html
index 039efec..b03bc41 100644
--- a/share/html/Ticket/Update.html
+++ b/share/html/Ticket/Update.html
@@ -220,11 +220,19 @@ jQuery( function() {
        };
        jQuery('#recipients div.titlebox-content').load( '<% RT->Config->Get('WebPath')%>/Helpers/ShowSimplifiedRecipients',
            jQuery('form[name=TicketUpdate]').serialize(),
-           function() { jQuery("#recipients input[name=TxnSendMailTo]").change( syncCheckboxes ); }
+           function() {
+               var txn_send_field = jQuery("#recipients input[name=TxnSendMailTo]");
+               txn_send_field.change( syncCheckboxes );
+               setCheckbox(txn_send_field);
+           }
        );
        jQuery('#previewscrips div.titlebox-content').load( '<% RT->Config->Get('WebPath')%>/Helpers/PreviewScrips',
            jQuery('form[name=TicketUpdate]').serialize(),
-           function() { jQuery("#previewscrips input[name=TxnSendMailTo]").change( syncCheckboxes ); }
+           function() {
+               var txn_send_field = jQuery("#previewscrips input[name=TxnSendMailTo]");
+               txn_send_field.change( syncCheckboxes );
+               setCheckbox(txn_send_field);
+           }
        );
    };
    updateScrips();
diff --git a/share/static/js/util.js b/share/static/js/util.js
index 8416853..8be6cae 100644
--- a/share/static/js/util.js
+++ b/share/static/js/util.js
@@ -91,7 +91,7 @@ function setCheckbox(input, name, val) {
 
     var is_set_event = false;
     if ( !name ) {
-        name = input.name;
+        name = input.name || input.attr('name');
         is_set_event = true;
     }
     else {

commit d5700e754f9281db3942e69cee6cbfe3a8a69cde
Author: Wallace Reis <wreis at bestpractical.com>
Date:   Wed Aug 13 13:44:42 2014 -0300

    Ticket update recipient checkboxes
    
    Move checkbox click event handler to recipient list load's callback.

diff --git a/share/html/Helpers/PreviewScrips b/share/html/Helpers/PreviewScrips
index 9d4ae0b..0845f43 100644
--- a/share/html/Helpers/PreviewScrips
+++ b/share/html/Helpers/PreviewScrips
@@ -94,7 +94,7 @@ if ($ARGS{TxnRecipients}) {
 %          my $action = $s->ActionObj->Action;
 %          scalar(map { $action->$_ } qw(To Cc Bcc))
 %        } @scrips ) {
-<input type="checkbox" class="checkbox" name="TxnSendMailToAll" value="1" onclick="setCheckbox(this,'TxnSendMailTo')">
+<input type="checkbox" class="checkbox" name="TxnSendMailToAll" value="1">
 <label for="TxnSendMailToAll"><b><% loc('All recipients') %></b></label><br />
 %   }
 %     for my $scrip (@scrips) {
@@ -118,7 +118,7 @@ if ($ARGS{TxnRecipients}) {
 %                 }
 
 %                 if ( $show_checkbox ) {
-                      <input type="checkbox" class="checkbox" name="TxnSendMailTo" <% $checked ? 'checked="checked"' : '' |n%> value="<%$addr->address%>" id="TxnSendMailTo-<% $addr->address %>-<% $recips{$addr->address} %>" onclick="setCheckbox(this)" />
+                      <input type="checkbox" class="checkbox" name="TxnSendMailTo" <% $checked ? 'checked="checked"' : '' |n%> value="<%$addr->address%>" id="TxnSendMailTo-<% $addr->address %>-<% $recips{$addr->address} %>" />
 %                 }
                   <label for="TxnSendMailTo-<% $addr->address %>-<% $recips{$addr->address} %>"><& /Elements/ShowUser, Address => $addr &></label>
 %                 $m->callback(CallbackName => 'AfterAddress', Ticket => $TicketObj, Address => $addr, Type => $type);
diff --git a/share/html/Helpers/ShowSimplifiedRecipients b/share/html/Helpers/ShowSimplifiedRecipients
index cd005e3..9a552b4 100644
--- a/share/html/Helpers/ShowSimplifiedRecipients
+++ b/share/html/Helpers/ShowSimplifiedRecipients
@@ -104,7 +104,7 @@ if ($ARGS{TxnRecipients}) {
 <tr>
 <td> </td>
 <td>
-<input type="checkbox" class="checkbox" name="TxnSendMailToAll" value="1" onclick="setCheckbox(this,'TxnSendMailTo')">
+<input type="checkbox" class="checkbox" name="TxnSendMailToAll" value="1">
 <label for="TxnSendMailToAll"><b><% loc('All recipients') %></b></label>
 </td>
 </tr>
@@ -118,7 +118,7 @@ if ($ARGS{TxnRecipients}) {
 %         my $checked = $squelched_config // not $squelched{$addr->address};
 %         $m->callback(CallbackName => 'BeforeAddress', Ticket => $TicketObj, Address => $addr, Type => $type, Checked => \$checked);
 %         $recips{$addr->address}++;
-<input type="checkbox" class="checkbox" name="TxnSendMailTo" <% $checked ? 'checked="checked"' : '' |n%> value="<%$addr->address%>" id="TxnSendMailTo-<% $addr->address %>-<% $recips{$addr->address} %>" onclick="setCheckbox(this)" />
+<input type="checkbox" class="checkbox" name="TxnSendMailTo" <% $checked ? 'checked="checked"' : '' |n%> value="<%$addr->address%>" id="TxnSendMailTo-<% $addr->address %>-<% $recips{$addr->address} %>" />
 <label for="TxnSendMailTo-<% $addr->address %>-<% $recips{$addr->address} %>"><& /Elements/ShowUser, Address => $addr &></label>
 %         $m->callback(CallbackName => 'AfterAddress', Ticket => $TicketObj, Address => $addr, Type => $type);
 <br />
diff --git a/share/html/Ticket/Update.html b/share/html/Ticket/Update.html
index b03bc41..3baaa5f 100644
--- a/share/html/Ticket/Update.html
+++ b/share/html/Ticket/Update.html
@@ -216,13 +216,16 @@ jQuery( function() {
    var updateScrips = function() {
        CKEDITOR.instances['UpdateContent'].updateElement();
        var syncCheckboxes = function(ev) {
-           jQuery("input[name=TxnSendMailTo]").filter( function() { return this.value == ev.target.value; } ).prop("checked",jQuery(ev.target).prop('checked'));
+           var target = ev.target;
+           jQuery("input[name=TxnSendMailTo]").filter( function() { return this.value == target.value; } ).prop("checked",jQuery(target).prop('checked'));
        };
        jQuery('#recipients div.titlebox-content').load( '<% RT->Config->Get('WebPath')%>/Helpers/ShowSimplifiedRecipients',
            jQuery('form[name=TicketUpdate]').serialize(),
            function() {
                var txn_send_field = jQuery("#recipients input[name=TxnSendMailTo]");
                txn_send_field.change( syncCheckboxes );
+               txn_send_field.click( function () { setCheckbox(this) } );
+               jQuery("#recipients input[name=TxnSendMailToAll]").click( function() { setCheckbox(this, 'TxnSendMailTo'); } );
                setCheckbox(txn_send_field);
            }
        );
@@ -231,6 +234,8 @@ jQuery( function() {
            function() {
                var txn_send_field = jQuery("#previewscrips input[name=TxnSendMailTo]");
                txn_send_field.change( syncCheckboxes );
+               txn_send_field.click( function () { setCheckbox(this) } );
+               jQuery("#previewscrips input[name=TxnSendMailToAll]").click( function() { setCheckbox(this, 'TxnSendMailTo'); } );
                setCheckbox(txn_send_field);
            }
        );

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


More information about the rt-commit mailing list