diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/footer/SMDeleteActionsLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/footer/SMDeleteActionsLayout.java
index cfa7c2125..f101fe7f8 100644
--- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/footer/SMDeleteActionsLayout.java
+++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/footer/SMDeleteActionsLayout.java
@@ -150,7 +150,12 @@ public class SMDeleteActionsLayout extends AbstractDeleteActionsLayout {
*/
@Override
protected boolean hasUpdatePermission() {
- return permChecker.hasUpdateDistributionPermission();
+ /**
+ * Footer layout should be displayed only when software modeule has
+ * delete permission.So update permission need not be checked in this
+ * case.
+ */
+ return false;
}
/*
@@ -361,15 +366,4 @@ public class SMDeleteActionsLayout extends AbstractDeleteActionsLayout {
*/
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.hawkbit.ui.common.footer.AbstractDeleteActionsLayout#
- * hasReadPermission()
- */
- @Override
- protected boolean hasReadPermission() {
- return permChecker.hasReadDistributionPermission();
- }
-
}
diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/footer/AbstractDeleteActionsLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/footer/AbstractDeleteActionsLayout.java
index f991a729c..497ca9942 100644
--- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/footer/AbstractDeleteActionsLayout.java
+++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/footer/AbstractDeleteActionsLayout.java
@@ -54,7 +54,7 @@ public abstract class AbstractDeleteActionsLayout extends VerticalLayout impleme
* Initialize.
*/
protected void init() {
- if (hasReadPermission() || hasDeletePermission() || hasUpdatePermission() || hasBulkUploadPermission()) {
+ if (hasCountMessage() || hasDeletePermission() || hasUpdatePermission() || hasBulkUploadPermission()) {
createComponents();
buildLayout();
reload();
@@ -98,13 +98,16 @@ public abstract class AbstractDeleteActionsLayout extends VerticalLayout impleme
hLayout.addComponent(bulkUploadStatusButton);
hLayout.setComponentAlignment(bulkUploadStatusButton, Alignment.BOTTOM_LEFT);
}
- addComponent(dropHintLayout);
- addComponent(hLayout);
- setComponentAlignment(dropHintLayout, Alignment.BOTTOM_CENTER);
- setComponentAlignment(hLayout, Alignment.BOTTOM_CENTER);
+ if (dropHintLayout.getComponentCount() > 0) {
+ addComponent(dropHintLayout);
+ setComponentAlignment(dropHintLayout, Alignment.BOTTOM_CENTER);
+ }
+ if (hLayout.getComponentCount() > 0) {
+ addComponent(hLayout);
+ setComponentAlignment(hLayout, Alignment.BOTTOM_CENTER);
+ }
setStyleName("footer-layout");
setWidth("100%");
-
}
private DragAndDropWrapper createDeleteWrapperLayout() {
@@ -155,21 +158,29 @@ public abstract class AbstractDeleteActionsLayout extends VerticalLayout impleme
}
protected void setUploadStatusButtonCaption(final Long count) {
- bulkUploadStatusButton.setCaption("
" + count + "
");
+ if (null != bulkUploadStatusButton) {
+ bulkUploadStatusButton.setCaption("" + count + "
");
+ }
}
protected void enableBulkUploadStatusButton() {
- bulkUploadStatusButton.setVisible(true);
+ if (null != bulkUploadStatusButton) {
+ bulkUploadStatusButton.setVisible(true);
+ }
}
protected void updateUploadBtnIconToComplete() {
- bulkUploadStatusButton.removeStyleName(SPUIStyleDefinitions.BULK_UPLOAD_PROGRESS_INDICATOR_STYLE);
- bulkUploadStatusButton.setIcon(FontAwesome.UPLOAD);
+ if (null != bulkUploadStatusButton) {
+ bulkUploadStatusButton.removeStyleName(SPUIStyleDefinitions.BULK_UPLOAD_PROGRESS_INDICATOR_STYLE);
+ bulkUploadStatusButton.setIcon(FontAwesome.UPLOAD);
+ }
}
protected void updateUploadBtnIconToProgressIndicator() {
- bulkUploadStatusButton.addStyleName(SPUIStyleDefinitions.BULK_UPLOAD_PROGRESS_INDICATOR_STYLE);
- bulkUploadStatusButton.setIcon(null);
+ if (null != bulkUploadStatusButton) {
+ bulkUploadStatusButton.addStyleName(SPUIStyleDefinitions.BULK_UPLOAD_PROGRESS_INDICATOR_STYLE);
+ bulkUploadStatusButton.setIcon(null);
+ }
}
protected void actionButtonClicked() {
@@ -217,10 +228,12 @@ public abstract class AbstractDeleteActionsLayout extends VerticalLayout impleme
* new count value.
*/
protected void updateActionsCount(final int newCount) {
- if (newCount > 0) {
- noActionBtn.setCaption(getActionsButtonLabel() + "" + newCount + "
");
- } else {
- noActionBtn.setCaption(getNoActionsButtonLabel());
+ if (noActionBtn != null) {
+ if (newCount > 0) {
+ noActionBtn.setCaption(getActionsButtonLabel() + "" + newCount + "
");
+ } else {
+ noActionBtn.setCaption(getNoActionsButtonLabel());
+ }
}
}
@@ -243,8 +256,10 @@ public abstract class AbstractDeleteActionsLayout extends VerticalLayout impleme
}
protected void hideBulkUploadStatusButton() {
- bulkUploadStatusButton.setCaption(null);
- bulkUploadStatusButton.setVisible(false);
+ if (null != bulkUploadStatusButton) {
+ bulkUploadStatusButton.setCaption(null);
+ bulkUploadStatusButton.setVisible(false);
+ }
}
/**
@@ -358,6 +373,4 @@ public abstract class AbstractDeleteActionsLayout extends VerticalLayout impleme
protected abstract void showBulkUploadWindow();
- protected abstract boolean hasReadPermission();
-
}
diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/footer/DSDeleteActionsLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/footer/DSDeleteActionsLayout.java
index cc89312b2..f8a8c4cb4 100644
--- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/footer/DSDeleteActionsLayout.java
+++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/footer/DSDeleteActionsLayout.java
@@ -541,14 +541,4 @@ public class DSDeleteActionsLayout extends AbstractDeleteActionsLayout {
return getCurrentDistributionSetType() != null && getCurrentDistributionSetType().getName().equals(dsTypeName);
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.hawkbit.ui.common.footer.AbstractDeleteActionsLayout#
- * hasReadPermission()
- */
- @Override
- protected boolean hasReadPermission() {
- return permChecker.hasReadDistributionPermission();
- }
}
diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/DeploymentView.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/DeploymentView.java
index 565404106..78f1a0530 100644
--- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/DeploymentView.java
+++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/DeploymentView.java
@@ -206,13 +206,18 @@ public class DeploymentView extends VerticalLayout implements View, BrowserWindo
}
private Boolean showFooterLayout() {
- if ((permChecker.hasDeleteDistributionPermission() || permChecker.hasDeleteTargetPermission())
- || (permChecker.hasReadDistributionPermission() && permChecker.hasUpdateTargetPermission())) {
+ if (permChecker.hasTargetReadPermission()
+ || (permChecker.hasDeleteDistributionPermission() || permChecker.hasDeleteTargetPermission())
+ || hasDeploymentPermission()) {
return true;
}
return false;
}
+ private boolean hasDeploymentPermission() {
+ return permChecker.hasReadDistributionPermission() && permChecker.hasUpdateTargetPermission();
+ }
+
private void displayTargetWidgetsOnly() {
mainLayout.setColumns(3);
mainLayout.setRows(2);
diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/DeleteActionsLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/DeleteActionsLayout.java
index fe1d5dd2b..9473ea783 100644
--- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/DeleteActionsLayout.java
+++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/DeleteActionsLayout.java
@@ -193,7 +193,7 @@ public class DeleteActionsLayout extends AbstractDeleteActionsLayout {
*/
@Override
protected boolean hasUpdatePermission() {
- return permChecker.hasUpdateDistributionPermission() || permChecker.hasUpdateTargetPermission();
+ return permChecker.hasUpdateTargetPermission() && permChecker.hasReadDistributionPermission();
}
/*
@@ -377,7 +377,7 @@ public class DeleteActionsLayout extends AbstractDeleteActionsLayout {
*/
@Override
protected boolean hasCountMessage() {
- return true;
+ return permChecker.hasTargetReadPermission();
}
/*
@@ -589,9 +589,4 @@ public class DeleteActionsLayout extends AbstractDeleteActionsLayout {
}
}
-
- @Override
- protected boolean hasReadPermission() {
- return permChecker.hasTargetReadPermission();
- }
}