From f8ecdcae961003312ce3c65113c87a9a2565fdd2 Mon Sep 17 00:00:00 2001 From: ivan Date: Sun, 3 Jan 2010 08:07:15 +0000 Subject: [PATCH] port skinning, customer display/edit from RT 3.6 integration to RT 3.8 integration --- rt/FREESIDE_MODIFIED | 24 ++++----- rt/html/Elements/FreesideInvoiceSearch | 20 ------- rt/html/Elements/FreesideNewCust | 3 -- rt/html/Elements/FreesideSearch | 13 ----- rt/html/Elements/FreesideSvcSearch | 13 ----- rt/share/html/Admin/Users/Modify.html | 12 +++++ rt/{ => share}/html/Elements/AddCustomers | 0 rt/{ => share}/html/Elements/EditCustomers | 0 rt/share/html/Ticket/Display.html | 4 +- rt/share/html/Ticket/Elements/AddCustomers | 52 ++++++++++++++++++ rt/share/html/Ticket/Elements/EditCustomers | 63 ++++++++++++++++++++++ rt/share/html/Ticket/Elements/ShowCustomers | 38 +++++++++++++ rt/share/html/Ticket/Elements/ShowSummary | 6 +++ .../Ticket/Elements/ShowTransactionAttachments | 10 +++- rt/share/html/Ticket/Elements/Tabs | 4 ++ rt/{ => share}/html/Ticket/ModifyCustomers.html | 0 16 files changed, 196 insertions(+), 66 deletions(-) delete mode 100644 rt/html/Elements/FreesideInvoiceSearch delete mode 100644 rt/html/Elements/FreesideNewCust delete mode 100644 rt/html/Elements/FreesideSearch delete mode 100644 rt/html/Elements/FreesideSvcSearch rename rt/{ => share}/html/Elements/AddCustomers (100%) rename rt/{ => share}/html/Elements/EditCustomers (100%) create mode 100644 rt/share/html/Ticket/Elements/AddCustomers create mode 100644 rt/share/html/Ticket/Elements/EditCustomers create mode 100644 rt/share/html/Ticket/Elements/ShowCustomers rename rt/{ => share}/html/Ticket/ModifyCustomers.html (100%) diff --git a/rt/FREESIDE_MODIFIED b/rt/FREESIDE_MODIFIED index a4d552cac..e1665abbd 100644 --- a/rt/FREESIDE_MODIFIED +++ b/rt/FREESIDE_MODIFIED @@ -12,7 +12,7 @@ lib/RT/Transaction_Overlay.pm lib/RT/URI/freeside.pm lib/RT/URI/freeside/Internal.pm lib/RT/URI/freeside/XMLRPC.pm - html/Admin/Users/Modify.html + share/html/Admin/Users/Modify.html html/Elements/Header html/Elements/Menu html/Elements/PageLayout @@ -23,13 +23,14 @@ lib/RT/URI/freeside/XMLRPC.pm html/Elements/Footer html/Elements/CollectionAsTable/Row #backport from 3.3-TESTING html/Ticket/Create.html - html/Ticket/Display.html -html/Ticket/Elements/AddCustomers -html/Ticket/Elements/EditCustomers -html/Ticket/Elements/ShowCustomers - html/Ticket/Elements/ShowSummary - html/Ticket/Elements/Tabs -html/Ticket/ModifyCustomers.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/ShowSummary + share/html/Ticket/Elements/ShowTransactionAttachments + share/html/Ticket/Elements/Tabs +share/html/Ticket/ModifyCustomers.html html/NoAuth/images/small-logo.png html/NoAuth/css/3.5-default/main.css html/NoAuth/css/3.5-default/misc.css @@ -38,11 +39,8 @@ html/NoAuth/css/3.5-default/freeside.css html/Widgets/TitleBoxStart -html/Elements/FreesideNewCust -html/Elements/FreesideSearch -html/Elements/FreesideSvcSearch -html/Elements/AddCustomers -html/Elements/EditCustomers +share/html/Elements/AddCustomers +share/html/Elements/EditCustomers html/User/Prefs.html html/Prefs/SearchOptions.html diff --git a/rt/html/Elements/FreesideInvoiceSearch b/rt/html/Elements/FreesideInvoiceSearch deleted file mode 100644 index 3842b2ff9..000000000 --- a/rt/html/Elements/FreesideInvoiceSearch +++ /dev/null @@ -1,20 +0,0 @@ -% if ( $FS::CurrentUser::CurrentUser->access_right('View invoices') ) { - -
- - - -% if ( $FS::CurrentUser::CurrentUser->access_right('List invoices') ) { - Advanced -% } -
- - -
- -% } diff --git a/rt/html/Elements/FreesideNewCust b/rt/html/Elements/FreesideNewCust deleted file mode 100644 index f60e99559..000000000 --- a/rt/html/Elements/FreesideNewCust +++ /dev/null @@ -1,3 +0,0 @@ -
-  -
diff --git a/rt/html/Elements/FreesideSearch b/rt/html/Elements/FreesideSearch deleted file mode 100644 index 8e609bb4b..000000000 --- a/rt/html/Elements/FreesideSearch +++ /dev/null @@ -1,13 +0,0 @@ -% if ( $FS::CurrentUser::CurrentUser->access_right('List customers') ) { -
- -
-Advanced - -
-% } diff --git a/rt/html/Elements/FreesideSvcSearch b/rt/html/Elements/FreesideSvcSearch deleted file mode 100644 index d68122da5..000000000 --- a/rt/html/Elements/FreesideSvcSearch +++ /dev/null @@ -1,13 +0,0 @@ -% if ( $FS::CurrentUser::CurrentUser->access_right('View customer services') ) { -
- -
- Advanced - -
-% } diff --git a/rt/share/html/Admin/Users/Modify.html b/rt/share/html/Admin/Users/Modify.html index aae38b173..be67f35db 100755 --- a/rt/share/html/Admin/Users/Modify.html +++ b/rt/share/html/Admin/Users/Modify.html @@ -105,6 +105,12 @@
+ +<&| /Widgets/TitleBox, title => loc('Customers') &> +<& /Elements/EditCustomers, Object => $UserObj, CustomerString=> $CustomerString, ServiceString => $ServiceString &> + +
+ <&| /Widgets/TitleBox, title => loc('Access control') &> /> @@ -345,6 +351,8 @@ if ($UserObj->Id && $id ne 'new') { push (@results,@fieldresults); push @results, ProcessObjectCustomFieldUpdates( ARGSRef => \%ARGS, Object => $UserObj ); + #deal with freeside customer links + push @results, ProcessObjectCustomers( ARGSRef => \%ARGS, Object => $UserObj ); # {{{ Deal with special fields: Privileged, Enabled if ( $SetPrivileged and $Privileged != $UserObj->Privileged ) { @@ -434,4 +442,8 @@ $Country => undef $Pass1 => undef $Pass2=> undef $Create=> undef +$OnlySearchForCustomers => undef +$OnlySearchForServices => undef +$CustomerString => undef +$ServiceString => undef diff --git a/rt/html/Elements/AddCustomers b/rt/share/html/Elements/AddCustomers similarity index 100% rename from rt/html/Elements/AddCustomers rename to rt/share/html/Elements/AddCustomers diff --git a/rt/html/Elements/EditCustomers b/rt/share/html/Elements/EditCustomers similarity index 100% rename from rt/html/Elements/EditCustomers rename to rt/share/html/Elements/EditCustomers diff --git a/rt/share/html/Ticket/Display.html b/rt/share/html/Ticket/Display.html index f8eaf3949..c1984bdca 100755 --- a/rt/share/html/Ticket/Display.html +++ b/rt/share/html/Ticket/Display.html @@ -46,12 +46,12 @@ %# %# END BPS TAGGED BLOCK }}} <& /Elements/Header, - Title => loc("#[_1]: [_2]", $TicketObj->Id, $TicketObj->Subject), + Title => loc("Ticket #[_1]: [_2]", $TicketObj->Id, $TicketObj->Subject), LinkRel => \%link_rel &> <& /Ticket/Elements/Tabs, Ticket => $TicketObj, current_tab => 'Ticket/Display.html?id='.$TicketObj->id, - Title => loc("#[_1]: [_2]", $TicketObj->Id, $TicketObj->Subject) &> + Title => loc("Ticket #[_1]: [_2]", $TicketObj->Id, $TicketObj->Subject) &> % $m->callback(CallbackName => 'BeforeActionList', %ARGS, Actions => \@Actions, ARGSRef => \%ARGS, Ticket => $TicketObj); diff --git a/rt/share/html/Ticket/Elements/AddCustomers b/rt/share/html/Ticket/Elements/AddCustomers new file mode 100644 index 000000000..e04c07702 --- /dev/null +++ b/rt/share/html/Ticket/Elements/AddCustomers @@ -0,0 +1,52 @@ +%# Copyright (c) 2004 Ivan Kohler +%# Copyright (c) 2008 Freeside Internet Services, Inc. +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +
+<%$msg%>
+ +% if (@Customers) { + +
(Check box to link) + +% foreach my $customer (@Customers) { + + + +% } +
+ > + <% &RT::URI::freeside::small_custview($customer->{'custnum'}, &RT::URI::freeside::FreesideGetConfig('countrydefault'), 1) |n %> +
+ +% } + +<%INIT> +my ($msg); + +my $freeside_url = &RT::URI::freeside::FreesideURL(); + +my @Customers = (); +if ( $CustomerString ) { + @Customers = &RT::URI::freeside::smart_search( 'search' => $CustomerString ); +} + +my @Services = (); +if ($ServiceString) { + @Services = (); #service_search(); +} + + + +<%ARGS> +$CustomerString => undef +$ServiceString => undef + diff --git a/rt/share/html/Ticket/Elements/EditCustomers b/rt/share/html/Ticket/Elements/EditCustomers new file mode 100644 index 000000000..0ba6e447b --- /dev/null +++ b/rt/share/html/Ticket/Elements/EditCustomers @@ -0,0 +1,63 @@ +%# Copyright (c) 2004 Ivan Kohler +%# Copyright (c) 2008 Freeside Internet Services, Inc. +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. + + + + + + +
+

<&|/l&>Current Customers

+ + + + + + + + +
<&|/l&>(Check box to disassociate)
+% foreach my $link ( @{ $Ticket->Customers->ItemsArrayRef } ) { + + +%# <& ShowLink, URI => $link->TargetURI &>
+ <% $link->TargetURI->Resolver->AsStringLong |n %> +
+% } +
+ +
+

<&|/l&>New Customer Links

+<&|/l&>Find customer
+ + +
cust #, name, company or phone +
+%#
+%#<&|/l&>Find service
+%# +%# +%#
username, username@domain, domain, or IP address +%#
+ +<& AddCustomers, Ticket => $Ticket, + CustomerString => $CustomerString, + ServiceString => $ServiceString, &> + +
+ +<%ARGS> +$CustomerString => undef +$ServiceString => undef +$Ticket => undef + diff --git a/rt/share/html/Ticket/Elements/ShowCustomers b/rt/share/html/Ticket/Elements/ShowCustomers new file mode 100644 index 000000000..3acf92dd4 --- /dev/null +++ b/rt/share/html/Ticket/Elements/ShowCustomers @@ -0,0 +1,38 @@ +%# Copyright (c) 2004 Ivan Kohler +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. + +% my $cust = 0; +% foreach my $custResolver ( map { $_->TargetURI->Resolver } +% @{ $Ticket->Customers->ItemsArrayRef } +% ) +% { +% $cust++; +% my $cust_main = ''; + + + +% } +% unless ( $cust ) { + + + + +% } +
+ <% $custResolver->AsStringLong |n %> +
+ (none) +
+<%ARGS> +$Ticket => undef + + diff --git a/rt/share/html/Ticket/Elements/ShowSummary b/rt/share/html/Ticket/Elements/ShowSummary index 4c2d54e5e..28a296579 100755 --- a/rt/share/html/Ticket/Elements/ShowSummary +++ b/rt/share/html/Ticket/Elements/ShowSummary @@ -67,6 +67,12 @@ <& /Ticket/Elements/ShowPeople, Ticket => $Ticket &> + <&| /Widgets/TitleBox, title => loc('Customers'), + title_href => RT->Config->Get('WebPath')."/Ticket/ModifyCustomers.html?id=".$Ticket->Id, + class => 'ticket-info-customers' &> + <& /Ticket/Elements/ShowCustomers, Ticket => $Ticket &> + + <& /Ticket/Elements/ShowAttachments, Ticket => $Ticket, Attachments => $Attachments &> <& /Ticket/Elements/ShowRequestor, Ticket => $Ticket &> diff --git a/rt/share/html/Ticket/Elements/ShowTransactionAttachments b/rt/share/html/Ticket/Elements/ShowTransactionAttachments index 9c40b28da..51c4aa47c 100644 --- a/rt/share/html/Ticket/Elements/ShowTransactionAttachments +++ b/rt/share/html/Ticket/Elements/ShowTransactionAttachments @@ -207,8 +207,14 @@ my $render_attachment = sub { # if it's a text/plain show the body elsif ( $message->ContentType =~ m{^(text|message)}i ) { - eval { require Text::Quoted; $content = Text::Quoted::extract($content); }; - if ($@) { $RT::Logger->warning( "Text::Quoted failed: $@" ) } + #don't want to use this even if it is installed, its + #segfaulting on weird characters and silently truncating the + #ticket history output + #see: + # r44838@pinglin: jesse | 2006-11-14 15:53:18 -0500 + # * Move Text::Quoted back to being a run-time require. So that it's possible to turn off the feature if it causes your perl to segfault. (Text::Tabs is...not robust in the face of perl bugs) + #eval { require Text::Quoted; $content = Text::Quoted::extract($content); }; + #if ($@) { $RT::Logger->warning( "Text::Quoted failed: $@" ) } $m->comp( 'ShowMessageStanza', diff --git a/rt/share/html/Ticket/Elements/Tabs b/rt/share/html/Ticket/Elements/Tabs index 7deb8c18d..a99f2190f 100755 --- a/rt/share/html/Ticket/Elements/Tabs +++ b/rt/share/html/Ticket/Elements/Tabs @@ -138,6 +138,10 @@ if ($Ticket) { title => loc('Links'), path => "Ticket/ModifyLinks.html?id=" . $id, }, + _Eb=> { + title => loc('Customers'), + path => "Ticket/ModifyCustomers.html?id=" . $id, + }, _X => { title => loc('Jumbo'), path => "Ticket/ModifyAll.html?id=" . $id, diff --git a/rt/html/Ticket/ModifyCustomers.html b/rt/share/html/Ticket/ModifyCustomers.html similarity index 100% rename from rt/html/Ticket/ModifyCustomers.html rename to rt/share/html/Ticket/ModifyCustomers.html -- 2.11.0