start of checklist/workflow, RT#8805
authorivan <ivan>
Thu, 29 Jul 2010 03:41:40 +0000 (03:41 +0000)
committerivan <ivan>
Thu, 29 Jul 2010 03:41:40 +0000 (03:41 +0000)
rt/FREESIDE_MODIFIED
rt/share/html/Elements/ShowLink_Checklist [new file with mode: 0644]
rt/share/html/Ticket/Checklist.html [new file with mode: 0644]

index 51ca465..71ec135 100644 (file)
@@ -30,16 +30,19 @@ share/html/Elements/EditCustomFieldDate #customfield date patch (NEW)
  share/html/Elements/RT__Ticket/ColumnMap
  share/html/Elements/ShowCustomFieldDate #customfield date patch (NEW)
  share/html/Elements/SelectDate
+share/html/Elements/ShowLink_Checklist
  share/html/Elements/ShowUserVerbose
  share/html/Elements/Footer
  html/Ticket/Create.html #XXX TODO
  share/html/Search/Build.html
  share/html/Search/Elements/BuildFormatString
  share/html/Search/Elements/PickCFs #customfield date patch
+share/html/Ticket/Checklist.html
  share/html/Ticket/Display.html
 share/html/Ticket/Elements/AddCustomers
 share/html/Ticket/Elements/EditCustomers
 share/html/Ticket/Elements/ShowCustomers
+share/html/Ticket/Elements/ShowMembers_Checklist
  share/html/Ticket/Elements/BulkLinks
  share/html/Ticket/Elements/ShowSummary
  share/html/Ticket/Elements/ShowTransactionAttachments
diff --git a/rt/share/html/Elements/ShowLink_Checklist b/rt/share/html/Elements/ShowLink_Checklist
new file mode 100644 (file)
index 0000000..945305f
--- /dev/null
@@ -0,0 +1,36 @@
+<a href="<%$URI->Resolver->HREF%>">
+% if ($URI->IsLocal) {
+% my $member = $URI->Object;
+% if (UNIVERSAL::isa($member, "RT::Ticket")) {
+% my $inactive = 0; #$member->QueueObj->IsInactiveStatus($member->Status);
+
+<span class="<% $inactive ? 'ticket-inactive' : '' %>">
+<IMG SRC="<%$fsurl%>images/<% $status2image{$member->Status} %>.png" BORDER=0>
+<%$member->Id%>: (<%$member->OwnerObj->Name%>) <%$member->Subject%>
+%# [<% loc($member->Status) %>]
+</span>
+
+% } elsif ( UNIVERSAL::can($member, 'Name')) {
+<%$URI->Resolver->AsString%>: <%$member->Name%>
+% } else {
+<%$URI->Resolver->AsString%>
+% }
+% } else {
+<%$URI->Resolver->AsString%>
+% }
+</a>
+<%ARGS>
+$URI => undef
+</%ARGS>
+<%once>
+
+my %status2image = (
+  'new'      => 'square_add', #'bullet_add',
+  'open'     => 'square', #'bullet_black',
+  'stalled'  => 'error',
+  'resolved' => 'tick',
+  'rejected' => 'cross',
+  #'deleted'  => 'delete',
+);
+
+</%once>
diff --git a/rt/share/html/Ticket/Checklist.html b/rt/share/html/Ticket/Checklist.html
new file mode 100644 (file)
index 0000000..07a704f
--- /dev/null
@@ -0,0 +1,30 @@
+<& /Elements/Header, Title => loc("Checklist for Ticket #[_1] [_2]", $Ticket->Id, $Ticket->Subject) &>
+<& /Ticket/Elements/Tabs, 
+    Ticket => $Ticket, current_tab => 'Ticket/Checklist.html?id='.$Ticket->id, 
+    Title => loc("Ticket Checklist # [_1] [_2]", $Ticket->Id, $Ticket->Subject) &>
+
+<& /Ticket/Elements/ShowMembers_Checklist, Ticket => $Ticket &>
+
+% if ( $show_hint ) {
+
+<A HREF="ModifyLinks.html?id=<%$Ticket->id%>">Link</A>
+or <A HREF="Create.html?Queue=<%$Ticket->QueueId%>&new-MemberOf=<%$Ticket->id%>">create</A>
+create child tickets to make a checklist.
+
+% }
+      
+<%ARGS>
+$id => undef
+</%ARGS>
+
+<%INIT>
+
+my $Ticket = LoadTicket ($id);
+
+unless ($Ticket->CurrentUserHasRight('ShowTicket')) {
+    Abort("No permission to view ticket");
+}
+
+my $show_hint = ! $Ticket->Members->Count;
+
+</%INIT>