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 2016/04/27 15:25:12 UTC
[1/2] syncope git commit: [SYNCOPE-818] provides mapping item
tranformers widget
Repository: syncope
Updated Branches:
refs/heads/master b0417d7c3 -> 32726184d
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_ru.properties
index 80dd08f..bf1188f 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_ru.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_ru.properties
@@ -36,6 +36,7 @@ entity=\u041e\u0431\u044a\u0435\u043a\u0442
groupSchema=\u0410\u0442\u0440\u0438\u0431\u0443\u0442 \u0433\u0440\u0443\u043f\u043f\u044b
# connObjectKey=\u00d0\u009a\u00d0\u00bb\u00d1\u008e\u00d1\u0087\u00d0\u00b5\u00d0\u00b2\u00d0\u00be\u00d0\u00b9 \u00d0\u00b0\u00d1\u0082\u00d1\u0080\u00d0\u00b8\u00d0\u00b1\u00d1\u0083\u00d1\u0082 \u00d1\u0080\u00d0\u00b5\u00d1\u0081\u00d1\u0083\u00d1\u0080\u00d1\u0081\u00d0\u00b0
connObjectKey=\u041a\u043b\u044e\u0447\u0435\u0432\u043e\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u0430
+transformers=Item Transformers
# mandatoryCondition=\u00d0\u009e\u00d0\u00b1\u00d1\u008f\u00d0\u00b7\u00d0\u00b0\u00d1\u0082\u00d0\u00b5\u00d0\u00bb\u00d1\u008c\u00d0\u00bd\u00d1\u008b\u00d0\u00b9
mandatoryCondition=\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439
# password=\u00d0\u009f\u00d0\u00b0\u00d1\u0080\u00d0\u00be\u00d0\u00bb\u00d1\u008c
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java
index 1a3a410..45375d6 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java
@@ -21,6 +21,7 @@ package org.apache.syncope.fit.console;
import static org.junit.Assert.assertNotNull;
import org.apache.syncope.client.console.commons.Constants;
+import org.apache.syncope.client.console.wicket.markup.html.form.NonI18nPalette;
import org.apache.wicket.Component;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.markup.html.WebMarkupContainer;
@@ -88,6 +89,17 @@ public class TopologyITCase extends AbstractConsoleITCase {
wicketTester.assertComponent("body:toggle:outerObjectsRepeater:2:outer:form:content:provision:"
+ "container:content:wizard:form:view:mapping:mappingContainer:mappings:1", WebMarkupContainer.class);
+
+ wicketTester.executeAjaxEvent("body:toggle:outerObjectsRepeater:2:outer:form:content:provision:"
+ + "container:content:wizard:form:view:mapping:mappingContainer:mappings:1:transformers:icon",
+ Constants.ON_CLICK);
+
+ wicketTester.clickLink("body:toggle:outerObjectsRepeater:2:outer:form:content:provision:container:content:"
+ + "wizard:form:view:mapping:mappingContainer:mappings:0:transformers:alertsLink");
+
+ wicketTester.assertComponent("body:toggle:outerObjectsRepeater:2:outer:form:content:provision:container:"
+ + "content:wizard:form:view:mapping:transformersTogglePanel:container:content:togglePanelContainer:"
+ + "form:classes:paletteField", NonI18nPalette.class);
}
@Test
[2/2] syncope git commit: [SYNCOPE-818] provides mapping item
tranformers widget
Posted by fm...@apache.org.
[SYNCOPE-818] provides mapping item tranformers widget
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/32726184
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/32726184
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/32726184
Branch: refs/heads/master
Commit: 32726184d30cf3f9dfd4a41152b7bb9658043ea2
Parents: b0417d7
Author: fmartelli <fa...@gmail.com>
Authored: Wed Apr 27 15:24:56 2016 +0200
Committer: fmartelli <fa...@gmail.com>
Committed: Wed Apr 27 15:24:56 2016 +0200
----------------------------------------------------------------------
.../client/console/commons/Constants.java | 18 +-
.../client/console/panels/TogglePanel.java | 1 +
.../console/tasks/TransformersTogglePanel.java | 122 +++++++++++
.../client/console/widgets/AlertWidget.java | 143 ++++++++++++
.../client/console/widgets/ApprovalsWidget.java | 219 ++++++++-----------
.../widgets/MappingItemTransformerWidget.java | 82 +++++++
.../resources/ProvisionWizardBuilder.java | 2 -
.../wizards/resources/ResourceMappingPanel.java | 14 ++
.../META-INF/resources/css/syncopeConsole.css | 97 +++++++-
.../console/tasks/TransformersTogglePanel.html | 35 +++
.../tasks/TransformersTogglePanel.properties | 19 ++
.../tasks/TransformersTogglePanel_it.properties | 19 ++
.../TransformersTogglePanel_pt_BR.properties | 19 ++
.../tasks/TransformersTogglePanel_ru.properties | 19 ++
.../console/widgets/AlertWidget$AlertLink.html | 23 ++
.../client/console/widgets/AlertWidget.html | 41 ++++
.../console/widgets/AlertWidget.properties | 18 ++
.../console/widgets/AlertWidget_it.properties | 18 ++
.../widgets/AlertWidget_pt_BR.properties | 18 ++
.../console/widgets/AlertWidget_ru.properties | 21 ++
.../widgets/ApprovalsWidget$InnerPanel.html | 27 +++
.../client/console/widgets/ApprovalsWidget.html | 45 ----
.../console/widgets/ApprovalsWidget.properties | 2 +-
.../widgets/ApprovalsWidget_it.properties | 2 +-
.../widgets/ApprovalsWidget_pt_BR.properties | 2 +-
.../widgets/ApprovalsWidget_ru.properties | 12 +-
.../MappingItemTransformerWidget.properties | 18 ++
.../MappingItemTransformerWidget_it.properties | 18 ++
...appingItemTransformerWidget_pt_BR.properties | 18 ++
.../MappingItemTransformerWidget_ru.properties | 21 ++
.../wizards/resources/ResourceMappingPanel.html | 140 ++++++------
.../resources/ResourceProvisionPanel.properties | 1 +
.../ResourceProvisionPanel_it.properties | 1 +
.../ResourceProvisionPanel_pt_BR.properties | 1 +
.../ResourceProvisionPanel_ru.properties | 1 +
.../syncope/fit/console/TopologyITCase.java | 12 +
36 files changed, 1020 insertions(+), 249 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java b/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java
index 96d4ba6..74f2ac9 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java
@@ -23,6 +23,7 @@ import de.agilecoders.wicket.core.markup.html.bootstrap.components.PopoverConfig
import de.agilecoders.wicket.core.markup.html.bootstrap.components.TooltipConfig;
import org.apache.wicket.Component;
import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
public final class Constants {
@@ -155,9 +156,19 @@ public final class Constants {
*/
public static final String GUARDED_BYTE_ARRAY = "org.identityconnectors.common.security.GuardedByteArray";
- public static Component getJEXLPopover(final Component caller, final TooltipConfig.Placement placement) {
- return new Label("jexlInfo", Model.of()).add(new PopoverBehavior(
+ public static Component getPopover(
+ final String id,
+ final IModel<String> msg,
+ final Component caller,
+ final TooltipConfig.Placement placement) {
+ return new Label(id, Model.of()).add(new PopoverBehavior(
Model.<String>of(),
+ msg,
+ new PopoverConfig().withHtml(true).withPlacement(placement)));
+ }
+
+ public static Component getJEXLPopover(final Component caller, final TooltipConfig.Placement placement) {
+ return getPopover("jexlInfo",
Model.of(caller.getString("jexl_info")
+ "<ul>"
+ "<li>" + caller.getString("jexl_ex1") + "</li>"
@@ -165,7 +176,8 @@ public final class Constants {
+ "</ul>"
+ "<a href='https://commons.apache.org/proper/commons-jexl/reference/index.html' "
+ "target='_blank'>" + caller.getString("jexl_syntax_url") + "</a>"),
- new PopoverConfig().withHtml(true).withPlacement(placement)));
+ caller,
+ placement);
}
private Constants() {
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/java/org/apache/syncope/client/console/panels/TogglePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/TogglePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/TogglePanel.java
index 84a4745..18fd380 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/TogglePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/TogglePanel.java
@@ -119,6 +119,7 @@ public abstract class TogglePanel<T extends Serializable> extends WizardMgtPanel
final String selector = String.format("$(\"div#%s\")", getId());
if (toggle) {
if (status == Status.INACTIVE) {
+ target.add(TogglePanel.this.container);
target.appendJavaScript(
selector + ".toggle(\"slow\");"
+ selector + ".attr(\"class\", \"topology-menu active-topology-menu\");");
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/java/org/apache/syncope/client/console/tasks/TransformersTogglePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/tasks/TransformersTogglePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/tasks/TransformersTogglePanel.java
new file mode 100644
index 0000000..7b68996
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/tasks/TransformersTogglePanel.java
@@ -0,0 +1,122 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.console.tasks;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.syncope.client.console.SyncopeConsoleSession;
+import org.apache.syncope.client.console.panels.TogglePanel;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxPalettePanel;
+import org.apache.syncope.common.lib.to.MappingItemTO;
+import org.apache.wicket.Component;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.IChoiceRenderer;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.LoadableDetachableModel;
+import org.apache.wicket.model.util.ListModel;
+
+public class TransformersTogglePanel extends TogglePanel<Serializable> {
+
+ private static final long serialVersionUID = -3195479265440591519L;
+
+ private Component container;
+
+ private MappingItemTO mapItem;
+
+ public TransformersTogglePanel(final WebMarkupContainer container) {
+ super("transformersTogglePanel");
+ this.container = container;
+
+ final LoadableDetachableModel<List<String>> model = new LoadableDetachableModel<List<String>>() {
+
+ private static final long serialVersionUID = 5275935387613157437L;
+
+ @Override
+ protected List<String> load() {
+ // [!] this is required to disable changed with close button
+ return mapItem == null
+ ? Collections.<String>emptyList()
+ : new ArrayList<>(mapItem.getMappingItemTransformerClassNames());
+ }
+ };
+
+ final Form<?> form = new Form<>("form");
+ addInnerObject(form);
+
+ form.add(new AjaxPalettePanel.Builder<String>().setAllowOrder(true).setRenderer(new IChoiceRenderer<String>() {
+
+ private static final long serialVersionUID = 3464376099975468136L;
+
+ private static final int MAX_LENGTH = 50;
+
+ @Override
+ public Object getDisplayValue(final String object) {
+ if (object.length() > MAX_LENGTH) {
+ return "..." + object.substring(object.length() - MAX_LENGTH);
+ } else {
+ return object;
+ }
+ }
+
+ @Override
+ public String getIdValue(final String object, final int index) {
+ return object;
+ }
+
+ @Override
+ public String getObject(final String id, final IModel<? extends List<? extends String>> choices) {
+ return id;
+ }
+ }).build(
+ "classes",
+ model,
+ new ListModel<>(
+ new ArrayList<>(SyncopeConsoleSession.get().getPlatformInfo().getMappingItemTransformers()))).
+ hideLabel().setEnabled(true).setOutputMarkupId(true));
+
+ form.add(new AjaxSubmitLink("submit", form) {
+
+ private static final long serialVersionUID = 5538299138211283825L;
+
+ @Override
+ public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+ toggle(target, false);
+
+ // [!] this is required to disable changed with close button
+ mapItem.getMappingItemTransformerClassNames().clear();
+ mapItem.getMappingItemTransformerClassNames().addAll(model.getObject());
+
+ target.add(TransformersTogglePanel.this.container);
+ }
+
+ });
+ }
+
+ public TransformersTogglePanel setMappingItem(final AjaxRequestTarget target, final MappingItemTO mapItem) {
+ this.mapItem = mapItem;
+ setHeader(target, StringUtils.EMPTY);
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/java/org/apache/syncope/client/console/widgets/AlertWidget.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/widgets/AlertWidget.java b/client/console/src/main/java/org/apache/syncope/client/console/widgets/AlertWidget.java
new file mode 100644
index 0000000..d3371cd
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/widgets/AlertWidget.java
@@ -0,0 +1,143 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.console.widgets;
+
+import de.agilecoders.wicket.core.markup.html.bootstrap.image.Icon;
+import de.agilecoders.wicket.extensions.markup.html.bootstrap.icon.FontAwesomeIconTypeBuilder;
+import de.agilecoders.wicket.extensions.markup.html.bootstrap.icon.FontAwesomeIconTypeBuilder.FontAwesomeGraphic;
+import java.io.Serializable;
+import java.util.List;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.link.AbstractLink;
+import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.markup.html.list.ListView;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.LoadableDetachableModel;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public abstract class AlertWidget<T extends Serializable> extends Panel {
+
+ private static final long serialVersionUID = 7667120094526529934L;
+
+ protected static final Logger LOG = LoggerFactory.getLogger(AlertWidget.class);
+
+ protected final Label linkAlertsNumber;
+
+ protected final Label headerAlertsNumber;
+
+ protected final WebMarkupContainer latestAlertsList;
+
+ protected final ListView<T> latestFive;
+
+ protected IModel<List<T>> latestAlerts;
+
+ public AlertWidget(final String id) {
+ super(id);
+ this.latestAlerts = getLatestAlerts();
+
+ setOutputMarkupId(true);
+
+ final LoadableDetachableModel<Integer> size = new LoadableDetachableModel<Integer>() {
+
+ private static final long serialVersionUID = 7474274077691068779L;
+
+ @Override
+ protected Integer load() {
+ return AlertWidget.this.latestAlerts.getObject().size();
+ }
+ };
+
+ final LoadableDetachableModel<List<T>> items = new LoadableDetachableModel<List<T>>() {
+
+ private static final long serialVersionUID = 7474274077691068779L;
+
+ @Override
+ protected List<T> load() {
+ final List<T> latest = AlertWidget.this.latestAlerts.getObject();
+ return latest.subList(0, latest.size() < 6 ? latest.size() : 5);
+ }
+ };
+
+ add(getIcon("icon"));
+
+ linkAlertsNumber = new Label("alerts", size) {
+
+ private static final long serialVersionUID = 4755868673082976208L;
+
+ @Override
+ protected void onComponentTag(final ComponentTag tag) {
+ super.onComponentTag(tag);
+ if (Integer.valueOf(getDefaultModelObject().toString()) > 0) {
+ tag.put("class", "label label-danger");
+ } else {
+ tag.put("class", "label label-info");
+ }
+ }
+ };
+ add(linkAlertsNumber.setOutputMarkupId(true));
+
+ headerAlertsNumber = new Label("number", size);
+ headerAlertsNumber.setOutputMarkupId(true);
+ add(headerAlertsNumber);
+
+ latestAlertsList = new WebMarkupContainer("latestAlertsList");
+ latestAlertsList.setOutputMarkupId(true);
+ add(latestAlertsList);
+
+ latestFive = new ListView<T>("latestAlerts", items) {
+
+ private static final long serialVersionUID = 4949588177564901031L;
+
+ @Override
+ protected void populateItem(final ListItem<T> item) {
+ item.add(getAlertLink("alert", item.getModelObject()).setRenderBodyOnly(true));
+ }
+ };
+ latestAlertsList.add(latestFive.setReuseItems(false).setOutputMarkupId(true));
+
+ add(getEventsLink("alertsLink"));
+ }
+
+ protected abstract IModel<List<T>> getLatestAlerts();
+
+ protected Panel getAlertLink(final String panelid, final T alert) {
+ return new AlertLink<T>(panelid, alert);
+ }
+
+ protected abstract AbstractLink getEventsLink(final String linkid);
+
+ protected Icon getIcon(final String iconid) {
+ return new Icon(iconid, FontAwesomeIconTypeBuilder.on(FontAwesomeGraphic.flag_o).build());
+ }
+
+ public static class AlertLink<T> extends Panel {
+
+ private static final long serialVersionUID = -6011939604125512766L;
+
+ public AlertLink(final String id, final T alert) {
+ super(id);
+ add(new Label("alert", alert.toString()));
+ }
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/java/org/apache/syncope/client/console/widgets/ApprovalsWidget.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/widgets/ApprovalsWidget.java b/client/console/src/main/java/org/apache/syncope/client/console/widgets/ApprovalsWidget.java
index 7a50226..0f98327 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/widgets/ApprovalsWidget.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/widgets/ApprovalsWidget.java
@@ -22,6 +22,7 @@ import java.io.Serializable;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
+import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.client.console.BookmarkablePageLinkBuilder;
import org.apache.syncope.client.console.SyncopeConsoleSession;
import org.apache.syncope.client.console.pages.Approvals;
@@ -39,169 +40,130 @@ import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.link.AbstractLink;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
-import org.apache.wicket.markup.html.list.ListItem;
-import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.model.LoadableDetachableModel;
+import org.apache.wicket.model.IModel;
import org.apache.wicket.model.ResourceModel;
+import org.apache.wicket.model.util.ListModel;
import org.apache.wicket.protocol.ws.WebSocketSettings;
import org.apache.wicket.protocol.ws.api.WebSocketPushBroadcaster;
import org.apache.wicket.protocol.ws.api.event.WebSocketPushPayload;
import org.apache.wicket.protocol.ws.api.message.ConnectedMessage;
import org.apache.wicket.protocol.ws.api.message.IWebSocketPushMessage;
import org.apache.wicket.protocol.ws.api.registry.IKey;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-public class ApprovalsWidget extends Panel {
+public class ApprovalsWidget extends AlertWidget<WorkflowFormTO> {
private static final long serialVersionUID = 7667120094526529934L;
- private static final Logger LOG = LoggerFactory.getLogger(ApprovalsWidget.class);
-
- private static List<WorkflowFormTO> getLastApprovals() {
- if (SyncopeConsoleSession.get().owns(StandardEntitlement.WORKFLOW_FORM_LIST)) {
- return SyncopeConsoleSession.get().getService(UserWorkflowService.class).getForms();
- } else {
- return Collections.<WorkflowFormTO>emptyList();
- }
- }
-
- private final Label linkApprovalsNumber;
-
- private final Label headerApprovalsNumber;
-
- private final WebMarkupContainer lastApprovalsList;
-
- private final ListView<WorkflowFormTO> lastFive;
-
- private final List<WorkflowFormTO> lastApprovals;
-
public ApprovalsWidget(final String id, final PageReference pageRef) {
super(id);
setOutputMarkupId(true);
+ }
- LoadableDetachableModel<List<WorkflowFormTO>> model = new LoadableDetachableModel<List<WorkflowFormTO>>() {
-
- private static final long serialVersionUID = 7474274077691068779L;
-
- @Override
- protected List<WorkflowFormTO> load() {
- return ApprovalsWidget.this.lastApprovals.subList(0, ApprovalsWidget.this.lastApprovals.size() < 6
- ? ApprovalsWidget.this.lastApprovals.size() : 5);
+ @Override
+ public void onEvent(final IEvent<?> event) {
+ if (event.getPayload() instanceof WebSocketPushPayload) {
+ WebSocketPushPayload wsEvent = (WebSocketPushPayload) event.getPayload();
+ if (wsEvent.getMessage() instanceof ApprovalsWidgetMessage) {
+ List<WorkflowFormTO> updatedApprovals = ((ApprovalsWidgetMessage) wsEvent.getMessage()).
+ getUpdatedApprovals();
+ if (!latestAlerts.equals(updatedApprovals)) {
+ latestAlerts.getObject().clear();
+ latestAlerts.getObject().addAll(updatedApprovals);
+
+ ApprovalsWidget.this.linkAlertsNumber.
+ setDefaultModelObject(ApprovalsWidget.this.latestAlerts.getObject().size());
+ wsEvent.getHandler().add(ApprovalsWidget.this.linkAlertsNumber);
+
+ ApprovalsWidget.this.headerAlertsNumber.
+ setDefaultModelObject(ApprovalsWidget.this.latestAlerts.getObject().size());
+ wsEvent.getHandler().add(ApprovalsWidget.this.headerAlertsNumber);
+
+ ApprovalsWidget.this.latestFive.removeAll();
+ wsEvent.getHandler().add(ApprovalsWidget.this.latestAlertsList);
+ }
}
- };
+ }
+ }
- lastApprovals = getLastApprovals();
- Collections.sort(lastApprovals, new WorkflowFormComparator());
+ @Override
+ protected IModel<List<WorkflowFormTO>> getLatestAlerts() {
- linkApprovalsNumber = new Label("approvals", lastApprovals.size()) {
+ return new ListModel<WorkflowFormTO>() {
- private static final long serialVersionUID = 4755868673082976208L;
+ private static final long serialVersionUID = -2583290457773357445L;
@Override
- protected void onComponentTag(final ComponentTag tag) {
- super.onComponentTag(tag);
- if (Integer.valueOf(getDefaultModelObject().toString()) > 0) {
- tag.put("class", "label label-danger");
- } else {
- tag.put("class", "label label-info");
- }
+ public List<WorkflowFormTO> getObject() {
+ return ApprovalInfoUpdater.getLatestAlerts();
}
-
};
- add(linkApprovalsNumber.setOutputMarkupId(true));
+ }
- headerApprovalsNumber = new Label("number", lastApprovals.size());
- headerApprovalsNumber.setOutputMarkupId(true);
- add(headerApprovalsNumber);
+ @Override
+ protected Panel getAlertLink(final String panelid, final WorkflowFormTO event) {
+ return new ApprovalsWidget.InnerPanel(panelid, event);
+ }
- lastApprovalsList = new WebMarkupContainer("lastApprovalsList");
- lastApprovalsList.setOutputMarkupId(true);
- add(lastApprovalsList);
+ @Override
+ protected AbstractLink getEventsLink(final String linkid) {
+ BookmarkablePageLink<Object> approvals = BookmarkablePageLinkBuilder.build(linkid, Approvals.class);
+ MetaDataRoleAuthorizationStrategy.authorize(approvals, WebPage.ENABLE, StandardEntitlement.WORKFLOW_FORM_LIST);
+ return approvals;
+ }
- lastFive = new ListView<WorkflowFormTO>("lastApprovals", model) {
+ public static final class InnerPanel extends Panel {
- private static final long serialVersionUID = 4949588177564901031L;
+ private static final long serialVersionUID = 3829642687027801451L;
- @Override
- protected void populateItem(final ListItem<WorkflowFormTO> item) {
- final WorkflowFormTO modelObject = item.getModelObject();
+ public InnerPanel(final String id, final WorkflowFormTO alert) {
+ super(id);
- final AjaxLink<String> approval = new AjaxLink<String>("approval") {
+ final AjaxLink<String> approval = new AjaxLink<String>("approval") {
- private static final long serialVersionUID = 7021195294339489084L;
+ private static final long serialVersionUID = 7021195294339489084L;
- @Override
- public void onClick(final AjaxRequestTarget target) {
- // do nothing
- }
+ @Override
+ public void onClick(final AjaxRequestTarget target) {
+ // do nothing
+ }
- @Override
- protected void onComponentTag(final ComponentTag tag) {
- super.onComponentTag(tag);
- tag.put("title", modelObject.getUsername());
+ @Override
+ protected void onComponentTag(final ComponentTag tag) {
+ super.onComponentTag(tag);
+ if (StringUtils.isNotBlank(alert.getUsername())) {
+ tag.put("title", alert.getUsername().trim());
}
- };
-
- item.add(approval);
-
- approval.add(new Label("key", new ResourceModel(modelObject.getKey(), modelObject.getKey())).
- setRenderBodyOnly(true));
+ }
+ };
- approval.add(new Label("owner", modelObject.getOwner()));
+ add(approval);
- approval.add(new Label("createTime",
- SyncopeConsoleSession.get().getDateFormat().format(modelObject.getCreateTime())).
- setRenderBodyOnly(true));
+ approval.add(new Label("key", new ResourceModel(alert.getKey(), alert.getKey())).
+ setRenderBodyOnly(true));
- WebMarkupContainer dueDateContainer = new WebMarkupContainer("dueDateContainer");
- dueDateContainer.setOutputMarkupId(true);
- approval.add(dueDateContainer);
-
- if (modelObject.getDueDate() == null) {
- dueDateContainer.add(new Label("dueDate"));
- dueDateContainer.setVisible(false);
- } else {
- dueDateContainer.add(new Label("dueDate",
- SyncopeConsoleSession.get().getDateFormat().format(modelObject.getDueDate())).
- setRenderBodyOnly(true));
- }
+ approval.add(new Label("owner", alert.getOwner()));
- }
- };
- lastApprovalsList.add(lastFive.setReuseItems(false).setOutputMarkupId(true));
+ approval.add(new Label("createTime",
+ SyncopeConsoleSession.get().getDateFormat().format(alert.getCreateTime())).
+ setRenderBodyOnly(true));
- BookmarkablePageLink<Object> approvals = BookmarkablePageLinkBuilder.build("approvalsLink", Approvals.class);
- add(approvals);
- MetaDataRoleAuthorizationStrategy.authorize(approvals, WebPage.ENABLE, StandardEntitlement.WORKFLOW_FORM_LIST);
- }
+ WebMarkupContainer dueDateContainer = new WebMarkupContainer("dueDateContainer");
+ dueDateContainer.setOutputMarkupId(true);
+ approval.add(dueDateContainer);
- @Override
- public void onEvent(final IEvent<?> event) {
- if (event.getPayload() instanceof WebSocketPushPayload) {
- WebSocketPushPayload wsEvent = (WebSocketPushPayload) event.getPayload();
- if (wsEvent.getMessage() instanceof ApprovalsWidgetMessage) {
- List<WorkflowFormTO> updatedApprovals =
- ((ApprovalsWidgetMessage) wsEvent.getMessage()).getUpdatedApprovals();
- if (!lastApprovals.equals(updatedApprovals)) {
- lastApprovals.clear();
- lastApprovals.addAll(updatedApprovals);
-
- ApprovalsWidget.this.linkApprovalsNumber.
- setDefaultModelObject(ApprovalsWidget.this.lastApprovals.size());
- wsEvent.getHandler().add(ApprovalsWidget.this.linkApprovalsNumber);
-
- ApprovalsWidget.this.headerApprovalsNumber.
- setDefaultModelObject(ApprovalsWidget.this.lastApprovals.size());
- wsEvent.getHandler().add(ApprovalsWidget.this.headerApprovalsNumber);
-
- ApprovalsWidget.this.lastFive.removeAll();
- wsEvent.getHandler().add(ApprovalsWidget.this.lastApprovalsList);
- }
+ if (alert.getDueDate() == null) {
+ dueDateContainer.add(new Label("dueDate"));
+ dueDateContainer.setVisible(false);
+ } else {
+ dueDateContainer.add(new Label("dueDate",
+ SyncopeConsoleSession.get().getDateFormat().format(alert.getDueDate())).
+ setRenderBodyOnly(true));
}
}
+
}
public static final class ApprovalInfoUpdater implements Runnable {
@@ -224,12 +186,10 @@ public class ApprovalsWidget extends Panel {
ThreadContext.setApplication(application);
ThreadContext.setSession(session);
- List<WorkflowFormTO> updatedApprovals = getLastApprovals();
- Collections.sort(updatedApprovals, new WorkflowFormComparator());
+ List<WorkflowFormTO> updatedApprovals = getLatestAlerts();
WebSocketSettings settings = WebSocketSettings.Holder.get(application);
- WebSocketPushBroadcaster broadcaster =
- new WebSocketPushBroadcaster(settings.getConnectionRegistry());
+ WebSocketPushBroadcaster broadcaster = new WebSocketPushBroadcaster(settings.getConnectionRegistry());
broadcaster.broadcast(
new ConnectedMessage(application, session.getId(), key),
new ApprovalsWidgetMessage(updatedApprovals));
@@ -239,6 +199,17 @@ public class ApprovalsWidget extends Panel {
ThreadContext.detach();
}
}
+
+ protected static List<WorkflowFormTO> getLatestAlerts() {
+ final List<WorkflowFormTO> updatedApprovals;
+ if (SyncopeConsoleSession.get().owns(StandardEntitlement.WORKFLOW_FORM_LIST)) {
+ updatedApprovals = SyncopeConsoleSession.get().getService(UserWorkflowService.class).getForms();
+ } else {
+ updatedApprovals = Collections.<WorkflowFormTO>emptyList();
+ }
+ Collections.sort(updatedApprovals, new WorkflowFormComparator());
+ return updatedApprovals;
+ }
}
private static class ApprovalsWidgetMessage implements IWebSocketPushMessage, Serializable {
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/java/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget.java b/client/console/src/main/java/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget.java
new file mode 100644
index 0000000..5923417
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget.java
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.console.widgets;
+
+import de.agilecoders.wicket.core.markup.html.bootstrap.image.Icon;
+import de.agilecoders.wicket.extensions.markup.html.bootstrap.icon.FontAwesomeIconTypeBuilder;
+import java.util.List;
+import org.apache.syncope.client.console.tasks.TransformersTogglePanel;
+import org.apache.syncope.common.lib.to.MappingItemTO;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.markup.html.AjaxLink;
+import org.apache.wicket.markup.html.link.AbstractLink;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.util.ListModel;
+
+public class MappingItemTransformerWidget extends AlertWidget<String> {
+
+ private static final long serialVersionUID = 7667120094526529934L;
+
+ private final MappingItemTO mapItem;
+
+ private final TransformersTogglePanel transformers;
+
+ public MappingItemTransformerWidget(
+ final String id,
+ final MappingItemTO mapItem,
+ final TransformersTogglePanel transformers) {
+ super(id);
+ this.mapItem = mapItem;
+ this.transformers = transformers;
+ setOutputMarkupId(true);
+ }
+
+ @Override
+ protected IModel<List<String>> getLatestAlerts() {
+ return new ListModel<String>() {
+
+ private static final long serialVersionUID = 1232998477036705088L;
+
+ @Override
+ public List<String> getObject() {
+ return mapItem.getMappingItemTransformerClassNames();
+ }
+ };
+ }
+
+ @Override
+ protected AbstractLink getEventsLink(final String linkid) {
+ return new AjaxLink<String>(linkid) {
+
+ private static final long serialVersionUID = -7978723352517770644L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target) {
+ transformers.setMappingItem(target, MappingItemTransformerWidget.this.mapItem);
+ transformers.toggle(target, true);
+ }
+ };
+ }
+
+ @Override
+ protected Icon getIcon(final String iconid) {
+ return new Icon(
+ iconid, FontAwesomeIconTypeBuilder.on(FontAwesomeIconTypeBuilder.FontAwesomeGraphic.magic).build());
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder.java
index 6aafbfa..e8b4947 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ProvisionWizardBuilder.java
@@ -149,7 +149,6 @@ public class ProvisionWizardBuilder extends AjaxWizardBuilder<ProvisionTO> imple
AuxClasses(final ProvisionTO item) {
setTitleModel(new ResourceModel("auxClasses.title"));
setSummaryModel(new StringResourceModel("auxClasses.summary", this, new Model<>(item)));
-
add(new ProvisionAuxClassesPanel("auxClasses", item));
}
}
@@ -164,7 +163,6 @@ public class ProvisionWizardBuilder extends AjaxWizardBuilder<ProvisionTO> imple
Mapping(final ProvisionTO item) {
setTitleModel(new ResourceModel("mapping.title"));
setSummaryModel(new StringResourceModel("mapping.summary", this, new Model<>(item)));
-
add(new ResourceMappingPanel("mapping", resourceTO, item));
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceMappingPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceMappingPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceMappingPanel.java
index 46f1b4d..5733f48 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceMappingPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/ResourceMappingPanel.java
@@ -34,6 +34,7 @@ import org.apache.syncope.client.console.commons.Constants;
import org.apache.syncope.client.console.rest.AnyTypeClassRestClient;
import org.apache.syncope.client.console.rest.AnyTypeRestClient;
import org.apache.syncope.client.console.rest.ConnectorRestClient;
+import org.apache.syncope.client.console.tasks.TransformersTogglePanel;
import org.apache.syncope.client.console.wicket.ajax.form.IndicatorAjaxFormComponentUpdatingBehavior;
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
@@ -41,6 +42,7 @@ import org.apache.syncope.client.console.wicket.markup.html.form.AjaxCheckBoxPan
import org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
import org.apache.syncope.client.console.wicket.markup.html.form.MappingPurposePanel;
+import org.apache.syncope.client.console.widgets.MappingItemTransformerWidget;
import org.apache.syncope.common.lib.to.AnyTypeClassTO;
import org.apache.syncope.common.lib.to.AnyTypeTO;
import org.apache.syncope.common.lib.to.ConnIdObjectClassTO;
@@ -126,6 +128,8 @@ public class ResourceMappingPanel extends Panel {
*/
private final WebMarkupContainer mappingContainer;
+ private final TransformersTogglePanel transformers;
+
private MappingTO getMapping() {
if (provisionTO.getMapping() == null) {
provisionTO.setMapping(new MappingTO());
@@ -152,6 +156,9 @@ public class ResourceMappingPanel extends Panel {
this.mappingContainer.setOutputMarkupId(true);
add(this.mappingContainer);
+ transformers = new TransformersTogglePanel(this.mappingContainer);
+ add(this.transformers);
+
if (resourceTO.getConnector() != null) {
schemaNames = getSchemaNames(resourceTO.getConnector(), resourceTO.getConfOverride());
setEnabled();
@@ -292,6 +299,13 @@ public class ResourceMappingPanel extends Panel {
// -------------------------------
//--------------------------------
+ // Mapping item transformer
+ // -------------------------------
+ item.add(new MappingItemTransformerWidget(
+ "transformers", mapItem, transformers).setRenderBodyOnly(true));
+ // -------------------------------
+
+ //--------------------------------
// Mandatory
// -------------------------------
final AjaxTextFieldPanel mandatory = new AjaxTextFieldPanel(
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css b/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css
index 851ba8e..a8a0963 100644
--- a/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css
+++ b/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css
@@ -729,4 +729,99 @@ div#userFilter #check {
.keyColumn {
width: 20px;
-}
\ No newline at end of file
+}
+
+/**
+START - Alert widget onside menu
+*/
+div.alert-widget > a > .label {
+ font-size: 9px;
+ line-height: 0.9;
+ padding: 2px 3px;
+ position: absolute;
+ margin-left: 10px;
+ text-align: center;
+ top: 0px;
+}
+
+div.alert-widget > a {
+ display: block;
+ position: relative;
+}
+
+div.alert-widget > a > i {
+ position: absolute;
+ top: 9px;
+}
+
+div.alert-widget{
+ text-align: center;
+ vertical-align: middle;
+ padding-right: 20px;
+}
+
+div.alert-widget .dropdown-menu > li.header {
+ background-color: #ffffff;
+ border-bottom: 1px solid #f4f4f4;
+ border-radius: 4px 4px 0 0;
+ color: #444444;
+ font-size: 14px;
+ padding: 7px 10px;
+}
+
+div.alert-widget .dropdown-menu > li.footer > a {
+ background-color: #fff;
+ border-radius: 0 0 4px 4px;
+ color: #444 !important;
+ font-size: 12px;
+ padding: 7px 10px;
+ text-align: center;
+}
+
+div.alert-widget .dropdown-menu > li .menu {
+ list-style: outside none none;
+ padding: 10px;
+}
+/**
+END - Alert widget onside menu
+*/
+
+/**
+START - Transformers toggle panel
+*/
+div#transformersTogglePanel {
+ background-color: rgba(140, 140, 140, 0.99) !important;
+ width: 1000px !important;
+}
+
+div#transformersContainer {
+ padding: 15px;
+}
+
+div#transformersContainer input {
+ background-color: rgba(200, 200, 200, 0.60) !important;
+}
+
+div#transformersContainer #footer {
+ clear: both;
+ display: block;
+ text-align: right;
+}
+
+div#transformersContainer #body {
+ clear: both;
+ display: block;
+}
+
+div#transformersContainer #body select {
+ border: 1px solid #ccc !important;
+ background: rgba(240, 240, 240, 0.95) !important
+}
+
+div#transformersContainer #body a {
+ color: #ccc !important;
+ cursor: pointer !important;
+}
+/**
+END - Transformers toggle panel
+*/
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TransformersTogglePanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TransformersTogglePanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TransformersTogglePanel.html
new file mode 100644
index 0000000..152766f
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TransformersTogglePanel.html
@@ -0,0 +1,35 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+ <head><title></title></head>
+ <body>
+ <wicket:extend>
+ <div id="transformersContainer">
+ <form wicket:id="form">
+ <div id="body">
+ <span wicket:id="classes"/>
+ </div>
+ <div id="footer">
+ <input type="button" wicket:id="submit" class="btn" wicket:message="value:finish"></input>
+ </div>
+ </form>
+ </div>
+ </wicket:extend>
+ </body>
+</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TransformersTogglePanel.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TransformersTogglePanel.properties b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TransformersTogglePanel.properties
new file mode 100644
index 0000000..e3d6fd7
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TransformersTogglePanel.properties
@@ -0,0 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+finish=Finish
+palette.available=Available Mapping Item Transformers
+palette.selected=Selected Transformers
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TransformersTogglePanel_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TransformersTogglePanel_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TransformersTogglePanel_it.properties
new file mode 100644
index 0000000..827394e
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TransformersTogglePanel_it.properties
@@ -0,0 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+finish=Fine
+palette.available=Mapping Item Transformer Disponibili
+palette.selected=Transformer Selezionati
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TransformersTogglePanel_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TransformersTogglePanel_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TransformersTogglePanel_pt_BR.properties
new file mode 100644
index 0000000..e3d6fd7
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TransformersTogglePanel_pt_BR.properties
@@ -0,0 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+finish=Finish
+palette.available=Available Mapping Item Transformers
+palette.selected=Selected Transformers
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TransformersTogglePanel_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TransformersTogglePanel_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TransformersTogglePanel_ru.properties
new file mode 100644
index 0000000..e3d6fd7
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TransformersTogglePanel_ru.properties
@@ -0,0 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+finish=Finish
+palette.available=Available Mapping Item Transformers
+palette.selected=Selected Transformers
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget$AlertLink.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget$AlertLink.html b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget$AlertLink.html
new file mode 100644
index 0000000..3c9973d
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget$AlertLink.html
@@ -0,0 +1,23 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+ <wicket:panel>
+ <span wicket:id="alert">[ALERT]</span>
+ </wicket:panel>
+</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget.html b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget.html
new file mode 100644
index 0000000..e9a6433
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget.html
@@ -0,0 +1,41 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+ <wicket:panel>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
+ <i wicket:id="icon"></i>
+ <span class="label label-danger" wicket:id="alerts"></span>
+ </a>
+ <ul class="dropdown-menu">
+ <li class="header">
+ <wicket:message key="summary"><span wicket:id="number"/></wicket:message>
+ </li>
+ <li>
+ <ul wicket:id="latestAlertsList" class="menu">
+ <li class="todoitem" wicket:id="latestAlerts">
+ <span wicket:id="alert">[ALERT]</span>
+ </li>
+ </ul>
+ </li>
+ <li class="footer">
+ <a href="#" wicket:id="alertsLink"><wicket:message key="alerts.view.all">View all alerts</wicket:message></a>
+ </li>
+ </ul>
+ </wicket:panel>
+</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget.properties b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget.properties
new file mode 100644
index 0000000..d26ac1e
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget.properties
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+alerts.view.all=View all alerts
+summary=${number} alert(s)
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget_it.properties
new file mode 100644
index 0000000..d50350c
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget_it.properties
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+alerts.view.all=Tutti gli avvisi
+summary=${number} avvisi
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget_pt_BR.properties
new file mode 100644
index 0000000..d26ac1e
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget_pt_BR.properties
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+alerts.view.all=View all alerts
+summary=${number} alert(s)
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget_ru.properties
new file mode 100644
index 0000000..9f12445
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/AlertWidget_ru.properties
@@ -0,0 +1,21 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+# approvals.view.all=\u00d0\u009f\u00d0\u00be\u00d1\u0081\u00d0\u00bc\u00d0\u00be\u00d1\u0082\u00d1\u0080\u00d0\u00b5\u00d1\u0082\u00d1\u008c \u00d0\u00b2\u00d1\u0081\u00d0\u00b5 \u00d0\u00b7\u00d0\u00b0\u00d1\u008f\u00d0\u00b2\u00d0\u00ba\u00d0\u00b8
+alerts.view.all=View all alerts
+# summary=${number} \u00d0\u00be\u00d0\u00b6\u00d0\u00b8\u00d0\u00b4\u00d0\u00b0\u00d1\u008e\u00d1\u0082 \u00d1\u0081\u00d0\u00be\u00d0\u00b3\u00d0\u00bb\u00d0\u00b0\u00d1\u0081\u00d0\u00be\u00d0\u00b2\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d1\u008f
+summary=${number} alert(s)
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget$InnerPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget$InnerPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget$InnerPanel.html
new file mode 100644
index 0000000..4e95b13
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget$InnerPanel.html
@@ -0,0 +1,27 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+ <wicket:panel>
+ <a href="#" wicket:id="approval">
+ <h3><small class="pull-right" wicket:id="owner"/> <p wicket:id="key"/></h3>
+ <small wicket:id="dueDateContainer" class="pull-right"><i class="fa fa-hourglass-end"></i> <p wicket:id="dueDate"/></small>
+ <small><i class="fa fa-clock-o"></i> <p wicket:id="createTime"/></small>
+ </a>
+ </wicket:panel>
+</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget.html b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget.html
deleted file mode 100644
index 4abfe9b..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
- <wicket:panel>
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
- <i class="fa fa-flag-o"></i>
- <span class="label label-danger" wicket:id="approvals"></span>
- </a>
- <ul class="dropdown-menu">
- <li class="header">
- <wicket:message key="summary"><span wicket:id="number"/></wicket:message>
- </li>
- <li>
- <ul wicket:id="lastApprovalsList" class="menu">
- <li class="todoitem" wicket:id="lastApprovals">
- <a href="#" wicket:id="approval">
- <h3><small class="pull-right" wicket:id="owner"/> <p wicket:id="key"/></h3>
- <small wicket:id="dueDateContainer" class="pull-right"><i class="fa fa-hourglass-end"></i> <p wicket:id="dueDate"/></small>
- <small><i class="fa fa-clock-o"></i> <p wicket:id="createTime"/></small>
- </a>
- </li>
- </ul>
- </li>
- <li class="footer">
- <a href="#" wicket:id="approvalsLink"><wicket:message key="approvals.view.all">View all approvals</wicket:message></a>
- </li>
- </ul>
- </wicket:panel>
-</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget.properties b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget.properties
index 0ca887b..bdf7ec7 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget.properties
@@ -14,7 +14,7 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-approvals.view.all=View All approvals
+alerts.view.all=View All approvals
duedate=Due date
owner=Owner
createApproval=Create Approval
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_it.properties
index d358219..ca41eeb 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_it.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_it.properties
@@ -14,7 +14,7 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-approvals.view.all=Tutti le approvazioni
+alerts.view.all=Tutti le approvazioni
duedate=Scadenza
owner=Assegnato
createApproval=Approvazione Creazione
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_pt_BR.properties
index 6ede07e..4ded669 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_pt_BR.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_pt_BR.properties
@@ -14,7 +14,7 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-approvals.view.all=View All Approvals
+alerts.view.all=View All Approvals
duedate=Due date
owner=Owner
createApproval=Create Approval
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_ru.properties
index fd78461..803865f 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_ru.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_ru.properties
@@ -15,13 +15,13 @@
# specific language governing permissions and limitations
# under the License.
#
-# approvals.view.all=Посмотреть все заявки
-approvals.view.all=\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u0441\u0435 \u0437\u0430\u044f\u0432\u043a\u0438
-# duedate=Срок
+# approvals.view.all=\u00d0\u009f\u00d0\u00be\u00d1\u0081\u00d0\u00bc\u00d0\u00be\u00d1\u0082\u00d1\u0080\u00d0\u00b5\u00d1\u0082\u00d1\u008c \u00d0\u00b2\u00d1\u0081\u00d0\u00b5 \u00d0\u00b7\u00d0\u00b0\u00d1\u008f\u00d0\u00b2\u00d0\u00ba\u00d0\u00b8
+alerts.view.all=\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u0441\u0435 \u0437\u0430\u044f\u0432\u043a\u0438
+# duedate=\u00d0\u00a1\u00d1\u0080\u00d0\u00be\u00d0\u00ba
duedate=\u0421\u0440\u043e\u043a
-# owner=Владелец
+# owner=\u00d0\u0092\u00d0\u00bb\u00d0\u00b0\u00d0\u00b4\u00d0\u00b5\u00d0\u00bb\u00d0\u00b5\u00d1\u0086
owner=\u0412\u043b\u0430\u0434\u0435\u043b\u0435\u0446
-# createApproval=Создать заявку
+# createApproval=\u00d0\u00a1\u00d0\u00be\u00d0\u00b7\u00d0\u00b4\u00d0\u00b0\u00d1\u0082\u00d1\u008c \u00d0\u00b7\u00d0\u00b0\u00d1\u008f\u00d0\u00b2\u00d0\u00ba\u00d1\u0083
createApproval=\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0437\u0430\u044f\u0432\u043a\u0443
-# summary=${number} ожидают согласования
+# summary=${number} \u00d0\u00be\u00d0\u00b6\u00d0\u00b8\u00d0\u00b4\u00d0\u00b0\u00d1\u008e\u00d1\u0082 \u00d1\u0081\u00d0\u00be\u00d0\u00b3\u00d0\u00bb\u00d0\u00b0\u00d1\u0081\u00d0\u00be\u00d0\u00b2\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d1\u008f
summary=${number} \u043e\u0436\u0438\u0434\u0430\u044e\u0442 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u044f
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget.properties b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget.properties
new file mode 100644
index 0000000..d12923b
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget.properties
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+alerts.view.all=View All Mapping Tranformers
+summary=${number} selected transformer(s)
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget_it.properties
new file mode 100644
index 0000000..5e85664
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget_it.properties
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+alerts.view.all=Tutti i Mapping Transformer
+summary=${number} transformer selezionati
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget_pt_BR.properties
new file mode 100644
index 0000000..d12923b
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget_pt_BR.properties
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+alerts.view.all=View All Mapping Tranformers
+summary=${number} selected transformer(s)
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget_ru.properties
new file mode 100644
index 0000000..3418dad
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/MappingItemTransformerWidget_ru.properties
@@ -0,0 +1,21 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+# approvals.view.all=\u00d0\u009f\u00d0\u00be\u00d1\u0081\u00d0\u00bc\u00d0\u00be\u00d1\u0082\u00d1\u0080\u00d0\u00b5\u00d1\u0082\u00d1\u008c \u00d0\u00b2\u00d1\u0081\u00d0\u00b5 \u00d0\u00b7\u00d0\u00b0\u00d1\u008f\u00d0\u00b2\u00d0\u00ba\u00d0\u00b8
+alerts.view.all=View All Mapping Tranformers
+# summary=${number} \u00d0\u00be\u00d0\u00b6\u00d0\u00b8\u00d0\u00b4\u00d0\u00b0\u00d1\u008e\u00d1\u0082 \u00d1\u0081\u00d0\u00be\u00d0\u00b3\u00d0\u00bb\u00d0\u00b0\u00d1\u0081\u00d0\u00be\u00d0\u00b2\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d1\u008f
+summary=${number} selected transformer(s)
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceMappingPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceMappingPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceMappingPanel.html
index 2b717e2..b202b23 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceMappingPanel.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceMappingPanel.html
@@ -17,70 +17,80 @@ specific language governing permissions and limitations
under the License.
-->
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
- <wicket:panel>
- <div class="table-responsive no-padding">
- <table id="mappings"
- class="table table-hover"
- style="font-size: 1em;margin-top:2px;"
- wicket:id="mappingContainer">
- <tbody>
- <tr>
- <th><wicket:message key="entity"/></th>
- <th><wicket:message key="intMappingTypes"/></th>
- <th><wicket:message key="intAttrNames"/></th>
- <th><wicket:message key="extAttrNames"/></th>
- <th>
- <wicket:message key="mandatoryCondition"/>
- <span id="popover" wicket:id="jexlInfo" class="glyphicon glyphicon-info-sign"></span>
- </th>
- <th><wicket:message key="connObjectKey"/></th>
- <th><label wicket:id="passwordLabel"/></th>
- <th><wicket:message key="purpose"/></th>
- <th><i class="fa fa-trash"></i></th>
- </tr>
- <tr wicket:id="mappings">
- <td>
- <span wicket:id="entities">[entities]</span>
- </td>
- <td>
- <span wicket:id="intMappingTypes">[intMappingTypes]</span>
- </td>
- <td>
- <span wicket:id="intAttrNames">[intAttrNames]</span>
- </td>
- <td>
- <span wicket:id="extAttrName">[extAttrName]</span>
- </td>
- <td>
- <span wicket:id="mandatoryCondition">[mandatoryCondition]</span>
- </td>
- <td>
- <span wicket:id="connObjectKey">[connObjectKey]</span>
- </td>
- <td>
- <span wicket:id="password">[password]</span>
- </td>
- <td>
- <div wicket:id="purpose" style="margin: 10px 0px 10px 0px">
- <span wicket:id="purposeActions">[purpose]</span>
- </div>
- </td>
- <td>
- <div style="margin: 10px 0px 10px 0px">
- <span wicket:id="toRemove"/>
- </div>
- </td>
- </tr>
- </tbody>
+ <head><title></title></head>
+ <body>
+ <wicket:panel>
+ <div class="table-responsive no-padding">
+ <table id="mappings"
+ class="table table-hover"
+ style="font-size: 1em;margin-top:2px;"
+ wicket:id="mappingContainer">
+ <tbody>
+ <tr>
+ <th><wicket:message key="entity"/></th>
+ <th><wicket:message key="intMappingTypes"/></th>
+ <th><wicket:message key="intAttrNames"/></th>
+ <th><wicket:message key="extAttrNames"/></th>
+ <th><i class="fa fa-magic"></i></th>
+ <th>
+ <wicket:message key="mandatoryCondition"/>
+ <span id="popover" wicket:id="jexlInfo" class="glyphicon glyphicon-info-sign"></span>
+ </th>
+ <th><wicket:message key="connObjectKey"/></th>
+ <th><label wicket:id="passwordLabel"/></th>
+ <th><wicket:message key="purpose"/></th>
+ <th><i class="fa fa-trash"></i></th>
+ </tr>
+ <tr wicket:id="mappings">
+ <td>
+ <span wicket:id="entities">[entities]</span>
+ </td>
+ <td>
+ <span wicket:id="intMappingTypes">[intMappingTypes]</span>
+ </td>
+ <td>
+ <span wicket:id="intAttrNames">[intAttrNames]</span>
+ </td>
+ <td>
+ <span wicket:id="extAttrName">[extAttrName]</span>
+ </td>
+ <td>
+ <div class="alert-widget dropdown tasks-menu">
+ <span wicket:id="transformers">[Mapping Item Transformes]</span>
+ </div>
+ </td>
+ <td>
+ <span wicket:id="mandatoryCondition">[mandatoryCondition]</span>
+ </td>
+ <td>
+ <span wicket:id="connObjectKey">[connObjectKey]</span>
+ </td>
+ <td>
+ <span wicket:id="password">[password]</span>
+ </td>
+ <td>
+ <div wicket:id="purpose" style="margin: 10px 0px 10px 0px">
+ <span wicket:id="purposeActions">[purpose]</span>
+ </div>
+ </td>
+ <td>
+ <div>
+ <span wicket:id="toRemove"/>
+ </div>
+ </td>
+ </tr>
+ </tbody>
- <tfoot>
- <tr>
- <td colspan="9" style="padding: 5px; text-align: right">
- <input type="submit" class="btn btn-primary" wicket:id="addMappingBtn" />
- </td>
- </tr>
- </tfoot>
- </table>
- </div>
- </wicket:panel>
+ <tfoot>
+ <tr>
+ <td colspan="10" style="padding: 5px; text-align: right">
+ <input type="submit" class="btn btn-primary" wicket:id="addMappingBtn" />
+ </td>
+ </tr>
+ </tfoot>
+ </table>
+ </div>
+ <span wicket:id="transformersTogglePanel">[TRANSFORMERS]</span>
+ </wicket:panel>
+ </body>
</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.properties
index b930016..d9fabb4 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel.properties
@@ -25,6 +25,7 @@ intMappingTypes=Internal mapping types
entity=Entity
groupSchema=Role Schema
connObjectKey=Remote Key
+transformers=Item Transformers
mandatoryCondition=Mandatory
password=Password
purpose=Purpose
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_it.properties
index ce5395f..4d4e1d7 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_it.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_it.properties
@@ -25,6 +25,7 @@ intMappingTypes=Tipo mapping interno
entity=Entità
groupSchema=Schema Ruolo
connObjectKey=Chiave remota
+transformers=Item Transformers
mandatoryCondition=Obbligatorio
password=Password
purpose=Scopo
http://git-wip-us.apache.org/repos/asf/syncope/blob/32726184/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_pt_BR.properties
index 91558a5..1c58a0b 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_pt_BR.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceProvisionPanel_pt_BR.properties
@@ -25,6 +25,7 @@ intMappingTypes=Tipos internos de mapeamentos
entity=Entidade
groupSchema=Esquema de Fun\u00e7\u00e3o
connObjectKey=Remote Key
+transformers=Item Transformers
mandatoryCondition=Obrigat\u00f3rio
password=Senha
purpose=Prop\u00f3sito