fix some problems with creation of subtask tickets, #34061
[freeside.git] / rt / lib / RT / Template_Vendor.pm
1 package RT::Template;
2
3 =item LoadByName
4
5 Takes Name and Queue arguments. Tries to load queue specific template
6 first, then global. If Queue argument is omitted then global template
7 is tried, not template with the name in any queue.
8
9 =cut
10
11 sub LoadByName {
12     my $self = shift;
13     my %args = (
14         Queue => undef,
15         Name  => undef,
16         @_
17     );
18     my $queue = $args{'Queue'};
19     if ( blessed $queue ) {
20         $queue = $queue->id;
21     } elsif ( defined $queue and $queue =~ /\D/ ) {
22         my $tmp = RT::Queue->new( $self->CurrentUser );
23         $tmp->Load($queue);
24         $queue = $tmp->id;
25     }
26
27     return $self->LoadGlobalTemplate( $args{'Name'} ) unless $queue;
28
29     $self->LoadQueueTemplate( Queue => $queue, Name => $args{'Name'} );
30     return $self->id if $self->id;
31     return $self->LoadGlobalTemplate( $args{'Name'} );
32 }
33
34 1;