469b84a9cdd9ce816150433b435de66b89de36b6
[freeside.git] / rt / share / html / Elements / EditLinks
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 <table width="100%">
49   <tr>
50     <td valign="top" width="50%">
51       <h3><&|/l&>Current Links</&></h3>
52
53 <table>
54   <tr>
55     <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Depends on'), Relation => 'DependsOn' &>:</td>
56     <td class="value">
57 % while (my $link = $Object->DependsOn->Next) {
58       <input type="checkbox" class="checkbox" name="DeleteLink--<%$link->Type%>-<%$link->Target%>" value="1" />
59         <& ShowLink, URI => $link->TargetURI &><br />
60 % }
61     </td>
62   </tr>
63   <tr>
64     <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Depended on by'), Relation => 'DependedOnBy' &>:</td>
65     <td class="value">
66 % while (my $link = $Object->DependedOnBy->Next) {
67       <input type="checkbox" class="checkbox" name="DeleteLink-<%$link->Base%>-<%$link->Type%>-" value="1" />
68         <& ShowLink, URI => $link->BaseURI &><br />
69 % }
70     </td>
71   </tr>
72   <tr>
73     <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Parents'), Relation => 'Parents' &>:</td>
74     <td class="value">
75 % while (my $link = $Object->MemberOf->Next) {
76       <input type="checkbox" class="checkbox" name="DeleteLink--<%$link->Type%>-<%$link->Target%>" value="1" />
77         <& ShowLink, URI => $link->TargetURI &><br />
78 % }
79     </td>
80   </tr>
81   <tr>
82     <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Children'), Relation => 'Children' &>:</td>
83     <td class="value">
84 % while (my $link = $Object->Members->Next) {
85       <input type="checkbox" class="checkbox" name="DeleteLink-<%$link->Base%>-<%$link->Type%>-" value="1" />
86         <& ShowLink, URI => $link->BaseURI &><br />
87 % }
88     </td>
89   </tr>
90   <tr>
91     <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Refers to'), Relation => 'RefersTo' &>:</td>
92     <td class="value">
93 % while (my $link = $Object->RefersTo->Next) {
94       <input type="checkbox" class="checkbox" name="DeleteLink--<%$link->Type%>-<%$link->Target%>" value="1" />
95         <& ShowLink, URI => $link->TargetURI &><br />
96 %}
97     </td>
98   </tr>
99   <tr>
100     <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Referred to by'), Relation => 'ReferredToBy' &>:</td>
101     <td class="value">
102 % while (my $link = $Object->ReferredToBy->Next) {
103 % # Skip reminders
104 % next if (UNIVERSAL::isa($link->BaseObj, 'RT::Ticket')  && $link->BaseObj->Type eq 'reminder');
105       <input type="checkbox" class="checkbox" name="DeleteLink-<%$link->Base%>-<%$link->Type%>-" value="1" />
106         <& ShowLink, URI => $link->BaseURI &><br />
107 % }
108     </td>
109   </tr>
110   <tr>
111     <td></td>
112     <td><i><&|/l&>(Check box to delete)</&></i></td>
113   </tr>
114 </table>
115                             
116 </td>
117 <td valign="top">
118 <h3><&|/l&>New Links</&></h3>
119 % if (ref($Object) eq 'RT::Ticket') {
120 <i><&|/l&>Enter tickets or URIs to link tickets to. Separate multiple entries with spaces.</&>
121 % $m->callback( CallbackName => 'ExtraLinkInstructions' );
122 </i><br />
123 % } elsif (ref($Object) eq 'RT::Queue') {
124 <i><&|/l&>Enter queues or URIs to link queues to. Separate multiple entries with spaces.</&>
125 </i><br />
126 % } else {
127 <i><&|/l&>Enter objects or URIs to link objects to. Separate multiple entries with spaces.</&></i><br />
128 % }
129 <table>
130 % if ($Merge) {
131   <tr>
132     <td class="label"><&|/l&>Merge into</&>:</td>
133     <td class="entry"><input name="<%$id%>-MergeInto" /> <i><&|/l&>(only one ticket)</&></i></td>
134   </tr>
135 % }
136   <tr>
137     <td class="label"><& ShowRelationLabel, id => $id, Label => loc('Depends on'), Relation => 'DependsOn' &>:</td>
138     <td class="entry"><input name="<%$id%>-DependsOn" /></td>
139   </tr>
140   <tr>
141     <td class="label"><& ShowRelationLabel, id => $id, Label => loc('Depended on by'), Relation => 'DependedOnBy' &>:</td>
142     <td class="entry"><input name="DependsOn-<%$id%>" /></td>
143   </tr>
144   <tr>
145     <td class="label"><& ShowRelationLabel, id => $id, Label => loc('Parents'), Relation => 'Parents' &>:</td>
146     <td class="entry"><input name="<%$id%>-MemberOf" /></td>
147   </tr>
148   <tr>
149     <td class="label"><& ShowRelationLabel, id => $id, Label => loc('Children'), Relation => 'Children' &>:</td>
150     <td class="entry"> <input name="MemberOf-<%$id%>" /></td>
151   </tr>
152   <tr>
153     <td class="label"><& ShowRelationLabel, id => $id, Label => loc('Refers to'), Relation => 'RefersTo' &>:</td>
154     <td class="entry"><input name="<%$id%>-RefersTo" /></td>
155   </tr>
156   <tr>
157     <td class="label"><& ShowRelationLabel, id => $id, Label => loc('Referred to by'), Relation => 'ReferredToBy' &>:</td>
158     <td class="entry"> <input name="RefersTo-<%$id%>" /></td>
159   </tr>
160 % $m->callback( CallbackName => 'NewLink' );
161 </table>
162 </td>
163 </tr>
164 </table>
165
166 <%INIT>
167 my $id;
168 if ($Object && $Object->Id) {
169     $id = $Object->Id;
170 } else {
171     $id = 'new';
172 }
173 </%INIT>
174       
175 <%ARGS>
176 $Object => undef
177 $Merge => 0
178 </%ARGS>