diff options
Diffstat (limited to 'rt/lib/RT/Interface/Web_Vendor.pm')
-rw-r--r-- | rt/lib/RT/Interface/Web_Vendor.pm | 201 |
1 files changed, 0 insertions, 201 deletions
diff --git a/rt/lib/RT/Interface/Web_Vendor.pm b/rt/lib/RT/Interface/Web_Vendor.pm deleted file mode 100644 index 1999096a7..000000000 --- a/rt/lib/RT/Interface/Web_Vendor.pm +++ /dev/null @@ -1,201 +0,0 @@ -# Copyright (c) 2004 Ivan Kohler <ivan-rt@420.am> -# 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. - -=head1 NAME - -RT::Interface::Web_Vendor - -=head1 SYNOPSIS - -=head1 DESCRIPTION - -Freeside vendor overlay for RT::Interface::Web. - -=begin testing - -use_ok(RT::Interface::Web_Vendor); - -=end testing - -=cut - -#package RT::Interface::Web; -#use strict; - -package HTML::Mason::Commands; -use strict; - -=head2 ProcessTicketCustomers - -=cut - -sub ProcessTicketCustomers { - my %args = ( - TicketObj => undef, - ARGSRef => undef, - Debug => 0, - @_ - ); - my @results = (); - - my $Ticket = $args{'TicketObj'}; - my $ARGSRef = $args{'ARGSRef'}; - my $Debug = $args{'Debug'}; - my $me = 'ProcessTicketCustomers'; - - ### false laziness w/RT::Interface::Web::ProcessTicketLinks - # Delete links that are gone gone gone. - foreach my $arg ( keys %$ARGSRef ) { - if ( $arg =~ /DeleteLink-(.*?)-(DependsOn|MemberOf|RefersTo)-(.*)$/ ) { - my $base = $1; - my $type = $2; - my $target = $3; - - push @results, - "Trying to delete: Base: $base Target: $target Type $type"; - my ( $val, $msg ) = $Ticket->DeleteLink( Base => $base, - Type => $type, - Target => $target ); - - push @results, $msg; - - } - - } - ### - - ### - #find new customers - ### - - my @custnums = map { /^Ticket-AddCustomer-(\d+)$/; $1 } - grep { /^Ticket-AddCustomer-(\d+)$/ && $ARGSRef->{$_} } - keys %$ARGSRef; - - #my @delete_custnums = - # map { /^Ticket-AddCustomer-(\d+)$/; $1 } - # grep { /^Ticket-AddCustomer-(\d+)$/ && $ARGSRef->{$_} } - # keys %$ARGSRef; - - ### - #figure out if we're going to auto-link requestors, and find them if so - ### - - my $num_cur_cust = $Ticket->Customers->Count; - my $num_new_cust = scalar(@custnums); - warn "$me: $num_cur_cust current customers / $num_new_cust new customers\n" - if $Debug; - - #if we're linking the first ticket to one customer - my $link_requestors = ( $num_cur_cust == 0 && $num_new_cust == 1 ); - warn "$me: adding a single customer to a previously customerless". - " ticket, so linking customers to requestor too\n" - if $Debug && $link_requestors; - - my @Requestors = (); - if ( $link_requestors ) { - - #find any requestors without customers - @Requestors = - grep { ! $_->Customers->Count } - @{ $Ticket->Requestors->UserMembersObj->ItemsArrayRef }; - - warn "$me: found ". scalar(@Requestors). " requestors without". - " customers; linking them\n" - if $Debug; - - } - - ### - #link ticket (and requestors) to customers - ### - - foreach my $custnum ( @custnums ) { - - my @link = ( 'Type' => 'MemberOf', - 'Target' => "freeside://freeside/cust_main/$custnum", - ); - - my( $val, $msg ) = $Ticket->AddLink(@link); - push @results, $msg; - - #add customer links to requestors - foreach my $Requestor ( @Requestors ) { - my( $val, $msg ) = $Requestor->AddLink(@link); - push @results, $msg; - warn "$me: linking requestor to custnum $custnum: $msg\n" - if $Debug > 1; - } - - } - - return @results; - -} - -#false laziness w/above... eventually it should go away in favor of this -sub ProcessObjectCustomers { - my %args = ( - Object => undef, - ARGSRef => undef, - @_ - ); - my @results = (); - - my $Object = $args{'Object'}; - my $ARGSRef = $args{'ARGSRef'}; - - ### false laziness w/RT::Interface::Web::ProcessTicketLinks - # Delete links that are gone gone gone. - foreach my $arg ( keys %$ARGSRef ) { - if ( $arg =~ /DeleteLink-(.*?)-(DependsOn|MemberOf|RefersTo)-(.*)$/ ) { - my $base = $1; - my $type = $2; - my $target = $3; - - push @results, - "Trying to delete: Base: $base Target: $target Type $type"; - my ( $val, $msg ) = $Object->DeleteLink( Base => $base, - Type => $type, - Target => $target ); - - push @results, $msg; - - } - - } - ### - - #my @delete_custnums = - # map { /^Object-AddCustomer-(\d+)$/; $1 } - # grep { /^Object-AddCustomer-(\d+)$/ && $ARGSRef->{$_} } - # keys %$ARGSRef; - - my @custnums = map { /^Object-AddCustomer-(\d+)$/; $1 } - grep { /^Object-AddCustomer-(\d+)$/ && $ARGSRef->{$_} } - keys %$ARGSRef; - - foreach my $custnum ( @custnums ) { - my( $val, $msg ) = - $Object->AddLink( 'Type' => 'MemberOf', - 'Target' => "freeside://freeside/cust_main/$custnum", - ); - push @results, $msg; - } - - return @results; - -} - -1; - |