rt 4.0.23
[freeside.git] / rt / share / html / Elements / EditLinks
1 %# BEGIN BPS TAGGED BLOCK {{{
2 %#
3 %# COPYRIGHT:
4 %#
5 %# This software is Copyright (c) 1996-2015 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 %   next if $link->Target and $link->Target =~ m(^freeside://);
77       <input type="checkbox" class="checkbox" name="DeleteLink--<%$link->Type%>-<%$link->Target%>" value="1" />
78         <& ShowLink, URI => $link->TargetURI &><br />
79 % }
80     </td>
81   </tr>
82   <tr>
83     <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Children'), Relation => 'Children' &>:</td>
84     <td class="value">
85 % while (my $link = $Object->Members->Next) {
86       <input type="checkbox" class="checkbox" name="DeleteLink-<%$link->Base%>-<%$link->Type%>-" value="1" />
87         <& ShowLink, URI => $link->BaseURI &><br />
88 % }
89     </td>
90   </tr>
91   <tr>
92     <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Refers to'), Relation => 'RefersTo' &>:</td>
93     <td class="value">
94 % while (my $link = $Object->RefersTo->Next) {
95       <input type="checkbox" class="checkbox" name="DeleteLink--<%$link->Type%>-<%$link->Target%>" value="1" />
96         <& ShowLink, URI => $link->TargetURI &><br />
97 %}
98     </td>
99   </tr>
100   <tr>
101     <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Referred to by'), Relation => 'ReferredToBy' &>:</td>
102     <td class="value">
103 % while (my $link = $Object->ReferredToBy->Next) {
104 % # Skip reminders
105 % next if (UNIVERSAL::isa($link->BaseObj, 'RT::Ticket')  && $link->BaseObj->Type eq 'reminder');
106       <input type="checkbox" class="checkbox" name="DeleteLink-<%$link->Base%>-<%$link->Type%>-" value="1" />
107         <& ShowLink, URI => $link->BaseURI &><br />
108 % }
109     </td>
110   </tr>
111   <tr>
112     <td></td>
113     <td><i><&|/l&>(Check box to delete)</&></i></td>
114   </tr>
115 </table>
116                             
117 </td>
118 <td valign="top">
119 <h3><&|/l&>New Links</&></h3>
120 % if (ref($Object) eq 'RT::Ticket') {
121 <i><&|/l&>Enter tickets or URIs to link tickets to. Separate multiple entries with spaces.</&>
122 <br /><&|/l&>You may enter links to Articles as "a:###", where ### represents the number of the Article.</&>
123 % $m->callback( CallbackName => 'ExtraLinkInstructions' );
124 </i><br />
125 % } elsif (ref($Object) eq 'RT::Queue') {
126 <i><&|/l&>Enter queues or URIs to link queues to. Separate multiple entries with spaces.</&>
127 </i><br />
128 % } else {
129 <i><&|/l&>Enter objects or URIs to link objects to. Separate multiple entries with spaces.</&></i><br />
130 % }
131 <table>
132 % if ($Merge) {
133   <tr>
134     <td class="label"><&|/l&>Merge into</&>:</td>
135     <td class="entry"><input name="<%$id%>-MergeInto" /> <i><&|/l&>(only one ticket)</&></i></td>
136   </tr>
137 % }
138   <tr>
139     <td class="label"><& ShowRelationLabel, id => $id, Label => loc('Depends on'), Relation => 'DependsOn' &>:</td>
140     <td class="entry"><input name="<%$id%>-DependsOn" /></td>
141   </tr>
142   <tr>
143     <td class="label"><& ShowRelationLabel, id => $id, Label => loc('Depended on by'), Relation => 'DependedOnBy' &>:</td>
144     <td class="entry"><input name="DependsOn-<%$id%>" /></td>
145   </tr>
146   <tr>
147     <td class="label"><& ShowRelationLabel, id => $id, Label => loc('Parents'), Relation => 'Parents' &>:</td>
148     <td class="entry"><input name="<%$id%>-MemberOf" /></td>
149   </tr>
150   <tr>
151     <td class="label"><& ShowRelationLabel, id => $id, Label => loc('Children'), Relation => 'Children' &>:</td>
152     <td class="entry"> <input name="MemberOf-<%$id%>" /></td>
153   </tr>
154   <tr>
155     <td class="label"><& ShowRelationLabel, id => $id, Label => loc('Refers to'), Relation => 'RefersTo' &>:</td>
156     <td class="entry"><input name="<%$id%>-RefersTo" /></td>
157   </tr>
158   <tr>
159     <td class="label"><& ShowRelationLabel, id => $id, Label => loc('Referred to by'), Relation => 'ReferredToBy' &>:</td>
160     <td class="entry"> <input name="RefersTo-<%$id%>" /></td>
161   </tr>
162 % $m->callback( CallbackName => 'NewLink' );
163 </table>
164 </td>
165 </tr>
166 </table>
167
168 <%INIT>
169 my $id;
170 if ($Object && $Object->Id) {
171     $id = $Object->Id;
172 } else {
173     $id = 'new';
174 }
175 </%INIT>
176       
177 <%ARGS>
178 $Object => undef
179 $Merge => 0
180 </%ARGS>