1 # Copyright (c) 2004 Ivan Kohler <ivan-rt@420.am>
2 # Copyright (c) 2008 Freeside Internet Services, Inc.
4 # This work is made available to you under the terms of Version 2 of
5 # the GNU General Public License. A copy of that license should have
6 # been provided with this software, but in any event can be snarfed
9 # This work is distributed in the hope that it will be useful, but
10 # WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 # General Public License for more details.
16 RT::Interface::Web_Vendor
22 Freeside vendor overlay for RT::Interface::Web.
26 use_ok(RT::Interface::Web_Vendor);
32 #package RT::Interface::Web;
35 package HTML::Mason::Commands;
38 =head2 ProcessTicketCustomers
42 sub ProcessTicketCustomers {
50 my $Ticket = $args{'TicketObj'};
51 my $ARGSRef = $args{'ARGSRef'};
53 ### false laziness w/RT::Interface::Web::ProcessTicketLinks
54 # Delete links that are gone gone gone.
55 foreach my $arg ( keys %$ARGSRef ) {
56 if ( $arg =~ /DeleteLink-(.*?)-(DependsOn|MemberOf|RefersTo)-(.*)$/ ) {
62 "Trying to delete: Base: $base Target: $target Type $type";
63 my ( $val, $msg ) = $Ticket->DeleteLink( Base => $base,
75 map { /^Ticket-AddCustomer-(\d+)$/; $1 }
76 grep { /^Ticket-AddCustomer-(\d+)$/ && $ARGSRef->{$_} }
79 my @custnums = map { /^Ticket-AddCustomer-(\d+)$/; $1 }
80 grep { /^Ticket-AddCustomer-(\d+)$/ && $ARGSRef->{$_} }
83 foreach my $custnum ( @custnums ) {
85 $Ticket->AddLink( 'Type' => 'MemberOf',
86 'Target' => "freeside://freeside/cust_main/$custnum",
95 #false laziness w/above... eventually it should go away in favor of this
96 sub ProcessObjectCustomers {
104 my $Object = $args{'Object'};
105 my $ARGSRef = $args{'ARGSRef'};
107 ### false laziness w/RT::Interface::Web::ProcessTicketLinks
108 # Delete links that are gone gone gone.
109 foreach my $arg ( keys %$ARGSRef ) {
110 if ( $arg =~ /DeleteLink-(.*?)-(DependsOn|MemberOf|RefersTo)-(.*)$/ ) {
116 "Trying to delete: Base: $base Target: $target Type $type";
117 my ( $val, $msg ) = $Object->DeleteLink( Base => $base,
128 my @delete_custnums =
129 map { /^Object-AddCustomer-(\d+)$/; $1 }
130 grep { /^Object-AddCustomer-(\d+)$/ && $ARGSRef->{$_} }
133 my @custnums = map { /^Object-AddCustomer-(\d+)$/; $1 }
134 grep { /^Object-AddCustomer-(\d+)$/ && $ARGSRef->{$_} }
137 foreach my $custnum ( @custnums ) {
139 $Object->AddLink( 'Type' => 'MemberOf',
140 'Target' => "freeside://freeside/cust_main/$custnum",