more ACL and re-skinning work, now with RT!
[freeside.git] / rt / html / Elements / Tabs
1 %# BEGIN BPS TAGGED BLOCK {{{
2 %# 
3 %# COPYRIGHT:
4 %#  
5 %# This software is Copyright (c) 1996-2005 Best Practical Solutions, LLC 
6 %#                                          <jesse@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., 675 Mass Ave, Cambridge, MA 02139, USA.
26 %# 
27 %# 
28 %# CONTRIBUTION SUBMISSION POLICY:
29 %# 
30 %# (The following paragraph is not intended to limit the rights granted
31 %# to you to modify and distribute this software under the terms of
32 %# the GNU General Public License and is only of importance to you if
33 %# you choose to contribute your changes and enhancements to the
34 %# community by submitting them to Best Practical Solutions, LLC.)
35 %# 
36 %# By intentionally submitting any modifications, corrections or
37 %# derivatives to this work, or any other work intended for use with
38 %# Request Tracker, to Best Practical Solutions, LLC, you confirm that
39 %# you are the copyright holder for those contributions and you grant
40 %# Best Practical Solutions,  LLC a nonexclusive, worldwide, irrevocable,
41 %# royalty-free, perpetual, license to use, copy, create derivative
42 %# works based on those contributions, and sublicense and distribute
43 %# those contributions and any derivatives thereof.
44 %# 
45 %# END BPS TAGGED BLOCK }}}
46 <& /Elements/PageLayout,
47     current_toptab => $current_toptab,
48     current_tab => $current_tab,
49     toptabs => $toptabs,
50     topactions => $topactions,
51     tabs => $tabs,
52     actions => $actions,
53     subactions => $subactions,
54     title => $Title
55 &>
56 <a name="skipnav" id="skipnav" accesskey="8"></a>
57 <%INIT>
58 my $action;
59 my $basetopactions = {
60 #       A => { html => $m->scomp('/Elements/CreateTicket')      
61 #               },
62         A => { html => $m->scomp('/Elements/FreesideNewCust')   
63                 },
64         B => { html => $m->scomp('/Elements/FreesideSearch')    
65                 },
66         C => { html => $m->scomp('/Elements/SimpleSearch') 
67                 }
68         };
69 my $basetabs = {
70                   ' A'=> { title => 'Billing Main',
71                            path  => &RT::URI::freeside::FreesideURL(),
72                          },
73                     A => { #title => loc('Homepage'),
74                            title => 'Ticketing Main',
75                            path => '',
76                          },
77                     B => { title => loc('Tickets'),
78                         path => 'Search/Build.html'
79                       },
80                     C => { title => loc('Tools'),
81                            path => 'Tools/Offline.html'
82                          },
83                     P => { title => loc('Approval'),
84                            path => 'Approvals/'
85                          },
86                  };
87
88 if ($session{'CurrentUser'}->HasRight( Right => 'ShowConfigTab', 
89                                        Object => $RT::System )) {
90     $basetabs->{E} = { title => loc('Configuration'),
91                        path => 'Admin/',
92                      };
93 }
94
95 if ($session{'CurrentUser'}->HasRight( Right => 'ModifySelf', 
96                                        Object => $RT::System )) {
97     $basetabs->{K} = { title => loc('Preferences'),
98                        path => 'User/Prefs.html'
99                      };
100 }
101
102 if (!defined $toptabs) {
103    $toptabs = $basetabs;
104 }
105 if (!defined $topactions) {
106    $topactions = $basetopactions;
107 }
108
109   require RT::URI::freeside;
110                     
111   # Now let callbacks add their extra tabs
112   $m->comp('/Elements/Callback', 
113     topactions => $topactions, 
114     toptabs => $toptabs, %ARGS);
115
116 </%INIT>
117 <%ARGS>
118 $current_toptab => undef
119 $current_tab => undef
120 $toptabs => undef
121 $topactions => undef
122 $tabs => undef
123 $actions => undef
124 $subactions => undef
125 $Title => undef
126 </%ARGS>