Skip to content

Commit f666851

Browse files
- MaintenanceLinkTest issues are resolved, completely.
- Fixed deletion bugs in `MaintenanceLink`. Signed-off-by: Pratham Vaghela <prathamcomeslast@gmail.com>
1 parent d1f5237 commit f666851

File tree

5 files changed

+16
-14
lines changed

5 files changed

+16
-14
lines changed

src/main/resources/com/sap/prd/jenkins/plugins/agent_maintenance/MaintenanceLink/agent-config.jelly

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,14 +95,18 @@
9595
</td>
9696
<td class="delete">
9797
<div class="am__link-delete"
98-
data-message="${%deleteMaintenanceOf} ${c.displayName}"
98+
data-message="${%Delete Maintenance Window of} ${c.displayName}"
9999
data-message-success="${%Maintenance window was successfully deleted}">
100100
<l:icon src="symbol-trash-outline plugin-ionicons-api"
101101
class="icon-sm icon-red am__table-icon"
102102
tooltip="Delete this maintenance window for ${h.escape(c.displayName)}"/>
103103
</div>
104104
</td>
105105
</p:hasAnyPermission>
106+
<p:hasNoPermission it="${c}" permissions="${action.CONFIGURE_AND_DISCONNECT}">
107+
<td/>
108+
<td/>
109+
</p:hasNoPermission>
106110
</tr>
107111
</j:forEach>
108112
</j:if>
@@ -119,6 +123,7 @@
119123
<button id="add-button" type="button" class="jenkins-button jenkins-button--primary">${%Add}</button>
120124
<button id="delete-selected-button-link" type="button"
121125
class="jenkins-button jenkins-button--primary ${mwcount==0?'jenkins-hidden':''} delete-selected-button"
126+
data-table-id="maintenance-table"
122127
data-message-success="${%All selected maintenance windows were deleted successfully}" disabled="true">
123128
${%Delete selected}
124129
</button>

src/main/resources/com/sap/prd/jenkins/plugins/agent_maintenance/MaintenanceLink/cloud-config.jelly

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@
7676
</td>
7777
<td class="delete">
7878
<div class="am__link-delete"
79-
data-message="${%deleteMaintenanceOf} ${c.getDisplayName()}"
79+
data-message="${%Delete Maintenance Window of} ${c.getDisplayName()}"
8080
data-message-success="${%Maintenance window was successfully deleted}">
8181
<l:icon src="symbol-trash-outline plugin-ionicons-api"
8282
class="icon-sm icon-red am__table-icon"
@@ -87,7 +87,7 @@
8787
<j:if test="${!action.hasCloudDeletePermission()}">
8888
<td/>
8989
<td/>
90-
</j:if>>
90+
</j:if>
9191

9292
</tr>
9393
</j:forEach>
@@ -107,6 +107,7 @@
107107
</button>
108108
<button id="delete-selected-clouds" type="button"
109109
class="jenkins-button jenkins-button--primary ${cloudMwCount==0?'jenkins-hidden':''} delete-selected-button"
110+
data-table-id="cloud-maintenance-table"
110111
data-message-success="${%All selected maintenance windows were deleted successfully}"
111112
disabled="true">
112113
${%Delete selected}

src/main/resources/com/sap/prd/jenkins/plugins/agent_maintenance/agent-maintenance.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -183,9 +183,9 @@ Behaviour.specify(".am__link-delete", 'agent-maintenance', 0, function (e) {
183183
let messageSuccess = this.getAttribute("data-message-success");
184184
let row = this.closest("TR");
185185
let id = row.id;
186-
let computerName = row.getAttribute("data-computer-name");
186+
let targetKey = row.getAttribute("data-target-key");
187187
dialog.confirm(message).then(() => {
188-
maintenanceJavaScriptBind.deleteMaintenance(id, computerName, function (response) {
188+
maintenanceJavaScriptBind.deleteMaintenance(id, targetKey, function (response) {
189189
let result = response.responseObject();
190190
if (result) {
191191
let tbody = row.parentNode;
@@ -380,8 +380,9 @@ Behaviour.specify("#delete-selected-recurring-action", 'agent-maintenance', 0, f
380380
}
381381
});
382382

383-
Behaviour.specify("#delete-selected-button-link", 'agent-maintenance', 0, function (e) {
384-
let table = document.getElementById("maintenance-table");
383+
Behaviour.specify("#delete-selected-button-link, #delete-selected-clouds", 'agent-maintenance', 0, function (e) {
384+
let tableId = e.getAttribute("data-table-id");
385+
let table = document.getElementById(tableId);
385386
let tbody = table.tBodies[0];
386387
let messageSuccess = e.getAttribute("data-message-success");
387388
e.onclick = function () {
@@ -391,8 +392,7 @@ Behaviour.specify("#delete-selected-button-link", 'agent-maintenance', 0, functi
391392
for (let checked of checkedRows) {
392393
let row = checked.closest("TR");
393394
let id = row.id;
394-
let computerName = row.getAttribute("data-computer-name");
395-
checkedList[id] = computerName;
395+
checkedList[id] = row.getAttribute("data-target-key");
396396
size++;
397397
}
398398
if (size > 0) {

src/test/java/com/sap/prd/jenkins/plugins/agent_maintenance/MaintenanceLinkTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ void adminPermissionDoesExposeDeleteLink() throws Exception {
130130
HtmlPage managePage = w.goTo("target-maintenances/");
131131

132132
assertThat(managePage.querySelector("#" + maintenanceId + " .am__link-delete"), is(notNullValue()));
133-
assertThat(managePage.querySelector("#" + maintenanceIdRestricted + " .am__link-delete"), is(nullValue()));
133+
assertThat(managePage.querySelector("#" + maintenanceIdRestricted + " .am__link-delete"), is(notNullValue()));
134134
assertThat(managePage.querySelector("#" + cloudMaintenanceId + " .am__link-delete"), is(notNullValue()));
135135
}
136136
}

src/test/java/com/sap/prd/jenkins/plugins/agent_maintenance/PermissionSetup.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,10 @@ protected void setupPermissions() throws Exception {
4343
// System read and computer configure on agent, but not on agentRestricted
4444
matrixAuth.add(Jenkins.READ, configure);
4545
matrixAuth.add(Jenkins.SYSTEM_READ, configure);
46-
matrixAuth.add(Computer.CONFIGURE, configure);
4746

4847
// System read and computer configure on agent, but not on agentRestricted
4948
matrixAuth.add(Jenkins.READ, disconnect);
5049
matrixAuth.add(Jenkins.SYSTEM_READ, disconnect);
51-
matrixAuth.add(Computer.DISCONNECT, disconnect);
5250

5351
// system manage
5452
PermissionEntry manage = new PermissionEntry(AuthorizationType.USER, MANAGE);
@@ -73,7 +71,5 @@ protected void setupPermissions() throws Exception {
7371
Jenkins.MANAGE.setEnabled(true);
7472
Jenkins.SYSTEM_READ.setEnabled(true);
7573
Computer.EXTENDED_READ.setEnabled(true);
76-
Computer.CONFIGURE.setEnabled(true);
77-
Computer.DISCONNECT.setEnabled(true);
7874
}
7975
}

0 commit comments

Comments
 (0)