You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by fm...@apache.org on 2017/05/23 09:50:43 UTC

syncope git commit: [SYNCOPE-1081] fix the approval + close action link toggle panel when asking for bulk actions

Repository: syncope
Updated Branches:
  refs/heads/2_0_X 894d22695 -> 04f255360


[SYNCOPE-1081] fix the approval + close action link toggle panel when asking for bulk actions


Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/04f25536
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/04f25536
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/04f25536

Branch: refs/heads/2_0_X
Commit: 04f25536045877df65ed9ec35fc6203817cd4b5a
Parents: 894d226
Author: fmartelli <fa...@gmail.com>
Authored: Tue May 23 11:50:27 2017 +0200
Committer: fmartelli <fa...@gmail.com>
Committed: Tue May 23 11:50:27 2017 +0200

----------------------------------------------------------------------
 .../approvals/ApprovalDirectoryPanel.java       | 21 ++++++++++++++++++--
 .../client/console/approvals/ApprovalModal.java | 16 ++++-----------
 .../console/panels/AjaxDataTablePanel.java      |  5 +++++
 .../data/table/AjaxFallbackDataTable.java       |  4 +---
 4 files changed, 29 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/04f25536/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalDirectoryPanel.java
index a3249cd..f40d7c6 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalDirectoryPanel.java
@@ -45,6 +45,7 @@ import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
+import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.model.AbstractReadOnlyModel;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
@@ -132,9 +133,25 @@ public class ApprovalDirectoryPanel
                 final IModel<WorkflowFormTO> formModel = new CompoundPropertyModel<>(model.getObject());
                 modal.setFormModel(formModel);
 
-                target.add(modal.setContent(new ApprovalModal(modal, pageRef, model.getObject())));
-                modal.header(new Model<>(getString("approval.edit", new Model<>(model.getObject()))));
+                target.add(modal.setContent(new ApprovalModal(modal, pageRef, model.getObject()) {
+
+                    private static final long serialVersionUID = 5546519445061007248L;
+
+                    @Override
+                    public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+                        try {
+                            super.onSubmit(target, form);
 
+                            ApprovalDirectoryPanel.this.getTogglePanel().close(target);
+                        } catch (SyncopeClientException e) {
+                            SyncopeConsoleSession.get().error(getString(Constants.ERROR) + ": " + e.getMessage());
+                        }
+                        ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
+                    }
+
+                }));
+                
+                modal.header(new Model<>(getString("approval.edit", new Model<>(model.getObject()))));
                 modal.show(true);
             }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/04f25536/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalModal.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalModal.java b/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalModal.java
index c42203a..4a75c06 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalModal.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/approvals/ApprovalModal.java
@@ -24,7 +24,6 @@ import org.apache.syncope.client.console.pages.BasePage;
 import org.apache.syncope.client.console.panels.MultilevelPanel;
 import org.apache.syncope.client.console.rest.UserWorkflowRestClient;
 import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
-import org.apache.syncope.common.lib.SyncopeClientException;
 import org.apache.syncope.common.lib.to.WorkflowFormTO;
 import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -65,17 +64,10 @@ public class ApprovalModal extends Panel implements SubmitableModalPanel, Wizard
 
     @Override
     public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
-        try {
-            new UserWorkflowRestClient().submitForm(formTO);
-
-            this.modal.show(false);
-            this.modal.close(target);
-
-            SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
-        } catch (SyncopeClientException e) {
-            SyncopeConsoleSession.get().error(getString(Constants.ERROR) + ": " + e.getMessage());
-        }
-        ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
+        new UserWorkflowRestClient().submitForm(formTO);
+        this.modal.show(false);
+        this.modal.close(target);
+        SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/syncope/blob/04f25536/client/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java
index fc2cb45..c2098b2 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java
@@ -238,6 +238,11 @@ public final class AjaxDataTablePanel<T extends Serializable, S> extends DataTab
 
             @Override
             protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+                // send event to close eventually opened actions toggle panel
+                if (builder.getTogglePanel() != null) {
+                    builder.getTogglePanel().close(target);
+                }
+
                 if (builder.multiLevelPanel == null) {
                     bulkModal.header(new ResourceModel("bulk.action", "Bulk action"));
                     bulkModal.changeCloseButtonLabel(getString("cancel", null, "Cancel"), target);

http://git-wip-us.apache.org/repos/asf/syncope/blob/04f25536/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/AjaxFallbackDataTable.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/AjaxFallbackDataTable.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/AjaxFallbackDataTable.java
index 4afa9ea..15c6a0d 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/AjaxFallbackDataTable.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/AjaxFallbackDataTable.java
@@ -129,9 +129,7 @@ public class AjaxFallbackDataTable<T extends Serializable, S> extends DataTable<
 
                     @Override
                     protected void onEvent(final AjaxRequestTarget target) {
-                        if (target.getLastFocusedElementId() == null
-                                || (!target.getLastFocusedElementId().startsWith("check")
-                                && !target.getLastFocusedElementId().startsWith("groupselector"))) {
+                        if (target.getLastFocusedElementId() == null) {
                             togglePanel.toggleWithContent(target, getActions(model), model.getObject());
                         }
                     }