first pass RT4 merge, RT#13852
[freeside.git] / rt / share / html / Admin / Elements / CustomFieldTabs
1 %# BEGIN BPS TAGGED BLOCK {{{
2 %#
3 %# COPYRIGHT:
4 %#
5 %# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
6 %#                                          <sales@bestpractical.com>
7 %#
8 %# (Except where explicitly superseded by other copyright notices)
9 %#
10 %#
11 %# LICENSE:
12 %#
13 %# This work is made available to you under the terms of Version 2 of
14 %# the GNU General Public License. A copy of that license should have
15 %# been provided with this software, but in any event can be snarfed
16 %# from www.gnu.org.
17 %#
18 %# This work is distributed in the hope that it will be useful, but
19 %# WITHOUT ANY WARRANTY; without even the implied warranty of
20 %# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
21 %# General Public License for more details.
22 %#
23 %# You should have received a copy of the GNU General Public License
24 %# along with this program; if not, write to the Free Software
25 %# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
26 %# 02110-1301 or visit their web page on the internet at
27 %# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
28 %#
29 %#
30 %# CONTRIBUTION SUBMISSION POLICY:
31 %#
32 %# (The following paragraph is not intended to limit the rights granted
33 %# to you to modify and distribute this software under the terms of
34 %# the GNU General Public License and is only of importance to you if
35 %# you choose to contribute your changes and enhancements to the
36 %# community by submitting them to Best Practical Solutions, LLC.)
37 %#
38 %# By intentionally submitting any modifications, corrections or
39 %# derivatives to this work, or any other work intended for use with
40 %# Request Tracker, to Best Practical Solutions, LLC, you confirm that
41 %# you are the copyright holder for those contributions and you grant
42 %# Best Practical Solutions,  LLC a nonexclusive, worldwide, irrevocable,
43 %# royalty-free, perpetual, license to use, copy, create derivative
44 %# works based on those contributions, and sublicense and distribute
45 %# those contributions and any derivatives thereof.
46 %#
47 %# END BPS TAGGED BLOCK }}}
48 <& /Admin/Elements/Tabs, 
49     current_tab => 'Admin/CustomFields/',
50     subtabs => $tabs, 
51     current_subtab => $current_tab, 
52     Title => $Title &>
53 <%INIT>
54 my $tabs;
55
56 if ($id) {
57     my $cf = RT::CustomField->new( $session{'CurrentUser'} );
58     $cf->Load($id);
59     $tabs = {
60         this => {
61             title => $cf->Name,
62             path  => "Admin/CustomFields/Modify.html?id=" . $id,
63             current_subtab => $current_tab,
64
65             subtabs => {
66
67                 C => { title => loc('Basics'),
68                        path  => "Admin/CustomFields/Modify.html?id=" . $id,
69                 },
70                 F => { title => loc('Group Rights'),
71                        path  => "Admin/CustomFields/GroupRights.html?id="
72                          . $id, },
73                 G => {
74                     title => loc('User Rights'),
75                     path => "Admin/CustomFields/UserRights.html?id=" . $id,
76                 },
77
78             } }
79
80     };
81
82
83     if ($cf->LookupType =~ /^RT::(?:Queue|Group)(?:\Z|-)/i) {
84         $tabs->{'this'}->{subtabs}->{D} = {
85         title => loc('Applies to'),
86             path  => "Admin/CustomFields/Objects.html?id=" . $id,
87         };
88     }
89 }
90
91 if ( $session{'CurrentUser'}->HasRight( Object => $RT::System, Right => 'AdminCustomField')
92      || $session{'CurrentUser'}->HasRight( Object => $RT::System, Right => 'AdminCustomFieldValues') ) {
93   $tabs->{"A"} = { title => loc('Select'),
94                         path => "Admin/CustomFields/",
95                            };
96 }
97 if ($session{'CurrentUser'}->HasRight( Object => $RT::System, Right => 'AdminCustomField')) {
98   $tabs->{"B"} = { title => loc('Create'),
99                         path => "Admin/CustomFields/Modify.html?Create=1",
100                         separator => 1,
101                            };
102 }
103
104   # Now let callbacks add their extra tabs
105   $m->callback( %ARGS, tabs => $tabs );
106
107 foreach my $tab (sort keys %{$tabs->{'this'}->{'subtabs'}}) {
108     if ($tabs->{'this'}->{'subtabs'}->{$tab}->{'path'} eq $current_tab) {
109         $tabs->{'this'}->{'subtabs'}->{$tab}->{'subtabs'} = $subtabs;
110         $tabs->{'this'}->{'subtabs'}->{$tab}->{'current_subtab'} = $current_subtab;
111     }
112 }
113 if( $id ) { $current_tab = "Admin/CustomFields/Modify.html?id=" . $id }
114 </%INIT>
115 <%ARGS>
116 $Title => undef
117 $id => undef
118 $current_tab => undef
119 $subtabs => undef
120 $current_subtab => undef
121 </%ARGS>