Merged V3.1 to HEAD

13173: Merged V2.1-A to V3.1
      10964: Fix for ADB-81: String 'Template' in Japanese is not good format
      10971: Fix for ADB-85: Configure dashboard wizard: long items description get truncated
      10972: Fix for ADB-95: All templates should be parameterized using a  such that they pickup the server name and port number of the current installation
      10973: Fix for ADB-117: Configure Dashboard Wizard. Layout word (Step 3) not localized for japanese and french
   13174: Merged V2.1-A to V3.1
      10975: Fix for ADB-118: Content attributes not localized [client templates]
   13182: Merged V2.1-A to V3.1
      11058: Fix for ADB-121: Next & Finish button remain disabled in 'Create Content in your home space' wizard even after entering name when locale is set to French
      11059: Fix for ADB-128: Date format is different for 'Manage Content Rules' in Japanese Locale
   13190: Merged V2.1-A to V3.1
      11070: Fix for ADB-120 ACT 4773
   13192: Merged V2.1-A to V3.1
      11195: Fix for ADB-130: The 'Finish' button doesn't work after editing the content
   13193: Merged V2.1-A to V3.1
      8395: Remove user and group admin actions from Admin console [added config switch - off by default]
      8584: Removed option for user to change password [added config switch - off by default]
      10203: Fix for ADB-96: Remove modify button on the User Options Page in the Web UI [added config switch - off by default]
      10374: Further fix for ADB-96: Remove modify button on the User Options Page in the Web UI [added config switch - off by default]
   13194: Merged V2.1-A to V3.1
      12095: Fix for ADB-131
   13195: Merged V2.1-A to V3.1
      12097: Fix for ADB-133, ADB-134
      12102: Fix for ADB-139
   13196: Merged V2.1-A to V3.1
      12350: Fix for ADB-142
   13197: Merged V2.1-A to V3.1
      12877: Fix for ADB-147: Prevent users from selecting the same action twice in the action wizards
      12878: Merged record-only for V2.1-A to HEAD 
         12877: Fix for ADB-147: Prevent users from selecting the same action twice in the action wizards
   13198: Merged V2.1-A to V3.1
      12977: Fix for ADB-158: Intermittent error while accessing the login page
      13142: Another fix for ADB-158: Intermittent error while accessing the login page
   13199: Merged V2.1-A to V3.1
      11589: Fix for ADB-95: All templates should be parameterized

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13570 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2009-03-11 14:45:20 +00:00
parent a07c125fd3
commit 1aa1ef1f13
64 changed files with 493 additions and 192 deletions

View File

@@ -27,7 +27,11 @@ package org.alfresco.web.bean.rules.handlers;
import java.io.Serializable;
import java.util.Map;
import javax.faces.context.FacesContext;
import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.web.bean.actions.IHandler;
import org.alfresco.web.bean.repository.Repository;
/**
* Base class for all condition handler implementations.
@@ -55,4 +59,24 @@ public abstract class BaseConditionHandler implements IHandler
{
return CONDITION_PAGES_LOCATION + conditionName + ".jsp";
}
/**
* Returns the NamespaceService for further retrieve a prefix strings.
*
* @see org.alfresco.web.bean.rules.handlers.property.TextPropertyValueConditionHandler#prepareForEdit(Map, Map)
*
* @return The NamespaseService for further usage
*/
protected NamespaceService getNamespaceService()
{
return Repository.getServiceRegistry(FacesContext.getCurrentInstance()).getNamespaceService();
}
/*
* @see org.alfresco.web.bean.actions.IHandler#isAllowMultiple()
*/
public boolean isAllowMultiple()
{
return true;
}
}

View File

@@ -32,10 +32,9 @@ import javax.faces.context.FacesContext;
import org.alfresco.repo.action.evaluator.ComparePropertyValueEvaluator;
import org.alfresco.repo.action.evaluator.compare.ComparePropertyValueOperation;
import org.alfresco.service.ServiceRegistry;
import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName;
import org.alfresco.web.app.Application;
import org.alfresco.web.bean.repository.Repository;
import org.alfresco.web.bean.rules.handlers.PropertyValueHandler;
import org.alfresco.web.bean.wizard.IWizardBean;
import org.apache.commons.logging.Log;
@@ -53,6 +52,7 @@ public class TextPropertyValueConditionHandler extends PropertyValueHandler
public static final String UI_PARAM_OPERATION = "operation";
public static final String UI_PARAM_QNAME = "qname";
private static final String DEFAULT_NAMESPACE = NamespaceService.CONTENT_MODEL_PREFIX;
public String getJSPPath()
{
@@ -72,15 +72,17 @@ public class TextPropertyValueConditionHandler extends PropertyValueHandler
super.prepareForSave(conditionParams, repoProps);
String propertyString = (String) conditionParams.get(UI_PARAM_QNAME);
FacesContext fc = FacesContext.getCurrentInstance();
ServiceRegistry serviceRegistry = Repository.getServiceRegistry(fc);
QName qname = null;
if ((propertyString.indexOf(':')) == -1) // TODO: there might be a better way to resolve namespaces
qname = QName.createQName(propertyString);
else
qname = QName.createQName(propertyString, serviceRegistry.getNamespaceService());
// TODO: there might be a better way to resolve namespaces instead of propertyString.indexOf(':')?
// The part of ADB-131 fix. We use default namespase prefix of content model 'cm'.
// It is necessary to enable an ability to set the property as its localName (e.g. description).
// It keeps also an ability to enter a user content model text properties such as 'my:description'
propertyString = propertyString.indexOf(':') == -1 ?
DEFAULT_NAMESPACE + QName.NAMESPACE_PREFIX + propertyString :
propertyString;
qname = QName.createQName(propertyString, getNamespaceService());
if (logger.isDebugEnabled())
logger.warn("Storing Property QName " + qname);
@@ -96,8 +98,10 @@ public class TextPropertyValueConditionHandler extends PropertyValueHandler
logger.debug("Retrieving Text Condition Parameters for editing");
super.prepareForEdit(conditionProps, repoProps);
conditionProps.put(UI_PARAM_QNAME, ((QName) repoProps.get(ComparePropertyValueEvaluator.PARAM_PROPERTY))
.toPrefixString());
// The part of ADB-131 fix. The NamespaceService is used to get a valid prefix string.
// When the user attempt to edit a rule a 'Summary' string contain an invalid property name
// and then the property will be saved with default prefix 'cm'. But the property may be as 'my:description'
conditionProps.put(UI_PARAM_QNAME, ((QName) repoProps.get(ComparePropertyValueEvaluator.PARAM_PROPERTY)).toPrefixString(getNamespaceService()));
conditionProps.put(UI_PARAM_OPERATION, repoProps.get(ComparePropertyValueEvaluator.PARAM_OPERATION).toString());
}