forked from jenkinsci/jenkins
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdelete.jelly
More file actions
86 lines (71 loc) · 3.61 KB
/
delete.jelly
File metadata and controls
86 lines (71 loc) · 3.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<!--
The MIT License
Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi, Tom Huybrechts
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-->
<?jelly escape-by-default='true'?>
<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout">
<st:documentation> <![CDATA[
Creates a delete link with confirmation and trashcan icon in the left navigation pane of Jenkins.
Requires that the target has implemented the doDoDelete method.
@since 2.415
]]>
<st:attribute name="title" use="required">
Human readable text that follows the icon.
</st:attribute>
<st:attribute name="message">
Message to use for confirmation, if requested; defaults to title.
</st:attribute>
<st:attribute name="urlPrefix">
Calls the ${urlPrefix}/doDelete page
</st:attribute>
<st:attribute name="permission">
If specified, the link will be only displayed when the current user
has the specified permission against the "it" object.
This is useful for showing links to restricted pages, as showing
them to unprivileged users don't make sense.
If both permission and permissions is set, then permissions will be used
</st:attribute>
<st:attribute name="permissions">
If specified, the link will be only displayed when the current user has
one or more of the specified permissions against the "it" object.
If both permission and permissions is set, then permissions will be used
</st:attribute>
</st:documentation>
<!--
Much of the following horrible code is to implement hierarchy support in <task> tag.
The semantics is that when one of the nested <task> matches, the parent is also considered as a match
and thus gets a highlight.
-->
<j:if test="${attrs.permission != null}">
<j:set var="hasPermission" value="${h.hasPermission(it, attrs.permission)}" />
</j:if>
<j:if test="${attrs.permissions != null}">
<j:set var="hasPermission" value="${h.hasAnyPermission(it, attrs.permissions)}" />
</j:if>
<j:if test="${attrs.permission == null and attrs.permissions == null}">
<j:set var="hasPermission" value="true" />
</j:if>
<j:set var="url" value="doDelete" />
<j:if test="${attrs.urlPrefix != null}">
<j:set var="basePrefix" value="${urlPrefix.endsWith('/') ? urlPrefix.substring(0, urlPrefix.length() - 1) : urlPrefix}" />
<j:set var="url" value="${basePrefix}/doDelete" />
</j:if>
<j:if test="${hasPermission}">
<l:task confirmationMessage="${message}" href="${url}" icon="icon-edit-delete icon-md" post="true" requiresConfirmation="true" title="${title}" destructive="true"/>
</j:if>
</j:jelly>