summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVikas Mishra2012-03-09 04:18:54 (EST)
committer Manik Kishore2012-06-19 07:20:05 (EDT)
commit6a30d5f27e375c539c8954d411400f27601f7fec (patch)
tree01c0bc5c5b4e074a86e169816b0276246a5efebd
parent06adbe91aacf004735156dd9b98f566ee3f83e93 (diff)
downloadorg.eclipse.stardust.ui.web-6a30d5f27e375c539c8954d411400f27601f7fec.zip
org.eclipse.stardust.ui.web-6a30d5f27e375c539c8954d411400f27601f7fec.tar.gz
org.eclipse.stardust.ui.web-6a30d5f27e375c539c8954d411400f27601f7fec.tar.bz2
Jira-ID: CRNT-23440
1)Added Extract Page configuration on Image Viewer Configuration. 2)Added new permissions and added check on required places. git-svn-id: http://emeafrazerg/svn/ipp/product/trunk/stardust/ui.web@54419 8100b5e0-4d52-466c-ae9c-bdeccbdeaf6b
-rw-r--r--business-control-center/src/main/java/org/eclipse/stardust/ui/web/bcc/common/configuration/UserPreferencesEntries.java4
-rw-r--r--process-portal/src/main/java/org/eclipse/stardust/ui/web/processportal/view/ActivityDetailsBean.java49
-rw-r--r--process-portal/src/main/resources/META-INF/xhtml/processportal/toolbar/workflowActions.xhtml4
-rw-r--r--views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/common/configuration/UserPreferencesEntries.java2
-rw-r--r--views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/dialogs/SpawnProcessDialogBean.java11
-rw-r--r--views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/helper/activityTable/ActivityTableHelper.java75
-rw-r--r--views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/helper/processTable/ProcessTableHelper.java25
-rw-r--r--views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/process/history/ProcessHistoryTable.java29
-rw-r--r--views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/processContextExplorer/ProcessInstanceDetailsBean.java34
-rw-r--r--views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/utils/ActivityInstanceUtils.java29
-rw-r--r--views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/utils/AuthorizationUtils.java47
-rw-r--r--views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/views/casemanagement/CaseDetailsBean.java37
-rw-r--r--views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/views/document/ImageViewerConfigurationBean.java90
-rw-r--r--views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/views/document/tiff/BookmarkManager.java5
-rw-r--r--views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/views/document/tiff/extract/ExtractPageDialog.java4
-rw-r--r--views-common/src/main/resources/META-INF/xhtml/common/abortIframePopup.xhtml8
-rw-r--r--views-common/src/main/resources/META-INF/xhtml/common/caseIframePopup.xhtml6
-rw-r--r--views-common/src/main/resources/META-INF/xhtml/common/switchProcessMenuBar.xhtml4
-rw-r--r--views-common/src/main/resources/META-INF/xhtml/common/switchProcessPanelTooltip.xhtml4
-rw-r--r--views-common/src/main/resources/META-INF/xhtml/extension/toolbar/processInstanceDetailsViewToolbar.xhtml4
-rw-r--r--views-common/src/main/resources/META-INF/xhtml/processhistory/processInstanceHistoryTableColumns.xhtml4
-rw-r--r--views-common/src/main/resources/META-INF/xhtml/views/document/imageViewerConfiguration.xhtml30
-rw-r--r--views-common/src/main/resources/views-common-messages.properties11
-rw-r--r--views-common/src/main/resources/views-common-messages_de.properties9
-rw-r--r--views-common/src/main/resources/views-common-messages_ja.properties10
-rw-r--r--views-common/src/main/resources/views-common-messages_zh_CN.properties9
26 files changed, 441 insertions, 103 deletions
diff --git a/business-control-center/src/main/java/org/eclipse/stardust/ui/web/bcc/common/configuration/UserPreferencesEntries.java b/business-control-center/src/main/java/org/eclipse/stardust/ui/web/bcc/common/configuration/UserPreferencesEntries.java
index 6353715..93f26a3 100644
--- a/business-control-center/src/main/java/org/eclipse/stardust/ui/web/bcc/common/configuration/UserPreferencesEntries.java
+++ b/business-control-center/src/main/java/org/eclipse/stardust/ui/web/bcc/common/configuration/UserPreferencesEntries.java
@@ -14,7 +14,7 @@ public interface UserPreferencesEntries
{
public static final String M_BCC = "ipp-business-control-center";
- public static final String V_PROCESS_DESC_DETAILS = "processDescriptorDetails";
+
public static final String V_PRIORITY_VIEW = "priorityView";
public static final String V_COMPLETED_ACTIVITY = "CompletedActivity";
public static final String V_COST_AND_CONTROLLING = "CostsandControlling";
@@ -30,7 +30,7 @@ public interface UserPreferencesEntries
public static final String V_USER_ASSIGNED = "userAssigned";
public static final String V_USER_ASSIGNABLE = "userAssignable";
public static final String V_TRAFFIC_LIGHT = "TrafficLightView";
- public static final String V_TRAFFIC_LIGHT_ACTIVITY = "TrafficLightViewActivity";
+
public static final String V_ROLE_ASSIGNED = "roleAssigned";
public static final String V_ROLE_ASSIGNABLE = "roleAssignable";
public static final String V_ACTIVITY_CRITICALITY_VIEW = "activityCriticalityView";
diff --git a/process-portal/src/main/java/org/eclipse/stardust/ui/web/processportal/view/ActivityDetailsBean.java b/process-portal/src/main/java/org/eclipse/stardust/ui/web/processportal/view/ActivityDetailsBean.java
index 3bc2c80..3c2a9eb 100644
--- a/process-portal/src/main/java/org/eclipse/stardust/ui/web/processportal/view/ActivityDetailsBean.java
+++ b/process-portal/src/main/java/org/eclipse/stardust/ui/web/processportal/view/ActivityDetailsBean.java
@@ -18,7 +18,6 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
@@ -35,11 +34,7 @@ import org.eclipse.stardust.engine.api.dto.DataDetails;
import org.eclipse.stardust.engine.api.dto.Note;
import org.eclipse.stardust.engine.api.model.Activity;
import org.eclipse.stardust.engine.api.model.ContextData;
-import org.eclipse.stardust.engine.api.model.Data;
-import org.eclipse.stardust.engine.api.model.DataMapping;
-import org.eclipse.stardust.engine.api.model.Model;
import org.eclipse.stardust.engine.api.model.PredefinedConstants;
-import org.eclipse.stardust.engine.api.model.Reference;
import org.eclipse.stardust.engine.api.runtime.ActivityInstance;
import org.eclipse.stardust.engine.api.runtime.ActivityInstanceState;
import org.eclipse.stardust.engine.api.runtime.Document;
@@ -48,10 +43,7 @@ import org.eclipse.stardust.engine.api.runtime.QualityAssuranceUtils.QualityAssu
import org.eclipse.stardust.engine.api.runtime.WorkflowService;
import org.eclipse.stardust.engine.core.interactions.Interaction;
import org.eclipse.stardust.engine.core.interactions.InteractionRegistry;
-import org.eclipse.stardust.engine.core.struct.StructuredDataConstants;
-import org.eclipse.stardust.engine.core.struct.TypedXPath;
import org.eclipse.stardust.engine.extensions.dms.data.DmsConstants;
-import org.eclipse.stardust.engine.extensions.xml.data.XPathUtils;
import org.eclipse.stardust.ui.client.common.ClientContext;
import org.eclipse.stardust.ui.common.form.jsf.DocumentInputController;
import org.eclipse.stardust.ui.common.form.jsf.JsfStructureContainer;
@@ -202,7 +194,10 @@ public class ActivityDetailsBean
private boolean supportsProcessDocuments = false;
private QualityAssuranceCodesBean qaCodeIframeBean;
- private boolean canCreateCase;
+ private boolean hasCreateCasePermission;
+ private boolean hasJoinProcessPermission;
+ private boolean hasSwitchProcessPermission;
+ private boolean hasSpawnProcessPermission;
private ConfirmationDialog mappedDocumentConfirmationDialog;
public static IActivityInteractionController getInteractionController(Activity activity)
@@ -375,9 +370,10 @@ public class ActivityDetailsBean
"views.processInstanceDetailsView.tooltip", thisView.getTooltip(), description);
thisView.setTooltip(tooltip);
}
- canCreateCase = AuthorizationUtils.canCreateCase();
-
-
+ hasCreateCasePermission = AuthorizationUtils.canCreateCase();
+ hasJoinProcessPermission = AuthorizationUtils.hasAbortAndJoinProcessInstancePermission();
+ hasSwitchProcessPermission = AuthorizationUtils.hasAbortAndStartProcessInstancePermission();
+ hasSpawnProcessPermission = AuthorizationUtils.hasSpawnProcessPermission();
}
else if (ViewEventType.TO_BE_ACTIVATED == event.getType())
{
@@ -2213,14 +2209,14 @@ public class ActivityDetailsBean
renderSession();
}
-
+
/**
- *
- * @return
+ * Method isHasCreateCasePermission.
+ * @return boolean
*/
- public boolean isCanCreateCase()
+ public boolean isEnableCreateCase()
{
- return canCreateCase;
+ return hasCreateCasePermission;
}
/**
@@ -2271,8 +2267,7 @@ public class ActivityDetailsBean
*/
public void openJoinProcess(ActionEvent event)
{
- JoinProcessDialogBean dialog=JoinProcessDialogBean.getInstance();
- // dialog.setMultiSelected(false);
+ JoinProcessDialogBean dialog=JoinProcessDialogBean.getInstance();
dialog.setSourceProcessInstance(getActivityInstance().getProcessInstance());
dialog.openPopup();
closeSwitchProcessIframePopup();
@@ -2293,6 +2288,22 @@ public class ActivityDetailsBean
renderSession();
}
+ public boolean isEnableJoinProcess()
+ {
+ return hasJoinProcessPermission;
+ }
+
+ public boolean isEnableSwitchProcess()
+ {
+ return hasSwitchProcessPermission;
+ }
+
+ public boolean isEnableSpawnProcess()
+ {
+ return hasSpawnProcessPermission;
+ }
+
+
/**
*
*/
diff --git a/process-portal/src/main/resources/META-INF/xhtml/processportal/toolbar/workflowActions.xhtml b/process-portal/src/main/resources/META-INF/xhtml/processportal/toolbar/workflowActions.xhtml
index a7b0b29..64a324d 100644
--- a/process-portal/src/main/resources/META-INF/xhtml/processportal/toolbar/workflowActions.xhtml
+++ b/process-portal/src/main/resources/META-INF/xhtml/processportal/toolbar/workflowActions.xhtml
@@ -155,10 +155,10 @@
value="processInstanceOID=#{activityDetailsBean.activityInstance.processInstanceOID}&processInstanceName=#{activityDetailsBean.activityInstance.processInstance.processName}" />
</ice:commandLink>
- <ice:commandLink action="#{spawnProcessDialogBean.openPopup}" immediate="true" >
+ <ice:commandLink action="#{spawnProcessDialogBean.openPopup}" disabled="#{!activityDetailsBean.enableSpawnProcess}" immediate="true" >
<ice:graphicImage
value="/plugins/views-common/images/icons/cog_add.png"
- styleClass="toolbar-button"
+ styleClass="toolbar-button #{activityDetailsBean.enableSpawnProcess ? 'iceCmdBtn-dis' : ''}"
title="#{views_common_msgPropsBean['views.spawnProcessDialog.title']}" />
<f:param name="processInstanceOID"
value="#{activityDetailsBean.activityInstance.processInstanceOID}" />
diff --git a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/common/configuration/UserPreferencesEntries.java b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/common/configuration/UserPreferencesEntries.java
index cd85bee..57666db 100644
--- a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/common/configuration/UserPreferencesEntries.java
+++ b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/common/configuration/UserPreferencesEntries.java
@@ -78,6 +78,8 @@ public interface UserPreferencesEntries
public static final String F_IMAGE_VIEWER_SELECTED_DATA_FIELD_HIGHLIGHTER_OPACITY = "prefs.imageViewer.selectedDataFieldHighlightOpacity";
public static final String F_IMAGE_VIEWER_SELECTED_NOTE_FONT_SIZE = "prefs.imageViewer.selectedNoteFontSize";
public static final String F_IMAGE_VIEWER_SELECTED_STAMP = "prefs.imageViewer.selectedStamp";
+ public static final String F_IMAGE_VIEWER_ENABLE_EXTRACT_PAGES = "prefs.imageViewer.enableExtractPages";
+ public static final String F_IMAGE_VIEWER_ALLOW_DELETE_FROM_ORIGINAL = "prefs.imageViewer.allowDeleteFromOriginal";
//BCC
public static final String F_REPORTS_FAVORITE = "prefs.reports.favoriteReports";
diff --git a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/dialogs/SpawnProcessDialogBean.java b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/dialogs/SpawnProcessDialogBean.java
index 2f6e1d0..300d3dd 100644
--- a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/dialogs/SpawnProcessDialogBean.java
+++ b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/dialogs/SpawnProcessDialogBean.java
@@ -33,6 +33,7 @@ import org.eclipse.stardust.ui.web.common.message.MessageDialog;
import org.eclipse.stardust.ui.web.common.util.FacesUtils;
import org.eclipse.stardust.ui.web.viewscommon.core.ResourcePaths;
import org.eclipse.stardust.ui.web.viewscommon.messages.MessagesViewsCommonBean;
+import org.eclipse.stardust.ui.web.viewscommon.utils.AuthorizationUtils;
import org.eclipse.stardust.ui.web.viewscommon.utils.ExceptionHandler;
import org.eclipse.stardust.ui.web.viewscommon.utils.I18nUtils;
import org.eclipse.stardust.ui.web.viewscommon.utils.ProcessInstanceUtils;
@@ -61,6 +62,7 @@ public class SpawnProcessDialogBean extends PopupUIComponentBean implements Conf
private SpawnProcessHelper spawnProcessHelper;
private ProcessInstance sourceProcessInstance;
private ConfirmationDialog confirmationDlg;
+ private Boolean hasSpawnProcessPermission;
@Override
public void initialize()
@@ -318,5 +320,14 @@ public class SpawnProcessDialogBean extends PopupUIComponentBean implements Conf
{
return confirmationDlg;
}
+
+ public boolean isHasSpawnProcessPermission()
+ {
+ if (null == hasSpawnProcessPermission)
+ {
+ hasSpawnProcessPermission = AuthorizationUtils.hasSpawnProcessPermission();
+ }
+ return hasSpawnProcessPermission;
+ }
}
diff --git a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/helper/activityTable/ActivityTableHelper.java b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/helper/activityTable/ActivityTableHelper.java
index be7d3bd..76a90d2 100644
--- a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/helper/activityTable/ActivityTableHelper.java
+++ b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/helper/activityTable/ActivityTableHelper.java
@@ -53,6 +53,7 @@ import org.eclipse.stardust.ui.web.common.filter.TableDataFilterPopup;
import org.eclipse.stardust.ui.web.common.filter.ITableDataFilter.DataType;
import org.eclipse.stardust.ui.web.common.filter.ITableDataFilter.FilterCriteria;
import org.eclipse.stardust.ui.web.common.filter.ITableDataFilterPickList.RenderType;
+import org.eclipse.stardust.ui.web.common.message.MessageDialog;
import org.eclipse.stardust.ui.web.common.table.DataTableRowSelector;
import org.eclipse.stardust.ui.web.common.table.DataTableSortModel;
import org.eclipse.stardust.ui.web.common.table.IUserObjectBuilder;
@@ -87,6 +88,7 @@ import org.eclipse.stardust.ui.web.viewscommon.user.ParticipantWrapper;
import org.eclipse.stardust.ui.web.viewscommon.user.UserAutocompleteTableDataFilter;
import org.eclipse.stardust.ui.web.viewscommon.user.UserWrapper;
import org.eclipse.stardust.ui.web.viewscommon.utils.ActivityInstanceUtils;
+import org.eclipse.stardust.ui.web.viewscommon.utils.AuthorizationUtils;
import org.eclipse.stardust.ui.web.viewscommon.utils.CommonDescriptorUtils;
import org.eclipse.stardust.ui.web.viewscommon.utils.ExceptionHandler;
import org.eclipse.stardust.ui.web.viewscommon.utils.ProcessInstanceUtils;
@@ -136,6 +138,10 @@ public class ActivityTableHelper implements ICallbackHandler , IUserObjectBuilde
private Set<String> visibleDescriptorsIds;
private boolean fetchAllDescriptors;
+
+ private boolean hasJoinProcessPermission;
+
+ private boolean hasSwitchProcessPermission;
public ActivityTableHelper()
{
@@ -150,6 +156,10 @@ public class ActivityTableHelper implements ICallbackHandler , IUserObjectBuilde
allStatusList = ActivityInstanceUtils.getAllActivityStates();
columnModelListener = new ColumnModelListener();
+
+ hasJoinProcessPermission = AuthorizationUtils.hasAbortAndJoinProcessInstancePermission();
+
+ hasSwitchProcessPermission = AuthorizationUtils.hasAbortAndStartProcessInstancePermission();
}
/**
@@ -226,11 +236,11 @@ public class ActivityTableHelper implements ICallbackHandler , IUserObjectBuilde
{
DelegationBean delegationBean = (DelegationBean) FacesUtils
.getBeanFromContext("delegationBean");
- delegationBean.setAis(ais);
- delegationBean.setICallbackHandler(callbackHandler);
- delegationBean.openPopup();
- }
- }
+ delegationBean.setAis(ais);
+ delegationBean.setICallbackHandler(callbackHandler);
+ delegationBean.openPopup();
+ }
+ }
/**
*
@@ -1176,7 +1186,7 @@ public class ActivityTableHelper implements ICallbackHandler , IUserObjectBuilde
else
{
// For multiple row select i.e Activity table toolbar
- List<ProcessInstance> processInstanceList = getSelectedActivities();
+ List<ProcessInstance> processInstanceList = getSelectedProcesses();
dialog.setSourceProcessInstances(processInstanceList);
}
dialog.openPopup();
@@ -1189,6 +1199,32 @@ public class ActivityTableHelper implements ICallbackHandler , IUserObjectBuilde
}
/**
+ *
+ * @return
+ */
+ public boolean isEnableJoinProcess()
+ {
+ if (hasJoinProcessPermission && !ActivityInstanceUtils.isContainsCaseActivity(getSelectedActivities()))
+ {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ *
+ * @return
+ */
+ public boolean isEnableSwitchProcess()
+ {
+ if (hasSwitchProcessPermission && !ActivityInstanceUtils.isContainsCaseActivity(getSelectedActivities()))
+ {
+ return true;
+ }
+ return false;
+ }
+
+ /**
* action listener to open Join process
*/
public void openJoinProcess(ActionEvent event)
@@ -1202,7 +1238,7 @@ public class ActivityTableHelper implements ICallbackHandler , IUserObjectBuilde
ProcessInstance processInstance = null;
if (null == activityInstance)
{
- processInstance = getSelectedActivities().get(0);
+ processInstance = getSelectedProcesses().get(0);
}
else
{
@@ -1219,17 +1255,17 @@ public class ActivityTableHelper implements ICallbackHandler , IUserObjectBuilde
ExceptionHandler.handleException(e);
}
}
+
/**
*
* @return
*/
- private List<ProcessInstance> getSelectedActivities()
+ private List<ProcessInstance> getSelectedProcesses()
{
List<ProcessInstance> processInstanceList = CollectionUtils.newArrayList();
List<ActivityInstanceWithPrioTableEntry> ait = activityTable.getCurrentList();
- for (Iterator iterator = ait.iterator(); iterator.hasNext();)
+ for (ActivityInstanceWithPrioTableEntry at : ait)
{
- ActivityInstanceWithPrioTableEntry at = (ActivityInstanceWithPrioTableEntry) iterator.next();
if (at.isCheckSelection())
{
ProcessInstance procInst = at.getActivityInstance().getProcessInstance();
@@ -1238,6 +1274,25 @@ public class ActivityTableHelper implements ICallbackHandler , IUserObjectBuilde
}
return processInstanceList;
}
+
+ /**
+ *
+ * @return
+ */
+ private List<ActivityInstance> getSelectedActivities()
+ {
+ List<ActivityInstance> processInstanceList = CollectionUtils.newArrayList();
+ List<ActivityInstanceWithPrioTableEntry> ait = activityTable.getCurrentList();
+ for (ActivityInstanceWithPrioTableEntry at:ait)
+ {
+ if (at.isCheckSelection())
+ {
+ ActivityInstance ai = at.getActivityInstance();
+ processInstanceList.add(ai);
+ }
+ }
+ return processInstanceList;
+ }
public ActivityInstanceWithPrioTableEntry createUserObject(Object resultRow)
{
diff --git a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/helper/processTable/ProcessTableHelper.java b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/helper/processTable/ProcessTableHelper.java
index 622511c..e61d91d 100644
--- a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/helper/processTable/ProcessTableHelper.java
+++ b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/helper/processTable/ProcessTableHelper.java
@@ -132,6 +132,10 @@ public class ProcessTableHelper implements IUserObjectBuilder<ProcessInstanceTab
private Set<String> visibleDescriptorsIds;
private boolean fetchAllDescriptors;
+
+ private boolean hasJoinProcessPermission;
+
+ private boolean hasSwitchProcessPermission;
public ProcessTableHelper()
{
@@ -159,6 +163,10 @@ public class ProcessTableHelper implements IUserObjectBuilder<ProcessInstanceTab
canCreateCase = AuthorizationUtils.canCreateCase();
columnModelListener = new ColumnModelListener();
+
+ hasJoinProcessPermission = AuthorizationUtils.hasAbortAndJoinProcessInstancePermission();
+
+ hasSwitchProcessPermission = AuthorizationUtils.hasAbortAndStartProcessInstancePermission();
}
/**
@@ -216,6 +224,23 @@ public class ProcessTableHelper implements IUserObjectBuilder<ProcessInstanceTab
}
}
+ /**
+ *
+ * @return
+ */
+ public boolean isEnableJoinProcess()
+ {
+ return hasJoinProcessPermission;
+ }
+
+ /**
+ *
+ * @return
+ */
+ public boolean isEnableSwitchProcess()
+ {
+ return hasSwitchProcessPermission;
+ }
/**
* <p>
diff --git a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/process/history/ProcessHistoryTable.java b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/process/history/ProcessHistoryTable.java
index 783fc8c..fb03132 100644
--- a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/process/history/ProcessHistoryTable.java
+++ b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/process/history/ProcessHistoryTable.java
@@ -11,7 +11,6 @@
package org.eclipse.stardust.ui.web.viewscommon.process.history;
import java.util.HashMap;
-import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@@ -22,8 +21,8 @@ import org.eclipse.stardust.common.log.LogManager;
import org.eclipse.stardust.common.log.Logger;
import org.eclipse.stardust.engine.api.runtime.ProcessInstance;
import org.eclipse.stardust.ui.web.common.util.FacesUtils;
-import org.eclipse.stardust.ui.web.viewscommon.common.Constants;
import org.eclipse.stardust.ui.web.viewscommon.common.UIViewComponentBean;
+import org.eclipse.stardust.ui.web.viewscommon.utils.AuthorizationUtils;
import org.eclipse.stardust.ui.web.viewscommon.utils.ExceptionHandler;
import org.eclipse.stardust.ui.web.viewscommon.utils.ProcessInstanceUtils;
@@ -41,6 +40,10 @@ public class ProcessHistoryTable extends UIViewComponentBean
private IProcessHistoryDataModel processHistoryDataModel;
private ProcessTableEntryUserObject selectedRow;
private boolean enableCase=false;
+
+ private boolean hasSpawnProcessPermission;
+ private boolean hasSwitchProcessPermission;
+ private boolean hasJoinProcessPermission;
/**
* Construction the default tree structure by combining tree nodes.
@@ -48,14 +51,21 @@ public class ProcessHistoryTable extends UIViewComponentBean
public ProcessHistoryTable()
{
processTreeTable = new ProcessTreeTable();
- activityTreeTable = new ActivityTreeTable();
+ activityTreeTable = new ActivityTreeTable();
}
+ private void initializePermissions()
+ {
+ hasSpawnProcessPermission = AuthorizationUtils.hasSpawnProcessPermission();
+ hasSwitchProcessPermission = AuthorizationUtils.hasAbortAndStartProcessInstancePermission();
+ hasJoinProcessPermission = AuthorizationUtils.hasAbortAndJoinProcessInstancePermission();
+ }
/**
* This needs to be called by Caller to Initialize the Component
*/
public void initialize()
{
+ initializePermissions();
trace.info("-----------> Process History Table Initialize");
List<ProcessInstance> processInstances;
if (getCurrentProcessInstance() != null)
@@ -251,6 +261,17 @@ public class ProcessHistoryTable extends UIViewComponentBean
this.enableCase = enableCase;
}
-
+ public boolean isEnableSpawnProcess()
+ {
+ return hasSpawnProcessPermission;
+ }
+ public boolean isEnableSwitchProcess()
+ {
+ return hasSwitchProcessPermission;
+ }
+ public boolean isEnableJoinProcess()
+ {
+ return hasJoinProcessPermission;
+ }
} \ No newline at end of file
diff --git a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/processContextExplorer/ProcessInstanceDetailsBean.java b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/processContextExplorer/ProcessInstanceDetailsBean.java
index bfd4116..43bb66b 100644
--- a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/processContextExplorer/ProcessInstanceDetailsBean.java
+++ b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/processContextExplorer/ProcessInstanceDetailsBean.java
@@ -120,6 +120,10 @@ public class ProcessInstanceDetailsBean extends PopupUIComponentBean
private boolean descriptorsPanelInitialized = false;
private boolean participantsPanelInitialized = false;
private boolean linkedProcessPanelInitialized = false;
+ private boolean hasSpawnProcessPermission;
+ private boolean hasSwitchProcessPermission;
+ private boolean hasJoinProcessPermission;
+
/**
*
@@ -215,15 +219,24 @@ public class ProcessInstanceDetailsBean extends PopupUIComponentBean
}
}
}
+
}
}
+ private void initializePermissions()
+ {
+ hasSpawnProcessPermission = AuthorizationUtils.hasSpawnProcessPermission();
+ hasSwitchProcessPermission = AuthorizationUtils.hasAbortAndStartProcessInstancePermission();
+ hasJoinProcessPermission = AuthorizationUtils.hasAbortAndJoinProcessInstancePermission();
+ }
+
/**
* Updates the view
*/
public void update()
{
initialize();
+ initializePermissions();
}
/**
@@ -885,5 +898,24 @@ public class ProcessInstanceDetailsBean extends PopupUIComponentBean
return queryService.getAllProcessInstances((ProcessInstanceQuery) query);
}
}
-
+
+ /**
+ * check authorization for SpawnProcess
+ *
+ * @return
+ */
+ public boolean isEnableSpawnProcess()
+ {
+ return hasSpawnProcessPermission;
+ }
+
+ public boolean isEnableSwitchProcess()
+ {
+ return hasSwitchProcessPermission;
+ }
+
+ public boolean isEnableJoinProcess()
+ {
+ return hasJoinProcessPermission;
+ }
} \ No newline at end of file
diff --git a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/utils/ActivityInstanceUtils.java b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/utils/ActivityInstanceUtils.java
index b27b272..9b829a0 100644
--- a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/utils/ActivityInstanceUtils.java
+++ b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/utils/ActivityInstanceUtils.java
@@ -669,6 +669,33 @@ public class ActivityInstanceUtils
* @param ai
* @return
*/
+ public static boolean isContainsCaseActivity(List<ActivityInstance> ais)
+ {
+ if (CollectionUtils.isNotEmpty(ais))
+ {
+ for (ActivityInstance ai : ais)
+ {
+ // if any of activity is case activity then return true
+ if (ai.getProcessInstance().isCaseProcessInstance())
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+ // if collection is empty then return false
+ else
+ {
+ return false;
+ }
+ }
+
+ /**
+ * to check Activities of type is Default Case Activity
+ *
+ * @param ai
+ * @return
+ */
public static boolean isDefaultCaseActivities(List<ActivityInstance> ais)
{
if (CollectionUtils.isNotEmpty(ais))
@@ -676,7 +703,7 @@ public class ActivityInstanceUtils
for (ActivityInstance ai : ais)
{
// if any of activity is non case activity then return false
- if (!isDefaultCaseActivity(ai))
+ if (!ai.getProcessInstance().isCaseProcessInstance())
{
return false;
}
diff --git a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/utils/AuthorizationUtils.java b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/utils/AuthorizationUtils.java
index 6d6b058..7397c0d 100644
--- a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/utils/AuthorizationUtils.java
+++ b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/utils/AuthorizationUtils.java
@@ -118,7 +118,52 @@ public class AuthorizationUtils
{
return false;
}
- }
+ }
+
+ /**
+ * @return
+ */
+ public static boolean hasSpawnProcessPermission()
+ {
+ try
+ {
+ return hasPermission(ExecutionPermission.Id.spawnSubProcessInstance);
+ }
+ catch (Exception e)
+ {
+ return false;
+ }
+ }
+
+ /**
+ * @return
+ */
+ public static boolean hasAbortAndJoinProcessInstancePermission()
+ {
+ try
+ {
+ return hasPermission(ExecutionPermission.Id.joinProcessInstance);
+ }
+ catch (Exception e)
+ {
+ return false;
+ }
+ }
+
+ /**
+ * @return
+ */
+ public static boolean hasAbortAndStartProcessInstancePermission()
+ {
+ try
+ {
+ return hasPermission(ExecutionPermission.Id.spawnPeerProcessInstance);
+ }
+ catch (Exception e)
+ {
+ return false;
+ }
+ }
/**
* @param permissionId
diff --git a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/views/casemanagement/CaseDetailsBean.java b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/views/casemanagement/CaseDetailsBean.java
index 8d2ff03..e43b5c2 100644
--- a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/views/casemanagement/CaseDetailsBean.java
+++ b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/views/casemanagement/CaseDetailsBean.java
@@ -132,8 +132,11 @@ public class CaseDetailsBean extends PopupUIComponentBean
private String description;
private boolean editDescription = false;
- private boolean canCreateCase;
- private boolean canManageCase;
+ private boolean hasCreateCasePermission;
+ private boolean hasManageCasePermission;
+ private boolean hasSpawnProcessPermission;
+ private boolean hasSwitchProcessPermission;
+ private boolean hasJoinProcessPermission;
public CaseDetailsBean()
{
@@ -181,6 +184,13 @@ public class CaseDetailsBean extends PopupUIComponentBean
}
+ private void initializePermissions()
+ {
+ hasSpawnProcessPermission = AuthorizationUtils.hasSpawnProcessPermission();
+ hasSwitchProcessPermission = AuthorizationUtils.hasAbortAndStartProcessInstancePermission();
+ hasJoinProcessPermission = AuthorizationUtils.hasAbortAndJoinProcessInstancePermission();
+ hasCreateCasePermission = AuthorizationUtils.canCreateCase();
+ }
/**
*
*/
@@ -294,7 +304,7 @@ public class CaseDetailsBean extends PopupUIComponentBean
{
processInstanceOID = Long.parseLong(pOID);
initialize();
- canManageCase = AuthorizationUtils.hasManageCasePermission(processInstance);
+ hasManageCasePermission = AuthorizationUtils.hasManageCasePermission(processInstance);
}
catch (Exception ex)
{
@@ -303,8 +313,7 @@ public class CaseDetailsBean extends PopupUIComponentBean
}
}
}
-
- canCreateCase = AuthorizationUtils.canCreateCase();
+ initializePermissions();
}
}
@@ -1005,7 +1014,7 @@ public class CaseDetailsBean extends PopupUIComponentBean
*/
public boolean isCanManageCase()
{
- return canManageCase;
+ return hasManageCasePermission;
}
/**
@@ -1014,7 +1023,7 @@ public class CaseDetailsBean extends PopupUIComponentBean
*/
public boolean isCanCreateCase()
{
- return canCreateCase;
+ return hasCreateCasePermission;
}
public boolean isLinkedProcessPanelExpanded()
@@ -1085,5 +1094,17 @@ public class CaseDetailsBean extends PopupUIComponentBean
return queryService.getAllProcessInstances((ProcessInstanceQuery) query);
}
}
-
+
+ public boolean isEnableSpawnProcess()
+ {
+ return hasSpawnProcessPermission;
+ }
+ public boolean isEnableSwitchProcess()
+ {
+ return hasSwitchProcessPermission;
+ }
+ public boolean isEnableJoinProcess()
+ {
+ return hasJoinProcessPermission;
+ }
}
diff --git a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/views/document/ImageViewerConfigurationBean.java b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/views/document/ImageViewerConfigurationBean.java
index 426d5f6..56eb3ab 100644
--- a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/views/document/ImageViewerConfigurationBean.java
+++ b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/views/document/ImageViewerConfigurationBean.java
@@ -17,7 +17,6 @@ import java.util.Map;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
-import javax.faces.event.ValueChangeEvent;
import javax.faces.model.SelectItem;
import org.eclipse.stardust.ui.web.common.configuration.UserPreferencesHelper;
@@ -33,6 +32,7 @@ import org.eclipse.stardust.ui.web.common.util.FacesUtils;
import org.eclipse.stardust.ui.web.common.util.MessagePropertiesBean;
import org.eclipse.stardust.ui.web.common.views.PortalConfiguration;
import org.eclipse.stardust.ui.web.common.views.PortalConfigurationListener;
+import org.eclipse.stardust.ui.web.viewscommon.beans.SessionContext;
import org.eclipse.stardust.ui.web.viewscommon.common.configuration.UserPreferencesEntries;
import org.eclipse.stardust.ui.web.viewscommon.messages.MessagesViewsCommonBean;
@@ -62,8 +62,6 @@ public class ImageViewerConfigurationBean implements PortalConfigurationListener
private boolean invertImage = false;
private boolean showAnnotations = true;
-
- private boolean pageDeletionEnabled = true;
private boolean highlightDataFieldsEnabled = true;
@@ -97,6 +95,10 @@ public class ImageViewerConfigurationBean implements PortalConfigurationListener
private ConfirmationDialog imageViewerConfirmationDialog;
+ private boolean enableExtractPage = true;
+
+ private boolean allowDeleteFromOriginal = true;
+
/**
*
*/
@@ -188,22 +190,6 @@ public class ImageViewerConfigurationBean implements PortalConfigurationListener
/**
* @return
*/
- public boolean isPageDeletionEnabled()
- {
- return pageDeletionEnabled;
- }
-
- /**
- * @param pageDeletionEnabled
- */
- public void setPageDeletionEnabled(boolean pageDeletionEnabled)
- {
- this.pageDeletionEnabled = pageDeletionEnabled;
- }
-
- /**
- * @return
- */
public boolean isHighlightDataFieldsEnabled()
{
return highlightDataFieldsEnabled;
@@ -257,8 +243,7 @@ public class ImageViewerConfigurationBean implements PortalConfigurationListener
UserPreferencesHelper userPrefsHelper = getUserPrefenceHelper();
userPrefsHelper.setString(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_SHOW_SIDE_PANEL, String.valueOf(showSidePanel));
userPrefsHelper.setString(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_INVERT_IMAGE, String.valueOf(invertImage));
- userPrefsHelper.setString(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_SHOW_ANNOTATIONS, String.valueOf(showAnnotations));
- userPrefsHelper.setString(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_ENABLE_PAGE_DELETE, String.valueOf(pageDeletionEnabled));
+ userPrefsHelper.setString(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_SHOW_ANNOTATIONS, String.valueOf(showAnnotations));
userPrefsHelper.setString(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_HIGHLIGHT_DATA_FIELDS_ENABLED, String.valueOf(highlightDataFieldsEnabled));
userPrefsHelper.setString(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_DATANAME_IN_TARGET_INCLUDED, String.valueOf(datanameInTargetIncluded));
userPrefsHelper.setString(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_MAGNIFY_FIELDS, String.valueOf(magnifyFields));
@@ -273,6 +258,9 @@ public class ImageViewerConfigurationBean implements PortalConfigurationListener
userPrefsHelper.setString(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_SELECTED_DATA_FIELD_HIGHLIGHTER_OPACITY, dataFieldHighlightOpacity);
userPrefsHelper.setString(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_SELECTED_DISPLAY_ZOOM_LIVEL, selectedDisplayZoomLevel);
userPrefsHelper.setString(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_SELECTED_STAMP, ImageViewerStampsBean.getCurrent().getSelectedStampId());
+ userPrefsHelper.setString(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_ENABLE_EXTRACT_PAGES, String.valueOf(enableExtractPage));
+ allowDeleteFromOriginal = enableExtractPage && allowDeleteFromOriginal;
+ userPrefsHelper.setString(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_ALLOW_DELETE_FROM_ORIGINAL, String.valueOf(allowDeleteFromOriginal));
MessageDialog.addInfoMessage(messageBean.getString("views.imageViewerConfig.save.successMessage"));
}
@@ -536,6 +524,28 @@ public class ImageViewerConfigurationBean implements PortalConfigurationListener
{
return imageViewerConfirmationDialog;
}
+
+
+
+ public boolean isEnableExtractPage()
+ {
+ return enableExtractPage;
+ }
+
+ public void setEnableExtractPage(boolean enableExtractPage)
+ {
+ this.enableExtractPage = enableExtractPage;
+ }
+
+ public boolean isAllowDeleteFromOriginal()
+ {
+ return allowDeleteFromOriginal;
+ }
+
+ public void setAllowDeleteFromOriginal(boolean allowDeleteFromOriginal)
+ {
+ this.allowDeleteFromOriginal = allowDeleteFromOriginal;
+ }
/**
*
@@ -618,8 +628,7 @@ public class ImageViewerConfigurationBean implements PortalConfigurationListener
UserPreferencesHelper userPrefsHelper = getUserPrefenceHelper();
showSidePanel = userPrefsHelper.getBoolean(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_SHOW_SIDE_PANEL, true);
invertImage = userPrefsHelper.getBoolean(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_INVERT_IMAGE, false);
- showAnnotations = userPrefsHelper.getBoolean(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_SHOW_ANNOTATIONS, true);
- pageDeletionEnabled=userPrefsHelper.getBoolean(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_ENABLE_PAGE_DELETE, true);
+ showAnnotations = userPrefsHelper.getBoolean(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_SHOW_ANNOTATIONS, true);
highlightDataFieldsEnabled = userPrefsHelper.getBoolean(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_HIGHLIGHT_DATA_FIELDS_ENABLED, true);
datanameInTargetIncluded = userPrefsHelper.getBoolean(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_DATANAME_IN_TARGET_INCLUDED, true);
magnifyFields = userPrefsHelper.getBoolean(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_MAGNIFY_FIELDS, false);
@@ -633,6 +642,11 @@ public class ImageViewerConfigurationBean implements PortalConfigurationListener
docPriorVersionAction = userPrefsHelper.getSingleString(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_SELECTED_DOC_PRIOR_VERSION_ACTION, "RETAIN_PRIOR_DOCUMENT");
dataFieldHighlightOpacity = userPrefsHelper.getSingleString(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_SELECTED_DATA_FIELD_HIGHLIGHTER_OPACITY, "0.5");
selectedDisplayZoomLevel = userPrefsHelper.getSingleString(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_SELECTED_DISPLAY_ZOOM_LIVEL, "FIT_TO_WINDOW");
+ if (SessionContext.findSessionContext().getUser().isAdministrator())
+ {
+ enableExtractPage = userPrefsHelper.getBoolean(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_ENABLE_EXTRACT_PAGES, true);
+ allowDeleteFromOriginal = userPrefsHelper.getBoolean(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_ALLOW_DELETE_FROM_ORIGINAL, true);
+ }
ImageViewerStampsBean.getCurrent().setSelectedStampId(userPrefsHelper.getSingleString(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_SELECTED_STAMP, ""));
}
@@ -645,7 +659,6 @@ public class ImageViewerConfigurationBean implements PortalConfigurationListener
userPrefsHelper.resetValue(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_SHOW_SIDE_PANEL);
userPrefsHelper.resetValue(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_INVERT_IMAGE);
userPrefsHelper.resetValue(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_SHOW_ANNOTATIONS);
- userPrefsHelper.resetValue(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_ENABLE_PAGE_DELETE);
userPrefsHelper.resetValue(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_HIGHLIGHT_DATA_FIELDS_ENABLED);
userPrefsHelper.resetValue(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_DATANAME_IN_TARGET_INCLUDED);
userPrefsHelper.resetValue(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_MAGNIFY_FIELDS);
@@ -659,7 +672,12 @@ public class ImageViewerConfigurationBean implements PortalConfigurationListener
userPrefsHelper.resetValue(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_SELECTED_DATA_FIELD_HIGHLIGHTER_OPACITY);
userPrefsHelper.resetValue(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_SELECTED_DISPLAY_ZOOM_LIVEL);
userPrefsHelper.resetValue(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_SELECTED_DOC_PRIOR_VERSION_ACTION);
- userPrefsHelper.resetValue(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_SELECTED_STAMP);
+ userPrefsHelper.resetValue(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_SELECTED_STAMP);
+ if (SessionContext.findSessionContext().getUser().isAdministrator())
+ {
+ userPrefsHelper.resetValue(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_ENABLE_EXTRACT_PAGES);
+ userPrefsHelper.resetValue(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_ALLOW_DELETE_FROM_ORIGINAL);
+ }
}
/**
@@ -670,5 +688,27 @@ public class ImageViewerConfigurationBean implements PortalConfigurationListener
return UserPreferencesHelper.getInstance(M_VIEWS_COMMON, PortalConfiguration.getInstance()
.getPrefScopesHelper().getSelectedPreferenceScope());
}
+
+ /**
+ * @return
+ */
+ public static boolean isExtractPagesEnable()
+ {
+ UserPreferencesHelper userPrefsHelper = getUserPrefenceHelper();
+ return userPrefsHelper.getBoolean(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_ENABLE_EXTRACT_PAGES, true);
+ }
+
+ /**
+ * @return
+ */
+ public static boolean isAllowDeleteFromOriginalEnable()
+ {
+ if (isExtractPagesEnable())
+ {
+ UserPreferencesHelper userPrefsHelper = getUserPrefenceHelper();
+ return userPrefsHelper.getBoolean(V_IMAGE_VIEWER_CONFIG, F_IMAGE_VIEWER_ALLOW_DELETE_FROM_ORIGINAL, true);
+ }
+ return false;
+ }
}
diff --git a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/views/document/tiff/BookmarkManager.java b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/views/document/tiff/BookmarkManager.java
index 67cb414..c57c1ac 100644
--- a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/views/document/tiff/BookmarkManager.java
+++ b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/views/document/tiff/BookmarkManager.java
@@ -45,6 +45,7 @@ import org.eclipse.stardust.ui.web.viewscommon.docmgmt.DocumentMgmtUtility;
import org.eclipse.stardust.ui.web.viewscommon.messages.MessagesViewsCommonBean;
import org.eclipse.stardust.ui.web.viewscommon.utils.ExceptionHandler;
import org.eclipse.stardust.ui.web.viewscommon.views.document.IDocumentContentInfo;
+import org.eclipse.stardust.ui.web.viewscommon.views.document.ImageViewerConfigurationBean;
import org.eclipse.stardust.ui.web.viewscommon.views.document.JCRDocument;
import org.eclipse.stardust.ui.web.viewscommon.views.document.TIFFDocumentWrapper;
import org.eclipse.stardust.ui.web.viewscommon.views.document.tiff.bookmark.BookmarkEntry;
@@ -730,6 +731,10 @@ public class BookmarkManager implements RowDeselectionListener
private boolean canExtract()
{
+ if (!ImageViewerConfigurationBean.isExtractPagesEnable())
+ {
+ return false;
+ }
if (null != tiffDocHolder.getProcessInstance() && tiffDocHolder.getProcessInstance().isCaseProcessInstance())
{
return false;
diff --git a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/views/document/tiff/extract/ExtractPageDialog.java b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/views/document/tiff/extract/ExtractPageDialog.java
index a92f503..6cc4f8c 100644
--- a/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/views/document/tiff/extract/ExtractPageDialog.java
+++ b/views-common/src/main/java/org/eclipse/stardust/ui/web/viewscommon/views/document/tiff/extract/ExtractPageDialog.java
@@ -77,6 +77,7 @@ import org.eclipse.stardust.ui.web.viewscommon.utils.ProcessDefinitionUtils;
import org.eclipse.stardust.ui.web.viewscommon.utils.ProcessInstanceUtils;
import org.eclipse.stardust.ui.web.viewscommon.utils.ServiceFactoryUtils;
import org.eclipse.stardust.ui.web.viewscommon.views.document.DocumentHandlerBean;
+import org.eclipse.stardust.ui.web.viewscommon.views.document.ImageViewerConfigurationBean;
import org.eclipse.stardust.ui.web.viewscommon.views.document.tiff.ImageUtils;
import org.eclipse.stardust.ui.web.viewscommon.views.document.tiff.extract.TiffImageInfo.BookmarkPageRange;
import org.springframework.beans.BeanUtils;
@@ -190,8 +191,7 @@ public class ExtractPageDialog extends PopupUIComponentBean implements Confirmat
spawnProcessHelper = new SpawnProcessHelper();
userPrefsHelper = getUserPrefenceHelper();
validationMessageBean = new ValidationMessageBean();
- deletePageEnable = userPrefsHelper.getBoolean(UserPreferencesEntries.V_IMAGE_VIEWER_CONFIG,
- UserPreferencesEntries.F_IMAGE_VIEWER_ENABLE_PAGE_DELETE, true);
+ deletePageEnable = ImageViewerConfigurationBean.isAllowDeleteFromOriginalEnable();
List<ProcessDefinition> startableProcesses = null;
diff --git a/views-common/src/main/resources/META-INF/xhtml/common/abortIframePopup.xhtml b/views-common/src/main/resources/META-INF/xhtml/common/abortIframePopup.xhtml
index 9140143..e4c6c7a 100644
--- a/views-common/src/main/resources/META-INF/xhtml/common/abortIframePopup.xhtml
+++ b/views-common/src/main/resources/META-INF/xhtml/common/abortIframePopup.xhtml
@@ -48,17 +48,17 @@
<ice:panelGrid columns="1">
<!-- Added to give same spacing -->
<ice:commandLink styleClass="action-link"
- actionListener="#{activityDetailsBean.openSwitchProcess}">
+ actionListener="#{activityDetailsBean.openSwitchProcess}" disabled="#{!activityDetailsBean.enableSwitchProcess}" >
<pc:automationTag value="auto-PP-ActivityPnl-ToolbarSwitchJoin-SwitchProc" />
- <ice:panelGrid columns="2" style="margin-left:2px;">
+ <ice:panelGrid columns="2" style="margin-left:2px;" styleClass="#{activityDetailsBean.enableSwitchProcess?'':'iceCmdBtn-dis'} ">
<ice:outputText style="white-space: nowrap;"
value="#{views_common_msgPropsBean['views.switchProcessDialog.Menu.abortandstart']}" />
</ice:panelGrid>
</ice:commandLink>
<ice:commandLink styleClass="action-link"
- actionListener="#{activityDetailsBean.openJoinProcess}">
+ actionListener="#{activityDetailsBean.openJoinProcess}" disabled="#{!activityDetailsBean.enableJoinProcess}">
<pc:automationTag value="auto-PP-ActivityPnl-ToolbarSwitchJoin-JoinProc" />
- <ice:panelGrid columns="1" style="margin-left:2px;">
+ <ice:panelGrid columns="1" style="margin-left:2px;" styleClass="#{activityDetailsBean.enableJoinProcess?'':'iceCmdBtn-dis'} ">
<ice:outputText style="white-space: nowrap;"
value="#{views_common_msgPropsBean['views.switchProcessDialog.Menu.abortandjoin']}" />
</ice:panelGrid>
diff --git a/views-common/src/main/resources/META-INF/xhtml/common/caseIframePopup.xhtml b/views-common/src/main/resources/META-INF/xhtml/common/caseIframePopup.xhtml
index a12c100..dcfee52 100644
--- a/views-common/src/main/resources/META-INF/xhtml/common/caseIframePopup.xhtml
+++ b/views-common/src/main/resources/META-INF/xhtml/common/caseIframePopup.xhtml
@@ -57,8 +57,8 @@
</ice:panelGrid>
</ice:commandLink>
<!-- Create Case without permission -->
- <ice:panelGrid columns="1" style="margin-left:2px;"
- rendered="#{!activityDetailsBean.canCreateCase}">
+ <ice:panelGrid columns="1" style="margin-left:2px;"
+ rendered="#{!activityDetailsBean.enableCreateCase}">
<ice:outputText
style="white-space: nowrap;color: #B9B5AE !important;"
value="#{views_common_msgPropsBean['views.createCase.menubar.createCase']}" />
@@ -66,7 +66,7 @@
<!-- Create Case with permission -->
<ice:commandLink styleClass="action-link"
actionListener="#{activityDetailsBean.openCreateCase}"
- rendered="#{activityDetailsBean.canCreateCase}">
+ rendered="#{activityDetailsBean.enableCreateCase}">
<pc:automationTag
value="auto-PP-ActivityPnl-ToolbarCase-CreateCase" />
<ice:panelGrid columns="1" style="margin-left:2px;">
diff --git a/views-common/src/main/resources/META-INF/xhtml/common/switchProcessMenuBar.xhtml b/views-common/src/main/resources/META-INF/xhtml/common/switchProcessMenuBar.xhtml
index 84f3958..52809f9 100644
--- a/views-common/src/main/resources/META-INF/xhtml/common/switchProcessMenuBar.xhtml
+++ b/views-common/src/main/resources/META-INF/xhtml/common/switchProcessMenuBar.xhtml
@@ -23,14 +23,14 @@
icon="/plugins/common/images/panelHeader-triggerCollapse.png"
style="border:none;" value="" title="#{views_common_msgPropsBean['views.abortProcess.menu.tooltip']}">
- <ice:menuItem styleClass="switchMnuItm"
+ <ice:menuItem styleClass="switchMnuItm" disabled="#{!bean.enableSwitchProcess}" style="font-weight: normal"
value="#{views_common_msgPropsBean['views.switchProcessDialog.Menu.abortandstart']}"
actionListener="#{bean.openSwitchProcess}" icon="">
<pc:automationTag value="auto-COM-SwitchProcMenuBar-SelAbortStart" standAlone="false"/>
<f:attribute name="processInstance" value="#{processInstance}" />
<f:attribute name="activityInstance" value="#{activityInstance}" />
</ice:menuItem>
- <ice:menuItem styleClass="switchMnuItm" disabled="#{multiSelect}"
+ <ice:menuItem styleClass="switchMnuItm" disabled="#{multiSelect or !bean.enableJoinProcess}" style="font-weight: normal"
value=" #{views_common_msgPropsBean['views.switchProcessDialog.Menu.abortandjoin']}"
actionListener="#{bean.openJoinProcess}" icon="" >
<pc:automationTag value="auto-COM-SwitchProcMenuBar-SelAbortJoin" standAlone="false"/>
diff --git a/views-common/src/main/resources/META-INF/xhtml/common/switchProcessPanelTooltip.xhtml b/views-common/src/main/resources/META-INF/xhtml/common/switchProcessPanelTooltip.xhtml
index 2376428..e9f4226 100644
--- a/views-common/src/main/resources/META-INF/xhtml/common/switchProcessPanelTooltip.xhtml
+++ b/views-common/src/main/resources/META-INF/xhtml/common/switchProcessPanelTooltip.xhtml
@@ -13,8 +13,8 @@
<ice:panelGroup>
<ice:panelGrid columns="1">
<ice:commandLink styleClass="action-link" immediate="true"
- actionListener="#{bean.openSwitchProcess}">
- <ice:panelGrid columns="1">
+ actionListener="#{bean.openSwitchProcess}" disabled="#{!bean.enableSwitchProcess}">
+ <ice:panelGrid columns="1" styleClass="#{activityDetailsBean.enableSwitchProcess? '': 'iceCmdBtn-dis' }" >
<ice:outputText style="white-space: nowrap;"
value="#{views_common_msgPropsBean['views.switchProcessDialog.Menu.abortandstart']}" />
</ice:panelGrid>
diff --git a/views-common/src/main/resources/META-INF/xhtml/extension/toolbar/processInstanceDetailsViewToolbar.xhtml b/views-common/src/main/resources/META-INF/xhtml/extension/toolbar/processInstanceDetailsViewToolbar.xhtml
index c0e1b9d..2dfd68f 100644
--- a/views-common/src/main/resources/META-INF/xhtml/extension/toolbar/processInstanceDetailsViewToolbar.xhtml
+++ b/views-common/src/main/resources/META-INF/xhtml/extension/toolbar/processInstanceDetailsViewToolbar.xhtml
@@ -45,11 +45,11 @@
</ice:panelGroup>
<ice:commandLink action="#{spawnProcessDialogBean.openPopup}"
- immediate="true" disabled="#{!processInstanceDetailsBean.abortProcess}">
+ immediate="true" disabled="#{!processInstanceDetailsBean.abortProcess or !processInstanceDetailsBean.enableSpawnProcess}">
<pc:automationTag value="auto-COM-PCESpawnProcess" standAlone="false" />
<ice:graphicImage
value="/plugins/views-common/images/icons/cog_add.png"
- styleClass="#{processInstanceDetailsBean.abortProcess? '' : 'iceCmdBtn-dis'}"
+ styleClass="#{processInstanceDetailsBean.abortProcess and processInstanceDetailsBean.enableSpawnProcess? '' : 'iceCmdBtn-dis'}"
title="#{views_common_msgPropsBean['views.spawnProcessDialog.title']}" />
<f:param name="processInstanceOID"
value="#{processInstanceDetailsBean.processInstanceOID}" />
diff --git a/views-common/src/main/resources/META-INF/xhtml/processhistory/processInstanceHistoryTableColumns.xhtml b/views-common/src/main/resources/META-INF/xhtml/processhistory/processInstanceHistoryTableColumns.xhtml
index df89f52..b072a10 100644
--- a/views-common/src/main/resources/META-INF/xhtml/processhistory/processInstanceHistoryTableColumns.xhtml
+++ b/views-common/src/main/resources/META-INF/xhtml/processhistory/processInstanceHistoryTableColumns.xhtml
@@ -124,12 +124,12 @@
<ice:commandLink
actionListener="#{processHistoryTable.openSpawnProcess}"
rendered="#{!processHistoryTable.enableCase}"
- disabled="#{not row.enableTerminate}">
+ disabled="#{!processHistoryTable.enableSpawnProcess or not row.enableTerminate}">
<pc:automationTag value="auto-COM-PCEHistoryTable-ActionsSpawn" standAlone="false"/>
<ice:graphicImage
value="/plugins/views-common/images/icons/cog_add.png"
style="border: none;"
- styleClass="#{row.enableTerminate? '' : 'iceCmdBtn-dis'}"
+ styleClass="#{row.enableTerminate and processHistoryTable.enableSpawnProcess? '' : 'iceCmdBtn-dis'}"
title="#{views_common_msgPropsBean['views.spawnProcessDialog.title']}" />
<f:attribute name="processInstance" value="#{row.processInstance}" />
</ice:commandLink>
diff --git a/views-common/src/main/resources/META-INF/xhtml/views/document/imageViewerConfiguration.xhtml b/views-common/src/main/resources/META-INF/xhtml/views/document/imageViewerConfiguration.xhtml
index 8b97af4..287c845 100644
--- a/views-common/src/main/resources/META-INF/xhtml/views/document/imageViewerConfiguration.xhtml
+++ b/views-common/src/main/resources/META-INF/xhtml/views/document/imageViewerConfiguration.xhtml
@@ -204,7 +204,35 @@
title="#{views_common_msgPropsBean['views.imageViewerConfig.dataFieldsOptions.selectStamp']}" rendered="#{imageViewerStampsBean.stampSelected}" />
</ice:commandLink>
</ice:panelGroup>
- </ice:panelGrid>
+ </ice:panelGrid>
+
+ <!-- Extract Page configuration -->
+ <ice:panelGroup styleClass="heading" style="width: 100%">
+ <ice:outputText
+ value="#{views_common_msgPropsBean['views.imageViewerConfig.extractPageOptions.title']}" />
+ </ice:panelGroup>
+ <ice:panelGroup style="clearing" />
+ <ice:panelGroup>
+ <ice:selectBooleanCheckbox partialSubmit="true" disabled="#{!ippPortalApp.loggedInUser.administrator}"
+ value="#{imageViewerConfigurationBean.enableExtractPage}">
+ </ice:selectBooleanCheckbox>
+ <ice:outputLabel
+ value="#{views_common_msgPropsBean['views.imageViewerConfig.extractPageOptions.enableExtractPages']}"
+ styleClass="label-form" />
+ <ice:panelGrid columns="1" style="margin-left:25px">
+ <ice:panelGroup>
+ <ice:selectBooleanCheckbox partialSubmit="true" disabled="#{!ippPortalApp.loggedInUser.administrator or !imageViewerConfigurationBean.enableExtractPage}"
+ value="#{imageViewerConfigurationBean.allowDeleteFromOriginal}">
+ </ice:selectBooleanCheckbox>
+ <ice:outputLabel
+ value="#{views_common_msgPropsBean['views.imageViewerConfig.extractPageOptions.allowDeleteFromOriginal']}"
+ styleClass="label-form" />
+ </ice:panelGroup>
+ </ice:panelGrid>
+ </ice:panelGroup>
+
+ <ice:panelGroup style="clearing" />
+
<!-- Temporary Commented following code as part of JIRA CRNT-21779
<ice:panelGroup styleClass="heading" style="width: 100%">
<ice:outputText value="#{views_common_msgPropsBean['views.imageViewerConfig.extractPages.title']}" />
diff --git a/views-common/src/main/resources/views-common-messages.properties b/views-common/src/main/resources/views-common-messages.properties
index 4442bf3..35d86e8 100644
--- a/views-common/src/main/resources/views-common-messages.properties
+++ b/views-common/src/main/resources/views-common-messages.properties
@@ -1172,6 +1172,11 @@ views.imageViewerConfig.extractPages.enablePageDeletion=Enable Page Deletion
views.imageViewerConfig.extractPages.DocPriorVersionAction.Label=What should we do with prior versions of the source document when extracting and deleting pages?
views.imageViewerConfig.extractPages.DocPriorVerionAction.Retain=Retain Prior Versions
views.imageViewerConfig.extractPages.DocPriorVerionAction.Delete=Delete Prior Versions
+views.imageViewerConfig.extractPageOptions.title=Enable Extract
+views.imageViewerConfig.extractPageOptions.enableExtractPages=Enable Extract Pages
+views.imageViewerConfig.extractPageOptions.allowDeleteFromOriginal=Allow Extracted Pages to be Deleted from the Original
+
+
#Create User Dialog
views.createUser.password.mismatch=Password and confirmed password are different
views.createUser.password.empty=Password or confirmed password is empty
@@ -1260,9 +1265,9 @@ views.authorizationManagerView.permission.model.saveOwnUserScopePreferences=Save
views.authorizationManagerView.permission.model.readDepartments=Read Departments
views.authorizationManagerView.permission.model.modifyDepartments=Modify Departments
views.authorizationManagerView.permission.model.createCase=Create Case
-views.authorizationManagerView.permission.model.joinProcessInstance=Abort and Join ProcessInstance
-views.authorizationManagerView.permission.model.spawnPeerProcessInstance=Abort and Start ProcessInstance
-views.authorizationManagerView.permission.model.spawnSubProcessInstance=Spawn ProcessInstance
+views.authorizationManagerView.permission.model.joinProcessInstance=Abort and Join
+views.authorizationManagerView.permission.model.spawnPeerProcessInstance=Abort and Start
+views.authorizationManagerView.permission.model.spawnSubProcessInstance=Spawn Process
views.authorizationManagerView.permission.contextMenu.addParticipant=Add Participant
views.authorizationManagerView.permission.contextMenu.addAllParticipants=Add All Participants
diff --git a/views-common/src/main/resources/views-common-messages_de.properties b/views-common/src/main/resources/views-common-messages_de.properties
index 1ad6a60..efa4111 100644
--- a/views-common/src/main/resources/views-common-messages_de.properties
+++ b/views-common/src/main/resources/views-common-messages_de.properties
@@ -1169,6 +1169,9 @@ views.imageViewerConfig.extractPages.enablePageDeletion=+Enable Page Deletion
views.imageViewerConfig.extractPages.DocPriorVersionAction.Label=+What should we do with prior versions of the source document when extracting and deleting pages?
views.imageViewerConfig.extractPages.DocPriorVerionAction.Retain=+Retain Prior Versions
views.imageViewerConfig.extractPages.DocPriorVerionAction.Delete=+Delete Prior Versions
+views.imageViewerConfig.extractPageOptions.title=+Enable Extract
+views.imageViewerConfig.extractPageOptions.enableExtractPages=+Enable Extract Pages
+views.imageViewerConfig.extractPageOptions.allowDeleteFromOriginal=+Allow Extracted Pages to be Deleted from the Original
#Create User Dialog
views.createUser.password.mismatch = Passwort und best\u00E4tigtes Passwort sind unterschiedlich.
@@ -1258,9 +1261,9 @@ views.authorizationManagerView.permission.model.saveOwnUserScopePreferences = Ei
views.authorizationManagerView.permission.model.readDepartments = Departments Lesen
views.authorizationManagerView.permission.model.modifyDepartments = Departments Modifizieren
views.authorizationManagerView.permission.model.createCase=+Create Case
-views.authorizationManagerView.permission.model.joinProcessInstance=+Abort and Join ProcessInstance
-views.authorizationManagerView.permission.model.spawnPeerProcessInstance=+Abort and Start ProcessInstance
-views.authorizationManagerView.permission.model.spawnSubProcessInstance=+Spawn ProcessInstance
+views.authorizationManagerView.permission.model.joinProcessInstance=+Abort and Join
+views.authorizationManagerView.permission.model.spawnPeerProcessInstance=+Abort and Start
+views.authorizationManagerView.permission.model.spawnSubProcessInstance=+Spawn Process
views.authorizationManagerView.permission.contextMenu.addParticipant = Teilnehmer Hinzuf\u00FCgen
views.authorizationManagerView.permission.contextMenu.addAllParticipants = Alle Teilnehmer Hinzuf\u00FCgen
diff --git a/views-common/src/main/resources/views-common-messages_ja.properties b/views-common/src/main/resources/views-common-messages_ja.properties
index 1a002db..bc97207 100644
--- a/views-common/src/main/resources/views-common-messages_ja.properties
+++ b/views-common/src/main/resources/views-common-messages_ja.properties
@@ -1170,6 +1170,10 @@ views.imageViewerConfig.extractPages.enablePageDeletion = +Enable Page Deletion
views.imageViewerConfig.extractPages.DocPriorVersionAction.Label = +What should we do with prior versions of the source document when extracting and deleting pages?
views.imageViewerConfig.extractPages.DocPriorVerionAction.Retain = +Retain Prior Versions
views.imageViewerConfig.extractPages.DocPriorVerionAction.Delete = +Delete Prior Versions
+views.imageViewerConfig.extractPageOptions.title=+Enable Extract
+views.imageViewerConfig.extractPageOptions.enableExtractPages=+Enable Extract Pages
+views.imageViewerConfig.extractPageOptions.allowDeleteFromOriginal=+Allow Extracted Pages to be Deleted from the Original
+
#Create User Dialog
views.createUser.password.mismatch = \u5165\u529B\u3057\u305F\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u4E00\u81F4\u3057\u307E\u305B\u3093
views.createUser.password.empty = \u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044
@@ -1258,9 +1262,9 @@ views.authorizationManagerView.permission.model.saveOwnUserScopePreferences = \u
views.authorizationManagerView.permission.model.readDepartments = \u90E8\u7F72\u30C7\u30FC\u30BF\u306E\u53D6\u5F97
views.authorizationManagerView.permission.model.modifyDepartments = \u90E8\u7F72\u306E\u4FEE\u6B63
views.authorizationManagerView.permission.model.createCase = +Create Case
-views.authorizationManagerView.permission.model.joinProcessInstance=+Abort and Join ProcessInstance
-views.authorizationManagerView.permission.model.spawnPeerProcessInstance=+Abort and Start ProcessInstance
-views.authorizationManagerView.permission.model.spawnSubProcessInstance=+Spawn ProcessInstance
+views.authorizationManagerView.permission.model.joinProcessInstance=+Abort and Join
+views.authorizationManagerView.permission.model.spawnPeerProcessInstance=+Abort and Start
+views.authorizationManagerView.permission.model.spawnSubProcessInstance=+Spawn Process
views.authorizationManagerView.permission.contextMenu.addParticipant = \u30D1\u30FC\u30C6\u30A3\u30B7\u30D1\u30F3\u30C8\u3092\u8FFD\u52A0
views.authorizationManagerView.permission.contextMenu.addAllParticipants = \u3059\u3079\u3066\u306E\u30D1\u30FC\u30C6\u30A3\u30B7\u30D1\u30F3\u30C8\u3092\u8FFD\u52A0
diff --git a/views-common/src/main/resources/views-common-messages_zh_CN.properties b/views-common/src/main/resources/views-common-messages_zh_CN.properties
index fe45a7b..e4f43ad 100644
--- a/views-common/src/main/resources/views-common-messages_zh_CN.properties
+++ b/views-common/src/main/resources/views-common-messages_zh_CN.properties
@@ -1171,6 +1171,9 @@ views.imageViewerConfig.extractPages.enablePageDeletion = \u542F\u7528\u9875\u97
views.imageViewerConfig.extractPages.DocPriorVersionAction.Label = \u6709\u5173\u4E4B\u524D\u7248\u672C\u7684\u6E90\u6587\u4EF6\uFF0C\u5F53\u89E3\u538B\u548C\u5220\u9664\u9875\u9762\u65F6\u6211\u4EEC\u5E94\u8BE5\u505A\u4EC0\u4E48\uFF1F
views.imageViewerConfig.extractPages.DocPriorVerionAction.Retain = \u4FDD\u7559\u4EE5\u524D\u7684\u7248\u672C
views.imageViewerConfig.extractPages.DocPriorVerionAction.Delete = \u5220\u9664\u4EE5\u524D\u7684\u7248\u672C
+views.imageViewerConfig.extractPageOptions.title=+Enable Extract
+views.imageViewerConfig.extractPageOptions.enableExtractPages=+Enable Extract Pages
+views.imageViewerConfig.extractPageOptions.allowDeleteFromOriginal=+Allow Extracted Pages to be Deleted from the Original
#Create User Dialog
views.createUser.password.mismatch = \u65B0\u5BC6\u7801\u4E0E\u786E\u8BA4\u5BC6\u7801\u4E0D\u5339\u914D
@@ -1260,9 +1263,9 @@ views.authorizationManagerView.permission.model.saveOwnUserScopePreferences = \u
views.authorizationManagerView.permission.model.readDepartments = \u8BFB\u53D6\u90E8\u95E8
views.authorizationManagerView.permission.model.modifyDepartments = \u4FEE\u6539\u90E8\u95E8
views.authorizationManagerView.permission.model.createCase = \u521B\u5EFA\u6848\u4F8B
-views.authorizationManagerView.permission.model.joinProcessInstance=+Abort and Join ProcessInstance
-views.authorizationManagerView.permission.model.spawnPeerProcessInstance=+Abort and Start ProcessInstance
-views.authorizationManagerView.permission.model.spawnSubProcessInstance=+Spawn ProcessInstance
+views.authorizationManagerView.permission.model.joinProcessInstance=+Abort and Join
+views.authorizationManagerView.permission.model.spawnPeerProcessInstance=+Abort and Start
+views.authorizationManagerView.permission.model.spawnSubProcessInstance=+Spawn Process
views.authorizationManagerView.permission.contextMenu.addParticipant = \u6DFB\u52A0\u53C2\u4E0E\u8005
views.authorizationManagerView.permission.contextMenu.addAllParticipants = \u6DFB\u52A0\u5168\u90E8\u53C2\u4E0E\u8005