Return-Path: X-Original-To: apmail-syncope-commits-archive@www.apache.org Delivered-To: apmail-syncope-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C5A2ADC04 for ; Tue, 29 Jan 2013 12:25:07 +0000 (UTC) Received: (qmail 72240 invoked by uid 500); 29 Jan 2013 12:25:07 -0000 Delivered-To: apmail-syncope-commits-archive@syncope.apache.org Received: (qmail 72176 invoked by uid 500); 29 Jan 2013 12:25:06 -0000 Mailing-List: contact commits-help@syncope.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@syncope.apache.org Delivered-To: mailing list commits@syncope.apache.org Received: (qmail 72150 invoked by uid 99); 29 Jan 2013 12:25:05 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 29 Jan 2013 12:25:05 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 29 Jan 2013 12:24:58 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 0D0D42388980; Tue, 29 Jan 2013 12:24:37 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1439854 - in /syncope/trunk: common/src/main/java/org/apache/syncope/common/to/ console/src/main/java/org/apache/syncope/console/commons/ console/src/main/java/org/apache/syncope/console/pages/ console/src/main/java/org/apache/syncope/cons... Date: Tue, 29 Jan 2013 12:24:35 -0000 To: commits@syncope.apache.org From: ilgrosso@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20130129122437.0D0D42388980@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: ilgrosso Date: Tue Jan 29 12:24:34 2013 New Revision: 1439854 URL: http://svn.apache.org/viewvc?rev=1439854&view=rev Log: [SYNCOPE-122] Extension on console almost done: only missing on-the-fly selection for resources added (directly or via role selection) but not yet submitted Added: syncope/trunk/console/src/main/webapp/img/actions/enable.png (with props) Modified: syncope/trunk/common/src/main/java/org/apache/syncope/common/to/PropagationRequestTO.java syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusBean.java syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusUtils.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/EditUserModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AbstractSearchResultPanel.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/StatusPanel.java syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/UserSearchResultPanel.java syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/UserRestClient.java syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLink.java syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.java syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/ResultStatusModalPage.html syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.html syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.properties syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage_it.properties syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/StatusPanel.html syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.html syncope/trunk/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java syncope/trunk/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java syncope/trunk/console/src/test/java/org/apache/syncope/console/ReportTestITCase.java syncope/trunk/console/src/test/java/org/apache/syncope/console/ResourceTestITCase.java syncope/trunk/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java syncope/trunk/console/src/test/java/org/apache/syncope/console/SchemaTestITCase.java syncope/trunk/console/src/test/java/org/apache/syncope/console/TaskTestITCase.java syncope/trunk/console/src/test/java/org/apache/syncope/console/UserTestITCase.java Modified: syncope/trunk/common/src/main/java/org/apache/syncope/common/to/PropagationRequestTO.java URL: http://svn.apache.org/viewvc/syncope/trunk/common/src/main/java/org/apache/syncope/common/to/PropagationRequestTO.java?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/common/src/main/java/org/apache/syncope/common/to/PropagationRequestTO.java (original) +++ syncope/trunk/common/src/main/java/org/apache/syncope/common/to/PropagationRequestTO.java Tue Jan 29 12:24:34 2013 @@ -20,12 +20,10 @@ package org.apache.syncope.common.to; import java.util.HashSet; import java.util.Set; - import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; - import org.apache.syncope.common.AbstractBaseBean; /** Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusBean.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusBean.java?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusBean.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusBean.java Tue Jan 29 12:24:34 2013 @@ -19,6 +19,8 @@ package org.apache.syncope.console.commons; import java.io.Serializable; +import org.apache.commons.lang.builder.ReflectionToStringBuilder; +import org.apache.commons.lang.builder.ToStringStyle; public class StatusBean implements Serializable { @@ -30,9 +32,6 @@ public class StatusBean implements Seria private StatusUtils.Status status = StatusUtils.Status.OBJECT_NOT_FOUND; - public StatusBean() { - } - public String getAccountLink() { return accountLink; } @@ -56,4 +55,9 @@ public class StatusBean implements Seria public void setStatus(final StatusUtils.Status status) { this.status = status; } + + @Override + public String toString() { + return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE); + } } Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusUtils.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusUtils.java?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusUtils.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/StatusUtils.java Tue Jan 29 12:24:34 2013 @@ -21,15 +21,16 @@ package org.apache.syncope.console.commo import java.io.Serializable; import java.util.AbstractMap; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; - import org.apache.syncope.common.to.AbstractAttributableTO; import org.apache.syncope.common.to.AttributeTO; import org.apache.syncope.common.to.ConnObjectTO; import org.apache.syncope.common.to.MappingItemTO; import org.apache.syncope.common.to.MappingTO; +import org.apache.syncope.common.to.PropagationRequestTO; import org.apache.syncope.common.to.ResourceTO; import org.apache.syncope.common.to.RoleTO; import org.apache.syncope.common.to.UserTO; @@ -214,4 +215,18 @@ public class StatusUtils implements Seri return accountId; } + + public static PropagationRequestTO buildPropagationRequestTO(final Collection statuses) { + PropagationRequestTO propagationRequestTO = new PropagationRequestTO(); + + for (StatusBean status : statuses) { + if ("Syncope".equals(status.getResourceName())) { + propagationRequestTO.setOnSyncope(true); + } else { + propagationRequestTO.addResource(status.getResourceName()); + } + } + + return propagationRequestTO; + } } Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java Tue Jan 29 12:24:34 2013 @@ -278,15 +278,7 @@ public class ConnectorModalPage extends properties.clear(); version.setEnabled(connectorTO.getBundleName() != null); version.getField().setModelValue(null); - List choices = new ArrayList(mapConnBundleTO.get(connectorTO.getBundleName()).keySet()); - version.setChoices(choices); - if (choices.size() == 1) { - connectorTO.setVersion(choices.get(0)); - version.getField().setModelObject(choices.get(0)); - connectorTO.setDisplayName(displayName.getModelObject()); - bundleTO = getSelectedBundleTO(mapConnBundleTO, connectorTO); - properties = fillProperties(bundleTO, connectorTO); - } + version.setChoices(new ArrayList(mapConnBundleTO.get(connectorTO.getBundleName()).keySet())); target.add(bundleName); target.add(version); target.add(propertiesContainer); Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/EditUserModalPage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/EditUserModalPage.java?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/EditUserModalPage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/EditUserModalPage.java Tue Jan 29 12:24:34 2013 @@ -20,7 +20,6 @@ package org.apache.syncope.console.pages import java.util.ArrayList; import java.util.List; - import org.apache.syncope.common.mod.UserMod; import org.apache.syncope.common.to.UserTO; import org.apache.syncope.common.util.AttributableOperations; @@ -31,7 +30,9 @@ import org.apache.syncope.console.rest.U import org.apache.wicket.PageReference; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow; +import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.form.Form; +import org.apache.wicket.model.ResourceModel; import org.apache.wicket.spring.injection.annot.SpringBean; /** @@ -46,6 +47,8 @@ public class EditUserModalPage extends U private UserTO initialUserTO = null; + private StatusPanel statusPanel; + public EditUserModalPage(final PageReference callerPageRef, final ModalWindow window, final UserTO userTO) { super(callerPageRef, window, userTO, Mode.ADMIN, true); @@ -57,7 +60,10 @@ public class EditUserModalPage extends U if (userTO.getId() != 0) { final List statuses = new ArrayList(); - form.addOrReplace(new StatusPanel("statuspanel", userTO, statuses, false)); + form.addOrReplace(new Label("pwdChangeInfo", new ResourceModel("pwdChangeInfo"))); + + statusPanel = new StatusPanel("statuspanel", userTO, statuses); + form.addOrReplace(statusPanel); form.addOrReplace(new AccountInformationPanel("accountinformation", userTO)); } @@ -72,6 +78,10 @@ public class EditUserModalPage extends U } else { final UserMod userMod = AttributableOperations.diff(updatedUserTO, initialUserTO); + if (statusPanel != null) { + userMod.setPwdPropRequest(statusPanel.getPropagationRequestTO()); + } + // update user just if it is changed if (!userMod.isEmpty()) { userTO = userRestClient.update(userMod); Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java Tue Jan 29 12:24:34 2013 @@ -107,6 +107,8 @@ public abstract class UserModalPage exte form.add(new UserDetailsPanel("details", userTO, form, resetPassword, mode == Mode.TEMPLATE)); form.add(new Label("statuspanel", "")); + + form.add(new Label("pwdChangeInfo", "")); form.add(new Label("accountinformation", "")); //-------------------------------- Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AbstractSearchResultPanel.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AbstractSearchResultPanel.java?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AbstractSearchResultPanel.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/AbstractSearchResultPanel.java Tue Jan 29 12:24:34 2013 @@ -19,7 +19,6 @@ package org.apache.syncope.console.pages.panels; import java.util.List; - import org.apache.syncope.common.search.NodeCond; import org.apache.syncope.common.to.AbstractAttributableTO; import org.apache.syncope.console.commons.AttributableDataProvider; Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/StatusPanel.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/StatusPanel.java?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/StatusPanel.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/StatusPanel.java Tue Jan 29 12:24:34 2013 @@ -19,10 +19,11 @@ package org.apache.syncope.console.pages.panels; import java.util.ArrayList; +import java.util.Collection; import java.util.List; - import org.apache.commons.lang.StringUtils; import org.apache.syncope.common.to.AbstractAttributableTO; +import org.apache.syncope.common.to.PropagationRequestTO; import org.apache.syncope.common.to.RoleTO; import org.apache.syncope.common.to.UserTO; import org.apache.syncope.console.commons.StatusBean; @@ -41,7 +42,6 @@ import org.apache.wicket.markup.html.for import org.apache.wicket.markup.html.image.Image; import org.apache.wicket.markup.html.list.ListItem; import org.apache.wicket.markup.html.list.ListView; -import org.apache.wicket.markup.html.panel.Fragment; import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.model.ResourceModel; import org.apache.wicket.spring.injection.annot.SpringBean; @@ -59,14 +59,10 @@ public class StatusPanel extends Panel { private final StatusUtils statusUtils; - public StatusPanel(final String id, final AbstractAttributableTO attributable, - final List selectedResources) { - - this(id, attributable, selectedResources, true); - } + private final CheckGroup checkGroup; public StatusPanel(final String id, final AbstractAttributableTO attributable, - final List selectedResources, final boolean enabled) { + final List selectedResources) { super(id); statusUtils = new StatusUtils(resourceRestClient, @@ -92,19 +88,10 @@ public class StatusPanel extends Panel { statuses.addAll(statusUtils.getRemoteStatuses(attributable)); - final CheckGroup group = new CheckGroup("group", selectedResources); - add(group); - - final Fragment headerCheckFrag; + checkGroup = new CheckGroup("group", selectedResources); + add(checkGroup); - if (enabled) { - headerCheckFrag = new Fragment("headerCheck", "headerCheckFrag", this); - headerCheckFrag.add(new CheckGroupSelector("groupselector", group)); - } else { - headerCheckFrag = new Fragment("headerCheck", "emptyCheckFrag", this); - } - - add(headerCheckFrag); + add(new CheckGroupSelector("groupselector", checkGroup)); final ListView resources = new ListView("resources", statuses) { @@ -155,19 +142,10 @@ public class StatusPanel extends Panel { } }); - final Fragment checkFrag; - if (enabled) { - final Check check = new Check("check", item.getModel(), group); - - check.setEnabled(checkVisibility); - check.setVisible(checkVisibility); - - checkFrag = new Fragment("rowCheck", "rowCheckFrag", getParent()); - checkFrag.add(check); - } else { - checkFrag = new Fragment("rowCheck", "emptyCheckFrag", group.getParent()); - } - item.add(checkFrag); + final Check check = new Check("check", item.getModel(), checkGroup); + check.setEnabled(checkVisibility); + check.setVisible(checkVisibility); + item.add(check); item.add(new Label("resource", new ResourceModel(item.getModelObject().getResourceName(), item .getModelObject().getResourceName()))); @@ -185,6 +163,18 @@ public class StatusPanel extends Panel { resources.setReuseItems(true); - group.add(resources); + checkGroup.add(resources); + } + + public PropagationRequestTO getPropagationRequestTO() { + PropagationRequestTO result = null; + + Collection statusBeans = checkGroup.getModel().getObject(); + if (statusBeans != null && !statusBeans.isEmpty()) { + result = StatusUtils.buildPropagationRequestTO(statusBeans); + + } + + return result; } } Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/UserSearchResultPanel.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/UserSearchResultPanel.java?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/UserSearchResultPanel.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/UserSearchResultPanel.java Tue Jan 29 12:24:34 2013 @@ -23,7 +23,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; - import org.apache.syncope.common.search.NodeCond; import org.apache.syncope.common.to.AbstractAttributableTO; import org.apache.syncope.common.to.UserTO; @@ -134,7 +133,7 @@ public class UserSearchResultPanel exten statusmodal.show(target); } - }, ActionLink.ActionType.SEARCH, "Users", "read"); + }, ActionLink.ActionType.ENABLE, "Users", "update"); panel.add(new ActionLink() { Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/UserRestClient.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/UserRestClient.java?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/UserRestClient.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/UserRestClient.java Tue Jan 29 12:24:34 2013 @@ -19,19 +19,17 @@ package org.apache.syncope.console.rest; import java.util.List; - import javax.ws.rs.core.Response; - import org.apache.syncope.common.mod.UserMod; import org.apache.syncope.common.search.NodeCond; import org.apache.syncope.common.services.ResourceService; import org.apache.syncope.common.services.UserService; import org.apache.syncope.common.to.ConnObjectTO; -import org.apache.syncope.common.to.PropagationRequestTO; import org.apache.syncope.common.to.UserTO; import org.apache.syncope.common.types.AttributableType; import org.apache.syncope.common.validation.SyncopeClientCompositeErrorException; import org.apache.syncope.console.commons.StatusBean; +import org.apache.syncope.console.commons.StatusUtils; import org.springframework.stereotype.Component; /** @@ -112,28 +110,11 @@ public class UserRestClient extends Abst return getService(ResourceService.class).getConnector(resourceName, AttributableType.USER, objectId); } - private PropagationRequestTO getPropagationRequestTO(final List statuses, final boolean enable) { - PropagationRequestTO propagationRequestTO = new PropagationRequestTO(); - - for (StatusBean status : statuses) { - if ((enable && !status.getStatus().isActive()) || (!enable && status.getStatus().isActive())) { - - if ("Syncope".equals(status.getResourceName())) { - propagationRequestTO.setOnSyncope(true); - } else { - propagationRequestTO.addResource(status.getResourceName()); - } - } - } - - return propagationRequestTO; - } - public UserTO suspend(final long userId, final List statuses) { - return getService(UserService.class).suspend(userId, getPropagationRequestTO(statuses, false)); + return getService(UserService.class).suspend(userId, StatusUtils.buildPropagationRequestTO(statuses)); } public UserTO reactivate(final long userId, final List statuses) { - return getService(UserService.class).reactivate(userId, getPropagationRequestTO(statuses, true)); + return getService(UserService.class).reactivate(userId, StatusUtils.buildPropagationRequestTO(statuses)); } } Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLink.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLink.java?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLink.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLink.java Tue Jan 29 12:24:34 2013 @@ -19,7 +19,6 @@ package org.apache.syncope.console.wicket.markup.html.form; import java.io.Serializable; - import org.apache.wicket.ajax.AjaxRequestTarget; public abstract class ActionLink implements Serializable { @@ -32,6 +31,7 @@ public abstract class ActionLink impleme EDIT, USER_TEMPLATE, ROLE_TEMPLATE, + ENABLE, SEARCH, DELETE, EXECUTE, Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.java?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.java Tue Jan 29 12:24:34 2013 @@ -49,6 +49,7 @@ public class ActionLinksPanel extends Pa super.add(new Fragment("panelEdit", "emptyFragment", this)); super.add(new Fragment("panelUserTemplate", "emptyFragment", this)); super.add(new Fragment("panelRoleTemplate", "emptyFragment", this)); + super.add(new Fragment("panelEnable", "emptyFragment", this)); super.add(new Fragment("panelSearch", "emptyFragment", this)); super.add(new Fragment("panelDelete", "emptyFragment", this)); super.add(new Fragment("panelExecute", "emptyFragment", this)); @@ -150,6 +151,20 @@ public class ActionLinksPanel extends Pa }); break; + case ENABLE: + fragment = new Fragment("panelEnable", "fragmentEnable", this); + + fragment.addOrReplace(new IndicatingAjaxLink("enableLink") { + + private static final long serialVersionUID = -7978723352517770644L; + + @Override + public void onClick(final AjaxRequestTarget target) { + link.onClick(target); + } + }); + break; + case SEARCH: fragment = new Fragment("panelSearch", "fragmentSearch", this); Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/ResultStatusModalPage.html URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/ResultStatusModalPage.html?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/ResultStatusModalPage.html (original) +++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/ResultStatusModalPage.html Tue Jan 29 12:24:34 2013 @@ -71,7 +71,7 @@ under the License. border-bottom: 1px solid #DDDDDD; display: table-cell; height: 15px; - width: 18%; + width: 220px; padding: 0px 5px 0px 5px; vertical-align: middle; } @@ -89,7 +89,7 @@ under the License. div#resource { display: table-cell; - width: 18%; + width: 220px; height: 30px; padding: 3px 0px 5px 0px; } Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.html URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.html?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.html (original) +++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.html Tue Jan 29 12:24:34 2013 @@ -79,6 +79,7 @@ under the License.
[user details] +
[pwdChangeInfo]
[Sattus Panel] [Account Information]
Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.properties URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.properties?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.properties (original) +++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage.properties Tue Jan 29 12:24:34 2013 @@ -47,3 +47,4 @@ virtualAttributeValue=Virtual value addAttributeBtn=Add new=New +pwdChangeInfo=If provided, the password will be changed on the following resources. Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage_it.properties URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage_it.properties?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage_it.properties (original) +++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/UserModalPage_it.properties Tue Jan 29 12:24:34 2013 @@ -48,3 +48,4 @@ virtualAttributeValue=Valore virtuale addAttributeBtn=Aggiungi new=Nuovo +pwdChangeInfo=Se inserita, la password verr\u00e0 cambiata sulle seguenti risorse. Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/StatusPanel.html URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/StatusPanel.html?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/StatusPanel.html (original) +++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/panels/StatusPanel.html Tue Jan 29 12:24:34 2013 @@ -16,116 +16,105 @@ KIND, either express or implied. See th specific language governing permissions and limitations under the License. --> - - - - - -
-
-
- - -
- - - -
- -
- - - -
-
- - - -
- - -
- [resource name] -
- -
- -
-
- - -
- -
-
-
-
- - -
- -
-
+ + + + +
+
+
+
+ +
- +
+ + + +
+ +
+ + + +
+
+ + + +
+
+ +
+ +
+ [resource name] +
+ +
+ +
+
+
+
+ +
- -
- + + Modified: syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.html URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.html?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.html (original) +++ syncope/trunk/console/src/main/resources/org/apache/syncope/console/wicket/markup/html/form/ActionLinksPanel.html Tue Jan 29 12:24:34 2013 @@ -28,6 +28,7 @@ under the License. [plus] [plus] [plus] + [plus] [plus] [plus] [plus] @@ -46,7 +47,11 @@ under the License. - search icon + search icon + + + + enable icon Added: syncope/trunk/console/src/main/webapp/img/actions/enable.png URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/webapp/img/actions/enable.png?rev=1439854&view=auto ============================================================================== Binary file - no diff available. Propchange: syncope/trunk/console/src/main/webapp/img/actions/enable.png ------------------------------------------------------------------------------ svn:mime-type = image/png Modified: syncope/trunk/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java (original) +++ syncope/trunk/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java Tue Jan 29 12:24:34 2013 @@ -45,7 +45,7 @@ public class ConfigurationTestITCase ext selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000"); - selenium.click("//tr/td[3]/div/span[8]/a"); + selenium.click("//tr/td[3]/div/span[9]/a"); selenium.waitForCondition("selenium.isElementPresent(\"//input[@name='key:textField']\");", "30000"); @@ -106,7 +106,7 @@ public class ConfigurationTestITCase ext selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000"); - selenium.click("//tr[7]/td[3]/div/span[10]/a"); + selenium.click("//tr[7]/td[3]/div/span[11]/a"); assertTrue(selenium.getConfirmation().matches("^Do you really want to delete the selected item[\\s\\S]$")); Modified: syncope/trunk/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java (original) +++ syncope/trunk/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java Tue Jan 29 12:24:34 2013 @@ -54,12 +54,12 @@ public class ConnInstanceTestITCase exte selenium.click("//div[3]/div[2]/a"); - selenium.waitForCondition("" - + "selenium.isElementPresent(\"//div[2]/form/div[2]/div/div/div[3]/div[2]/span/select\");", "30000"); - selenium.select("//select[@name='connectorName:dropDownChoiceField']", - "label=org.connid.bundles.soap"); - selenium.select("//select[@name='version:dropDownChoiceField']", - "label=1.2.4"); + selenium.waitForCondition( + "selenium.isElementPresent(\"//form/div[2]/div/div/div[3]/div[2]/span/select\");", "30000"); + selenium.select("//select[@name='connectorName:dropDownChoiceField']", "label=org.connid.bundles.soap"); + selenium.waitForCondition( + "selenium.isElementPresent(\"//form/div[2]/div/div/div[3]/div[2]/span/select/option[2]\");", "30000"); + selenium.select("//select[@name='version:dropDownChoiceField']", "label=1.2.4"); selenium.click("//div[2]/form/div[2]/ul/li[2]/a/span"); selenium.click("//div[2]/form/div[2]/ul/li[1]/a/span"); @@ -76,11 +76,11 @@ public class ConnInstanceTestITCase exte selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000"); selenium.click("//div[3]/ul/li[2]/a"); - selenium.click("//tr[4]/td[6]/div/span[8]/a"); + selenium.click("//tr[4]/td[6]/div/span[9]/a"); selenium.waitForCondition("" + "selenium.isElementPresent(\"//div[2]/form/div[2]/div/div/div[3]/div[2]/span/select\");", "30000"); - + assertEquals("ConnInstance103", selenium.getAttribute("//input[@name='displayName:textField']/@value")); assertEquals("org.connid.bundles.soap", selenium @@ -97,7 +97,7 @@ public class ConnInstanceTestITCase exte selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000"); selenium.click("//div[3]/ul/li[2]/a"); - selenium.click("//tr[4]/td[6]/div/span[10]/a"); + selenium.click("//tr[4]/td[6]/div/span[11]/a"); assertTrue(selenium.getConfirmation().matches("^Do you really want to delete the selected item[\\s\\S]$")); @@ -112,7 +112,7 @@ public class ConnInstanceTestITCase exte selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000"); selenium.click("//div[3]/ul/li[2]/a"); - selenium.click("//tr[2]/td[6]/div/span[8]/a"); + selenium.click("//tr[2]/td[6]/div/span[9]/a"); selenium.waitForCondition( "selenium.isElementPresent(\"//select[@name='version:dropDownChoiceField']\");", "30000"); Modified: syncope/trunk/console/src/test/java/org/apache/syncope/console/ReportTestITCase.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/ReportTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/test/java/org/apache/syncope/console/ReportTestITCase.java (original) +++ syncope/trunk/console/src/test/java/org/apache/syncope/console/ReportTestITCase.java Tue Jan 29 12:24:34 2013 @@ -27,7 +27,7 @@ public class ReportTestITCase extends Ab selenium.click("css=img[alt=\"Reports\"]"); selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000"); - selenium.click("//table/tbody/tr/td[8]/div/span[8]/a"); + selenium.click("//table/tbody/tr/td[8]/div/span[9]/a"); selenium.waitForCondition("selenium.isElementPresent(" + "\"//div[2]/form/div[2]/div/div/span/div/div/div/span\");", "30000"); Modified: syncope/trunk/console/src/test/java/org/apache/syncope/console/ResourceTestITCase.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/ResourceTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/test/java/org/apache/syncope/console/ResourceTestITCase.java (original) +++ syncope/trunk/console/src/test/java/org/apache/syncope/console/ResourceTestITCase.java Tue Jan 29 12:24:34 2013 @@ -42,7 +42,7 @@ public class ResourceTestITCase extends selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000"); - selenium.click("//td[5]/div/span[8]/a"); + selenium.click("//td[5]/div/span[9]/a"); selenium.waitForCondition("selenium.isElementPresent(" + "\"//form/div[2]/div/span/div/div/div/label[text()='Name']\");", "30000"); @@ -64,7 +64,7 @@ public class ResourceTestITCase extends selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000"); - selenium.click("//tr[3]/td[5]/div/span[10]/a"); + selenium.click("//tr[3]/td[5]/div/span[11]/a"); assertTrue(selenium.getConfirmation().matches("^Do you really want to delete the selected item[\\s\\S]$")); } @@ -75,7 +75,7 @@ public class ResourceTestITCase extends selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000"); - selenium.click("//td[5]/div/span[8]/a"); + selenium.click("//td[5]/div/span[9]/a"); selenium.waitForCondition("selenium.isElementPresent(" + "\"//form/div[2]/div/span/div/div/div/label[text()='Name']\");", "30000"); @@ -97,7 +97,7 @@ public class ResourceTestITCase extends selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000"); - selenium.click("//*[@id=\"users-contain\"]//*[div=\"ws-target-resource-delete\"]/../td[5]/div/span[8]/a"); + selenium.click("//*[@id=\"users-contain\"]//*[div=\"ws-target-resource-delete\"]/../td[5]/div/span[9]/a"); selenium.waitForCondition("selenium.isElementPresent(" + "\"//form/div[2]/div/span/div/div/div/label[text()='Name']\");", "30000"); Modified: syncope/trunk/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java (original) +++ syncope/trunk/console/src/test/java/org/apache/syncope/console/RoleTestITCase.java Tue Jan 29 12:24:34 2013 @@ -130,9 +130,9 @@ public class RoleTestITCase extends Abst selenium.click("//input[@name=\"userListContainer:search\"]"); - selenium.waitForCondition("selenium.isElementPresent(\"//table/tbody/tr/td[4]/div/span[8]/a\");", "30000"); + selenium.waitForCondition("selenium.isElementPresent(\"//table/tbody/tr/td[4]/div/span[9]/a\");", "30000"); - selenium.click("//table/tbody/tr/td[4]/div/span[8]/a"); + selenium.click("//table/tbody/tr/td[4]/div/span[9]/a"); selenium.waitForCondition("selenium.isElementPresent(" + "\"//form/div[2]/div/span/div/div/div[contains(text(),'Username')]\");", "30000"); @@ -156,9 +156,9 @@ public class RoleTestITCase extends Abst selenium.click("//input[@name=\"userListContainer:search\"]"); - selenium.waitForCondition("selenium.isElementPresent(\"//span[10]/a\");", "30000"); + selenium.waitForCondition("selenium.isElementPresent(\"//span[11]/a\");", "30000"); - selenium.click("//span[10]/a"); + selenium.click("//span[11]/a"); assertTrue(selenium.getConfirmation().matches("^Do you really want to delete the selected item[\\s\\S]$")); } Modified: syncope/trunk/console/src/test/java/org/apache/syncope/console/SchemaTestITCase.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/SchemaTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/test/java/org/apache/syncope/console/SchemaTestITCase.java (original) +++ syncope/trunk/console/src/test/java/org/apache/syncope/console/SchemaTestITCase.java Tue Jan 29 12:24:34 2013 @@ -51,7 +51,7 @@ public class SchemaTestITCase extends Ab selenium.click("//div[@id='tabs']/ul/li[3]/a/span"); selenium.click("//div[@id='membership']/ul/li[3]/a/span"); - selenium.click("//table/tbody/tr/td[3]/div/span[10]/a"); + selenium.click("//table/tbody/tr/td[3]/div/span[11]/a"); assertTrue(selenium.getConfirmation().matches("^Do you really want to delete the selected item[\\s\\S]$")); } Modified: syncope/trunk/console/src/test/java/org/apache/syncope/console/TaskTestITCase.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/TaskTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/test/java/org/apache/syncope/console/TaskTestITCase.java (original) +++ syncope/trunk/console/src/test/java/org/apache/syncope/console/TaskTestITCase.java Tue Jan 29 12:24:34 2013 @@ -33,7 +33,7 @@ public class TaskTestITCase extends Abst selenium.waitForCondition("selenium.isTextPresent(" + "\"Operation executed successfully\");", "30000"); - selenium.click("//*[div=1]/../td[9]/div/span[8]/a"); + selenium.click("//*[div=1]/../td[9]/div/span[9]/a"); selenium.waitForCondition("selenium.isElementPresent(" + "\"//form/div[2]/div/div/span/div/div/div[2]/span/input\");", "30000"); @@ -50,7 +50,7 @@ public class TaskTestITCase extends Abst selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000"); selenium.click("//div[@id='tabs']/ul/li[3]/a/span"); - selenium.click("//table/tbody/tr/td[7]/div/span[10]/a"); + selenium.click("//table/tbody/tr/td[7]/div/span[11]/a"); assertTrue(selenium.getConfirmation().matches("^Do you really want to delete the selected item[\\s\\S]$")); Modified: syncope/trunk/console/src/test/java/org/apache/syncope/console/UserTestITCase.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/test/java/org/apache/syncope/console/UserTestITCase.java?rev=1439854&r1=1439853&r2=1439854&view=diff ============================================================================== --- syncope/trunk/console/src/test/java/org/apache/syncope/console/UserTestITCase.java (original) +++ syncope/trunk/console/src/test/java/org/apache/syncope/console/UserTestITCase.java Tue Jan 29 12:24:34 2013 @@ -50,7 +50,7 @@ public class UserTestITCase extends Abst selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000"); //Edit user3 - selenium.click("//*[@id=\"users-contain\"]//*[div=3]/../td[4]/div/span[8]/a"); + selenium.click("//*[@id=\"users-contain\"]//*[div=3]/../td[4]/div/span[9]/a"); selenium.waitForCondition("selenium.isElementPresent(" + "\"//input[@value='testUsername']\");", "30000"); @@ -89,7 +89,7 @@ public class UserTestITCase extends Abst selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000"); - selenium.click("//*[@id=\"users-contain\"]//*[div=4]/../td[4]/div/span[10]/a"); + selenium.click("//*[@id=\"users-contain\"]//*[div=4]/../td[4]/div/span[11]/a"); assertTrue(selenium.getConfirmation().matches("^Do you really want to delete the selected item[\\s\\S]$"));