</tr>
<tr>
<td class="value">
-% #while (my $link = $Object->MemberOf->Next) {
-% foreach my $link (
-% grep { $_->TargetURI->Resolver->{'fstable'} eq 'cust_main' }
-% grep { $_->TargetURI->Scheme eq 'freeside' }
-% @{ $Object->_Links('Base')->ItemsArrayRef }
-% ) {
+% foreach my $link ( @{ $Object->Customers->ItemsArrayRef } ) {
<INPUT TYPE=CHECKBOX NAME="DeleteLink--<%$link->Type%>-<%$link->Target%>">
%# <& ShowLink, URI => $link->TargetURI &><br>
%# 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
</tr>
<tr>
<td class="value">
-% #while (my $link = $Ticket->MemberOf->Next) {
-% foreach my $link (
-% grep { $_->TargetURI->Resolver->{'fstable'} eq 'cust_main' }
-% grep { $_->TargetURI->Scheme eq 'freeside' }
-% @{ $Ticket->_Links('Base')->ItemsArrayRef }
-% ) {
+% foreach my $link ( @{ $Ticket->Customers->ItemsArrayRef } ) {
<INPUT TYPE=CHECKBOX NAME="DeleteLink--<%$link->Type%>-<%$link->Target%>">
%# <& ShowLink, URI => $link->TargetURI &><br>
%# General Public License for more details.
<table>
% my $cust = 0;
-% foreach my $customerURI (
-% grep { $_->Resolver->{'fstable'} eq 'cust_main' }
-% grep { $_->Scheme eq 'freeside' }
-% map { $_->TargetURI }
-% @{ $Ticket->_Links('Base')->ItemsArrayRef }
-% ) {
+% foreach my $custResolver ( map { $_->TargetURI->Resolver }
+% @{ $Ticket->Customers->ItemsArrayRef }
+% )
+% {
% $cust++;
% my $cust_main = '';
<tr>
<td class="value">
- <A HREF="<% $customerURI->Resolver->HREF %>"><% $customerURI->Resolver->AsStringLong |n %></A>
+ <A HREF="<% $custResolver->HREF %>"><% $custResolver->AsStringLong |n %></A>
</td>
</tr>
% }
use base qw(RT::Base);
use RT::Date;
+use RT::I18N;
use RT::User;
use RT::Attributes;
use DBIx::SearchBuilder::Record::Cachable;
elsif ( $ContentEncoding && $ContentEncoding ne 'none' ) {
return ( $self->loc( "Unknown ContentEncoding [_1]", $ContentEncoding ) );
}
+
if ( RT::I18N::IsTextualContentType($ContentType) ) {
$Content = Encode::decode_utf8($Content) unless Encode::is_utf8($Content);
}
# }}}
+ # {{{ Deal with auto-customer association
+
+ #unless we already have (a) customer(s)...
+ unless ( $self->Customers->Count ) {
+
+ #find any requestors with customer targets
+
+ my %cust_target = ();
+
+ my @Requestors =
+ grep { $_->Customers->Count }
+ @{ $self->Requestors->UserMembersObj->ItemsArrayRef };
+
+ foreach my $Requestor ( @Requestors ) {
+ foreach my $cust_link ( @{ $Requestor->Customers->ItemsArrayRef } ) {
+ $cust_target{ $cust_link->Target } = 1;
+ }
+ }
+
+ #and then auto-associate this ticket with those customers
+
+ foreach my $cust_target ( keys %cust_target ) {
+
+ my @link = ( 'Type' => 'MemberOf',
+ #'Target' => "freeside://freeside/cust_main/$custnum",
+ 'Target' => $cust_target,
+ );
+
+ my( $val, $msg ) = $self->AddLink(@link);
+ push @non_fatal_errors, $msg;
+
+ }
+
+ }
+
+ # }}}
+
# {{{ Add all the custom fields
foreach my $arg ( keys %args ) {