[Rt-commit] rt branch, 5.0/edit-people-inline-theme, created. rt-5.0.0alpha1-95-g2aedfd7638

? sunnavy sunnavy at bestpractical.com
Thu Apr 9 10:36:32 EDT 2020


The branch, 5.0/edit-people-inline-theme has been created
        at  2aedfd7638bc2c576a3a6cb342be2fa3568674c7 (commit)

- Log -----------------------------------------------------------------
commit 9867e327f844bc51e7fca2a2f2926817d9a8966e
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Thu Apr 9 22:14:58 2020 +0800

    Migrate EditPeopleInline to new elevator themes

diff --git a/share/html/Ticket/Elements/EditPeopleInline b/share/html/Ticket/Elements/EditPeopleInline
index 52983377a1..1866dbe816 100644
--- a/share/html/Ticket/Elements/EditPeopleInline
+++ b/share/html/Ticket/Elements/EditPeopleInline
@@ -45,46 +45,51 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<i><&|/l&>Current watchers</&>:</i>
-<table width="100%">
-<tr>
-  <td class="label"><&|/l&>Owner</&>:</td>
-  <td class="value"><& /Elements/SelectOwner, Name => 'Owner', QueueObj => $Ticket->QueueObj, TicketObj => $Ticket, Default => $Ticket->OwnerObj->Id, DefaultValue => 0&></td>
-</tr>
+<div class="form-row">
+  <div class="col-md-12">
+    <i><&|/l&>Current watchers</&>:</i>
+  </div>
+</div>
+
+<div class="form-row">
+  <div class="col-md-3 label"><&|/l&>Owner</&>:</div>
+  <div class="col-md-6 value"><& /Elements/SelectOwner, Name => 'Owner', QueueObj => $Ticket->QueueObj, TicketObj => $Ticket, Default => $Ticket->OwnerObj->Id, DefaultValue => 0&></div>
+</div>
 
 % my @role_fields;
 % my $single_roles = $Ticket->QueueObj->CustomRoles;
 % $single_roles->LimitToSingleValue;
 % while (my $role = $single_roles->Next) {
-<tr>
-  <td class="label"><% $role->Name %>:
+<div class="form-row">
+  <div class="col-md-3 label"><% $role->Name %>:
 % if ( my $hint = $role->EntryHint ) {
     <span class="far fa-question-circle icon-helper" data-toggle="tooltip" data-placement="top" data-original-title="<% $hint %>"></span>
 % }
-  <td class="value"><& /Elements/SingleUserRoleInput, role => $role, Ticket => $Ticket &></td>
-</tr>
+  </div>
+  <div class="col-md-6 value"><& /Elements/SingleUserRoleInput, role => $role, Ticket => $Ticket &></div>
+</div>
 
 % }
 
 % if ($Ticket->Requestors->MembersObj->Count) {
-<tr>
-  <td class="label"><&|/l&>Requestors</&>:</td>
-  <td class="value"><& EditWatchers, TicketObj => $Ticket, Watchers => $Ticket->Requestors &></td>
-</tr>
+<div class="form-row">
+  <div class="col-md-3 label"><&|/l&>Requestors</&>:</div>
+  <div class="col-md-6 value"><& EditWatchers, TicketObj => $Ticket, Watchers => $Ticket->Requestors &></div>
+</div>
 % }
 
 % if ($Ticket->Cc->MembersObj->Count) {
-<tr>
-  <td class="label"><&|/l&>Cc</&>:</td>
-  <td class="value"><& EditWatchers, TicketObj => $Ticket, Watchers => $Ticket->Cc &></td>
-</tr>
+<div class="form-row">
+  <div class="col-md-3 label"><&|/l&>Cc</&>:</div>
+  <div class="col-md-6 value"><& EditWatchers, TicketObj => $Ticket, Watchers => $Ticket->Cc &></div>
+</div>
 % }
 
 % if ($Ticket->AdminCc->MembersObj->Count) {
-<tr>
-  <td class="label"><&|/l&>AdminCc</&>:</td>
-  <td class="value"><& EditWatchers, TicketObj => $Ticket, Watchers => $Ticket->AdminCc &></td>
-</tr>
+<div class="form-row">
+  <div class="col-md-3 label"><&|/l&>Admin Cc</&>:</div>
+  <div class="col-md-6 value"><& EditWatchers, TicketObj => $Ticket, Watchers => $Ticket->AdminCc &></div>
+</div>
 % }
 
 % my $multi_roles = $Ticket->QueueObj->CustomRoles;
@@ -92,28 +97,27 @@
 % while (my $role = $multi_roles->Next) {
 % my $group = $Ticket->RoleGroup($role->GroupType);
 % if ($group->Id && $group->MembersObj->Count) {
-<tr>
-  <td class="label"><% $role->Name %>:
+<div class="form-row">
+  <div class="col-md-3 label"><% $role->Name %>:
 % if ( my $hint = $role->EntryHint ) {
     <span class="far fa-question-circle icon-helper" data-toggle="tooltip" data-placement="top" data-original-title="<% $hint %>"></span>
 % }
-  </td>
-  <td class="value"><& EditWatchers, TicketObj => $Ticket, Watchers => $group &></td>
-</tr>
+  </div>
+  <div class="col-md-6 value"><& EditWatchers, TicketObj => $Ticket, Watchers => $group &></div>
+</div>
 % }
 % }
 
-<tr>
-  <td colspan="2">
+<div class="form-row">
+  <div class="col-md-12">
     <i><&|/l&>Add new watchers</&>:</i>
-    <& AddWatchers, Ticket => $Ticket, ShowLabel => 0 &>
-  </td>
-</tr>
+  </div>
+</div>
+
+<& AddWatchers, Ticket => $Ticket, ShowLabel => 0 &>
 
 <& /Elements/EditCustomFields, Object => $Ticket, Grouping => 'People', InTable => 1 &>
-</table>
 
 <%ARGS>
 $Ticket => undef
 </%ARGS>
-

commit 82cd02978c4223859ac60176be6892379255d9e2
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Thu Apr 9 22:21:32 2020 +0800

    Add checkboxes before multiple-role labels like modify people page
    
    This is an easier way to clear role members.

diff --git a/share/html/Ticket/Elements/EditPeopleInline b/share/html/Ticket/Elements/EditPeopleInline
index 1866dbe816..3fc46967ec 100644
--- a/share/html/Ticket/Elements/EditPeopleInline
+++ b/share/html/Ticket/Elements/EditPeopleInline
@@ -73,21 +73,36 @@
 
 % if ($Ticket->Requestors->MembersObj->Count) {
 <div class="form-row">
-  <div class="col-md-3 label"><&|/l&>Requestors</&>:</div>
+  <div class="col-md-3 label">
+    <div class="custom-control custom-checkbox">
+      <input type="checkbox" id="delete-requestors-checkbox" class="checkbox custom-control-input" onclick="setCheckbox(this, /^Ticket-DeleteWatcher-Type-Requestor-/)">
+      <label class="custom-control-label" for="delete-requestors-checkbox"><&|/l&>Requestors</&>:</label>
+    </div>
+  </div>
   <div class="col-md-6 value"><& EditWatchers, TicketObj => $Ticket, Watchers => $Ticket->Requestors &></div>
 </div>
 % }
 
 % if ($Ticket->Cc->MembersObj->Count) {
 <div class="form-row">
-  <div class="col-md-3 label"><&|/l&>Cc</&>:</div>
+  <div class="col-md-3 label">
+    <div class="custom-control custom-checkbox">
+      <input type="checkbox" id="delete-cc-checkbox" class="checkbox custom-control-input" onclick="setCheckbox(this, /^Ticket-DeleteWatcher-Type-Cc-/)">
+      <label class="custom-control-label" for="delete-cc-checkbox"><&|/l&>Cc</&>:</label>
+    </div>
+  </div>
   <div class="col-md-6 value"><& EditWatchers, TicketObj => $Ticket, Watchers => $Ticket->Cc &></div>
 </div>
 % }
 
 % if ($Ticket->AdminCc->MembersObj->Count) {
 <div class="form-row">
-  <div class="col-md-3 label"><&|/l&>Admin Cc</&>:</div>
+  <div class="col-md-3 label">
+    <div class="custom-control custom-checkbox">
+      <input type="checkbox" id="delete-admincc-checkbox" class="checkbox custom-control-input" onclick="setCheckbox(this, /^Ticket-DeleteWatcher-Type-AdminCc-/)">
+      <label class="custom-control-label" for="delete-admincc-checkbox"><&|/l&>Admin Cc</&>:</label>
+    </div>
+  </div>
   <div class="col-md-6 value"><& EditWatchers, TicketObj => $Ticket, Watchers => $Ticket->AdminCc &></div>
 </div>
 % }
@@ -98,10 +113,15 @@
 % my $group = $Ticket->RoleGroup($role->GroupType);
 % if ($group->Id && $group->MembersObj->Count) {
 <div class="form-row">
-  <div class="col-md-3 label"><% $role->Name %>:
-% if ( my $hint = $role->EntryHint ) {
-    <span class="far fa-question-circle icon-helper" data-toggle="tooltip" data-placement="top" data-original-title="<% $hint %>"></span>
-% }
+  <div class="col-md-3 label">
+    <div class="custom-control custom-checkbox">
+      <input type="checkbox" id="delete-<% $role->id %>-checkbox" class="checkbox custom-control-input" onclick="setCheckbox(this, /^Ticket-DeleteWatcher-Type-RT::CustomRole-<% $role->Id %>-/)">
+      <label class="custom-control-label" for="delete-<% $role->id %>-checkbox"><% $role->Name %>:
+%     if ( my $hint = $role->EntryHint ) {
+        <span class="far fa-question-circle icon-helper" data-toggle="tooltip" data-placement="top" data-original-title="<% $hint %>"></span>
+%     }
+      </label>
+    </div>
   </div>
   <div class="col-md-6 value"><& EditWatchers, TicketObj => $Ticket, Watchers => $group &></div>
 </div>

commit 2aedfd7638bc2c576a3a6cb342be2fa3568674c7
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Thu Apr 9 22:23:58 2020 +0800

    Respect custom role visibility and callbacks on modify people page

diff --git a/share/html/Ticket/Elements/EditPeopleInline b/share/html/Ticket/Elements/EditPeopleInline
index 3fc46967ec..2ab73a6671 100644
--- a/share/html/Ticket/Elements/EditPeopleInline
+++ b/share/html/Ticket/Elements/EditPeopleInline
@@ -59,6 +59,11 @@
 % my @role_fields;
 % my $single_roles = $Ticket->QueueObj->CustomRoles;
 % $single_roles->LimitToSingleValue;
+
+% my @hidden = $Ticket->QueueObj->HiddenCustomRoleIDsForURL('/Ticket/ModifyPeople.html');
+% $single_roles->Limit(FIELD => 'id', OPERATOR => 'NOT IN', VALUE => \@hidden) if @hidden;
+% $m->callback( CustomRoles => $single_roles, SingleRoles => 1, Ticket => $Ticket, %ARGS, CallbackName => 'ModifyCustomRoles', CallbackPage => '/Ticket/ModifyPeople.html' );
+
 % while (my $role = $single_roles->Next) {
 <div class="form-row">
   <div class="col-md-3 label"><% $role->Name %>:
@@ -109,6 +114,9 @@
 
 % my $multi_roles = $Ticket->QueueObj->CustomRoles;
 % $multi_roles->LimitToMultipleValue;
+% $multi_roles->Limit(FIELD => 'id', OPERATOR => 'NOT IN', VALUE => \@hidden) if @hidden;
+% $m->callback( CustomRoles => $multi_roles, SingleRoles => 0, Ticket => $Ticket, %ARGS, CallbackName => 'ModifyCustomRoles', CallbackPage => '/Ticket/ModifyPeople.html' );
+
 % while (my $role = $multi_roles->Next) {
 % my $group = $Ticket->RoleGroup($role->GroupType);
 % if ($group->Id && $group->MembersObj->Count) {

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


More information about the rt-commit mailing list