You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by co...@apache.org on 2012/10/30 12:38:17 UTC

svn commit: r1403669 - in /incubator/syncope/trunk/console/src/main: java/org/apache/syncope/console/markup/html/ java/org/apache/syncope/console/pages/ java/org/apache/syncope/console/pages/panels/ java/org/apache/syncope/console/wicket/markup/html/fo...

Author: coheigea
Date: Tue Oct 30 11:38:17 2012
New Revision: 1403669

URL: http://svn.apache.org/viewvc?rev=1403669&view=rev
Log:
[SYNCOPE-221] - Let user explicitly choose to give value for AccountLink

Modified:
    incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/markup/html/CrontabContainer.java
    incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SchemaModalPage.java
    incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceMappingPanel.java
    incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/AjaxCheckBoxPanel.java
    incubator/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/ResourceModalPage.properties
    incubator/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/ResourceModalPage_it.properties
    incubator/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/ResourceMappingPanel.html

Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/markup/html/CrontabContainer.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/markup/html/CrontabContainer.java?rev=1403669&r1=1403668&r2=1403669&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/markup/html/CrontabContainer.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/markup/html/CrontabContainer.java Tue Oct 30 11:38:17 2012
@@ -67,7 +67,7 @@ public class CrontabContainer extends We
         super(id);
         setOutputMarkupId(true);
 
-        final DropDownChoice<SelectOption> cronTemplateChooser = new DropDownChoice("cronTemplateChooser") {
+        final DropDownChoice<SelectOption> cronTemplateChooser = new DropDownChoice<SelectOption>("cronTemplateChooser") {
 
             private static final long serialVersionUID = -5843424545478691442L;
 

Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SchemaModalPage.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SchemaModalPage.java?rev=1403669&r1=1403668&r2=1403669&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SchemaModalPage.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SchemaModalPage.java Tue Oct 30 11:38:17 2012
@@ -109,7 +109,7 @@ public class SchemaModalPage extends Abs
         type.addRequiredLabel();
 
         final AjaxTextFieldPanel enumerationValuesPanel = 
-            new AjaxTextFieldPanel("panel", "enumerationValues", new Model(null));
+            new AjaxTextFieldPanel("panel", "enumerationValues", new Model<String>(null));
         final MultiValueSelectorPanel<String> enumerationValues =
                 new MultiValueSelectorPanel<String>("enumerationValues",
                 new Model(),
@@ -121,7 +121,7 @@ public class SchemaModalPage extends Abs
         final MultiValueSelectorPanel<String> enumerationKeys =
                 new MultiValueSelectorPanel<String>("enumerationKeys",
                 new Model(),
-                new AjaxTextFieldPanel("panel", "enumerationKeys", new Model(null)));
+                new AjaxTextFieldPanel("panel", "enumerationKeys", new Model<String>(null)));
         schemaForm.add(enumerationKeys);
 
         enumerationKeys.setModelObject((Serializable) getEnumValuesAsList(schema.getEnumerationKeys()));

Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceMappingPanel.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceMappingPanel.java?rev=1403669&r1=1403668&r2=1403669&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceMappingPanel.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/ResourceMappingPanel.java Tue Oct 30 11:38:17 2012
@@ -18,6 +18,7 @@
  */
 package org.apache.syncope.console.pages.panels;
 
+import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
@@ -113,6 +114,11 @@ public class ResourceMappingPanel extend
      * Mapping container.
      */
     private final transient WebMarkupContainer mappingContainer;
+    
+    /**
+     * AccountLink container.
+     */
+    private final transient WebMarkupContainer accountLinkContainer;
 
     /**
      * OnChange event name.
@@ -148,10 +154,46 @@ public class ResourceMappingPanel extend
         this.resourceTO = resourceTO;
 
         initResourceSchemaNames();
+        
+        accountLinkContainer = new WebMarkupContainer("accountLinkContainer");
+        accountLinkContainer.setOutputMarkupId(true);
+        add(accountLinkContainer);
+
+        boolean accountLinkEnabled = false;
+        if (resourceTO.getAccountLink() != null) {
+            accountLinkEnabled = true;
+        }
+        final AjaxCheckBoxPanel accountLinkCheckbox = new AjaxCheckBoxPanel("accountLinkCheckbox", 
+                        new ResourceModel("accountLinkCheckbox", "accountLinkCheckbox").getObject(),
+                        new Model<Boolean>(Boolean.valueOf(accountLinkEnabled)));
+        accountLinkCheckbox.setEnabled(true);
+        
+        accountLinkContainer.add(accountLinkCheckbox);
 
         final AjaxTextFieldPanel accountLink = new AjaxTextFieldPanel("accountLink", new ResourceModel("accountLink",
                 "accountLink").getObject(), new PropertyModel<String>(resourceTO, "accountLink"));
-        add(accountLink);
+        accountLink.setEnabled(accountLinkEnabled);
+        
+        accountLinkContainer.add(accountLink);
+        
+        accountLinkCheckbox.getField().add(new AjaxFormComponentUpdatingBehavior("onchange") {
+
+            private static final long serialVersionUID = -1107858522700306810L;
+
+            @Override
+            protected void onUpdate(final AjaxRequestTarget target) {
+                if (accountLinkCheckbox.getModelObject()) {
+                    accountLink.setEnabled(Boolean.TRUE);
+                    accountLink.setModelObject("");
+                } else {
+                    accountLink.setEnabled(Boolean.FALSE);
+                    accountLink.setModelObject("");
+                }
+                
+                target.add(accountLink);
+            }
+        });
+        
 
         mappingContainer = new WebMarkupContainer("mappingContainer");
         mappingContainer.setOutputMarkupId(true);

Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/AjaxCheckBoxPanel.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/AjaxCheckBoxPanel.java?rev=1403669&r1=1403668&r2=1403669&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/AjaxCheckBoxPanel.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/AjaxCheckBoxPanel.java Tue Oct 30 11:38:17 2012
@@ -52,7 +52,7 @@ public class AjaxCheckBoxPanel extends F
     }
 
     @Override
-    public FieldPanel addRequiredLabel() {
+    public FieldPanel<Boolean> addRequiredLabel() {
         if (!isRequired()) {
             setRequired(true);
         }
@@ -63,7 +63,7 @@ public class AjaxCheckBoxPanel extends F
     }
 
     @Override
-    public FieldPanel setNewModel(final List<Serializable> list) {
+    public FieldPanel<Boolean> setNewModel(final List<Serializable> list) {
         setNewModel(new Model() {
 
             private static final long serialVersionUID = 527651414610325237L;

Modified: incubator/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/ResourceModalPage.properties
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/ResourceModalPage.properties?rev=1403669&r1=1403668&r2=1403669&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/ResourceModalPage.properties (original)
+++ incubator/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/ResourceModalPage.properties Tue Oct 30 11:38:17 2012
@@ -42,6 +42,7 @@ fieldName=Field name
 accountIdValidation=There must be exactly one AccountId
 propagationMode=Propagation mode
 accountLink=Account link
+enable=Enable
 
 createTraceLevel=Create trace level
 updateTraceLevel=Update trace level

Modified: incubator/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/ResourceModalPage_it.properties
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/ResourceModalPage_it.properties?rev=1403669&r1=1403668&r2=1403669&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/ResourceModalPage_it.properties (original)
+++ incubator/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/ResourceModalPage_it.properties Tue Oct 30 11:38:17 2012
@@ -43,6 +43,7 @@ fieldName=Nome campo
 accountIdValidation=Deve essere definito esattamente un AccountId
 propagationMode=Modalit\u00e0 di propagazione
 accountLink=Account link
+enable=Abilita
 
 createTraceLevel=Livello di tracciamento delle creazioni
 updateTraceLevel=Livello di tracciamento degli aggiornamenti

Modified: incubator/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/ResourceMappingPanel.html
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/ResourceMappingPanel.html?rev=1403669&r1=1403668&r2=1403669&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/ResourceMappingPanel.html (original)
+++ incubator/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/ResourceMappingPanel.html Tue Oct 30 11:38:17 2012
@@ -74,10 +74,31 @@
                 </div>
             </div>
 
-            <div class="tablerow" style="margin-top: 10px">
-                <div class="tablecolumn_label long_fixedsize">
-                    <label for="accountLink"><wicket:message key="accountLink"/></label>
-                    <span wicket:id="accountLink">[accountLink]</span>
+            <div class="tablerow">
+                <div class="tablecolumn_field all_dynamicsize">
+                    <table id="accountLinkTable"
+                           class="ui-widget ui-widget-content ui-corner-all"
+                           style="font-size: 1em;margin-top:2px;"
+                           border-width="1px;" border-color="#cccccc;" border-style="solid;"
+                           width="100%" cellpadding="2px" cellspacing="1px"
+                           wicket:id="accountLinkContainer">
+                        <thead>
+                            <tr class="ui-widget-header">
+                                <th width="10%" align="left"><wicket:message key="enable"/></th>
+                                <th align="left"><wicket:message key="accountLink"/></th>
+                            </tr>
+                        </thead>
+                        <tbody>
+                            <tr>
+                                <td width="10%" align="left" valign="middle">
+                                    <span wicket:id="accountLinkCheckbox">[accountLinkCheckbox]</span>
+                                </td>
+                                <td align="left" valign="middle">
+                                    <span wicket:id="accountLink">[accountLink]</span>
+                                </td>
+                            </tr>
+                        </tbody>
+                    </table>
                 </div>
             </div>
         </div>