This is an automated email from the ASF dual-hosted git repository.
andreapatricelli pushed a commit to branch 2_1_X
in repository https://gitbox.apache.org/repos/asf/syncope.git
The following commit(s) were added to refs/heads/2_1_X by this push:
new c1a8c04 [SYNCOPE-1476] fixes enum schema creation, final solution
improving AbstractMultiPanel
c1a8c04 is described below
commit c1a8c047595dd3a852574dcc848a14cf7426f9e7
Author: Andrea Patricelli <[email protected]>
AuthorDate: Tue Jun 4 16:56:43 2019 +0200
[SYNCOPE-1476] fixes enum schema creation, final solution improving
AbstractMultiPanel
---
.../org/apache/syncope/client/console/panels/SchemaTypePanel.java | 3 ---
.../console/wicket/markup/html/bootstrap/dialog/BaseModal.java | 3 +--
.../client/console/wicket/markup/html/form/AbstractMultiPanel.java | 7 ++++++-
.../org/apache/syncope/client/console/wizards/WizardMgtPanel.java | 6 ------
.../org/apache/syncope/client/console/wizards/any/PlainAttrs.java | 6 ++++--
.../java/org/apache/syncope/fit/console/AbstractTypesITCase.java | 6 ++++++
6 files changed, 17 insertions(+), 14 deletions(-)
diff --git
a/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
b/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
index 3e3c508..620d255 100644
---
a/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
+++
b/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
@@ -86,9 +86,6 @@ public class SchemaTypePanel extends
TypesDirectoryPanel<SchemaTO, SchemaProvide
super(id, true, pageRef);
this.schemaType = schemaType;
- // SYNCOPE-1476
- setFormAsMultipart(true);
-
disableCheckBoxes();
try {
diff --git
a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java
b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java
index 079eb2b..d8be8d1 100644
---
a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java
+++
b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java
@@ -127,8 +127,7 @@ public class BaseModal<T extends Serializable> extends
Modal<T> {
return this;
}
- // SYNCOPE-1476
- public BaseModal<T> setFormMultipart(final boolean multipart) {
+ public BaseModal<T> setFormAsMultipart(final boolean multipart) {
form.setMultiPart(multipart);
return this;
}
diff --git
a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AbstractMultiPanel.java
b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AbstractMultiPanel.java
index 0c06daa..44dcfbd 100644
---
a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AbstractMultiPanel.java
+++
b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AbstractMultiPanel.java
@@ -60,7 +60,6 @@ public abstract class AbstractMultiPanel<INNER> extends
AbstractFieldPanel<List<
form = new Form<>("innerForm");
form.setDefaultButton(null);
- form.setMultiPart(true);
container.add(form);
// -----------------------
@@ -74,6 +73,12 @@ public abstract class AbstractMultiPanel<INNER> extends
AbstractFieldPanel<List<
}
}
+ // SYNCOPE-1476
+ public AbstractMultiPanel<INNER> setFormAsMultipart(final boolean
multipart) {
+ form.setMultiPart(multipart);
+ return this;
+ }
+
private Fragment getNoDataFragment(final IModel<List<INNER>> model, final
String label) {
final Fragment fragment = new Fragment("content", "noDataFragment",
AbstractMultiPanel.this);
fragment.add(new Label("field-label", new ResourceModel(label,
label)));
diff --git
a/client/console/src/main/java/org/apache/syncope/client/console/wizards/WizardMgtPanel.java
b/client/console/src/main/java/org/apache/syncope/client/console/wizards/WizardMgtPanel.java
index 230d3cc..57b8226 100644
---
a/client/console/src/main/java/org/apache/syncope/client/console/wizards/WizardMgtPanel.java
+++
b/client/console/src/main/java/org/apache/syncope/client/console/wizards/WizardMgtPanel.java
@@ -353,12 +353,6 @@ public abstract class WizardMgtPanel<T extends
Serializable> extends Panel imple
return this;
}
- // SYNCOPE-1476
- public WizardMgtPanel<T> setFormAsMultipart(final boolean multipart) {
- this.modal.setFormMultipart(multipart);
- return this;
- }
-
/**
* Set window close callback for the given modal.
*
diff --git
a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
index 804d5d9..1a7d61c 100644
---
a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
+++
b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
@@ -439,6 +439,7 @@ public class PlainAttrs extends
AbstractAttrs<PlainSchemaTO> {
}
});
} else {
+ // SYNCOPE-1476 set form as multipart to properly
manage membership attributes
panel = new MultiFieldPanel.Builder<>(new
ListModel<String>() {
private static final long serialVersionUID =
-1765231556272935141L;
@@ -449,7 +450,7 @@ public class PlainAttrs extends
AbstractAttrs<PlainSchemaTO> {
}
}).build("panel",
attrTO.getSchema(),
- FieldPanel.class.cast(panel));
+
FieldPanel.class.cast(panel)).setFormAsMultipart(true);
// SYNCOPE-1215 the entire multifield panel must be
readonly, not only its field
((MultiFieldPanel)
panel).setReadOnly(schemas.get(attrTO.getSchema()).isReadonly());
}
@@ -487,11 +488,12 @@ public class PlainAttrs extends
AbstractAttrs<PlainSchemaTO> {
FieldPanel.class.cast(panel).setNewModel(attrTO.getValues());
} else {
+ // SYNCOPE-1476 set form as multipart to properly
manage membership attributes
panel = new MultiFieldPanel.Builder<>(
new PropertyModel<>(attrTO, "values")).build(
"panel",
attrTO.getSchema(),
- FieldPanel.class.cast(panel));
+
FieldPanel.class.cast(panel)).setFormAsMultipart(true);
// SYNCOPE-1215 the entire multifield panel must be
readonly, not only its field
((MultiFieldPanel)
panel).setReadOnly(schemas.get(attrTO.getSchema()).isReadonly());
}
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
index d3f74c7..bebb09a 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
@@ -23,6 +23,7 @@ import org.apache.syncope.client.console.commons.Constants;
import org.apache.syncope.client.console.pages.Types;
import
org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.AjaxFallbackDataTable;
import org.apache.wicket.util.tester.FormTester;
+import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
public abstract class AbstractTypesITCase extends AbstractConsoleITCase {
@@ -99,9 +100,14 @@ public abstract class AbstractTypesITCase extends
AbstractConsoleITCase {
+
"accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:form:view:details:key:textField", key);
formTester.setValue("content:form:view:details:type:dropDownChoiceField", "3");
+// Assertions.assertTrue(formTester.getForm().isMultiPart());
+
TESTER.executeAjaxEvent("body:content:tabbedPanel:panel:accordionPanel:tabs:0:"
+
"body:content:outerObjectsRepeater:0:outer:form:content:form:buttons:next",
Constants.ON_CLICK);
+ LOG.info(">>>>>>>>>>>>>>>> {} - {} - {}",
TESTER.getLastResponseAsString(), TESTER.getLastResponse().
+ getDocument(), TESTER.getLastRenderedPage());
+
formTester = TESTER.newFormTester("body:content:tabbedPanel:panel:"
+
"accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:form");
formTester.submit("content:form:buttons:finish");