svn commit: r680054 - in /ofbiz/trunk/framework/common: config/PrefErrorUiLabels.xml servicedef/services.xml src/org/ofbiz/common/preferences/PreferenceServices.java src/org/ofbiz/common/preferences/PreferenceWorker.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r680054 - in /ofbiz/trunk/framework/common: config/PrefErrorUiLabels.xml servicedef/services.xml src/org/ofbiz/common/preferences/PreferenceServices.java src/org/ofbiz/common/preferences/PreferenceWorker.java

adrianc
Author: adrianc
Date: Sat Jul 26 16:21:03 2008
New Revision: 680054

URL: http://svn.apache.org/viewvc?rev=680054&view=rev
Log:
Slight change to the user preference services. Using the permission service on the getPreferences services threw an exception: user must be logged in. We might want to get default preferences before the user is logged in, so I moved the permission checking inside the getPreferences services.

Internationalization note: this commit contains a new UI label.

Modified:
    ofbiz/trunk/framework/common/config/PrefErrorUiLabels.xml
    ofbiz/trunk/framework/common/servicedef/services.xml
    ofbiz/trunk/framework/common/src/org/ofbiz/common/preferences/PreferenceServices.java
    ofbiz/trunk/framework/common/src/org/ofbiz/common/preferences/PreferenceWorker.java

Modified: ofbiz/trunk/framework/common/config/PrefErrorUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/config/PrefErrorUiLabels.xml?rev=680054&r1=680053&r2=680054&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/config/PrefErrorUiLabels.xml (original)
+++ ofbiz/trunk/framework/common/config/PrefErrorUiLabels.xml Sat Jul 26 16:21:03 2008
@@ -36,6 +36,9 @@
         <value xml:lang="fr">Impossible d'obtenir les préférences de l'utilisateur : argument(s) non valides</value>
         <value xml:lang="th">ไม่สามารถเรียกค่าสิทธิพิเศษของผู้ใช้:ข้อพิสูจน์ใช้ไม่ได้</value>
     </property>
+    <property key="getPreference.permissionError">
+        <value xml:lang="en">Permissions error while getting user preferences</value>
+    </property>
     <property key="getPreference.readFailure">
         <value xml:lang="de">Benutzereinstellungen konnte nicht geholt werden, Lesefehler: {0}</value>
         <value xml:lang="en">Could not get user preferences (read failure): {0}</value>

Modified: ofbiz/trunk/framework/common/servicedef/services.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/servicedef/services.xml?rev=680054&r1=680053&r2=680054&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/servicedef/services.xml (original)
+++ ofbiz/trunk/framework/common/servicedef/services.xml Sat Jul 26 16:21:03 2008
@@ -432,7 +432,6 @@
     <service name="getUserPreference" engine="java"
             location="org.ofbiz.common.preferences.PreferenceServices" invoke="getUserPreference">
         <description>Gets a single user preference.</description>
-        <permission-service service-name="preferenceGetSetPermission" main-action="VIEW"/>
         <attribute name="userPrefTypeId" type="String" mode="IN" optional="false"/>
         <attribute name="userLoginId" type="String" mode="IN" optional="true"/>
         <attribute name="userPrefGroupId" type="String" mode="IN" optional="true"/>
@@ -443,7 +442,6 @@
     <service name="getUserPreferenceGroup" engine="java"
             location="org.ofbiz.common.preferences.PreferenceServices" invoke="getUserPreferenceGroup">
         <description>Gets a group of user preferences.</description>
-        <permission-service service-name="preferenceGetSetPermission" main-action="VIEW"/>
         <attribute name="userPrefGroupId" type="String" mode="IN" optional="false"/>
         <attribute name="userLoginId" type="String" mode="IN" optional="true"/>
         <attribute name="userPrefMap" type="Map" mode="OUT" optional="true"/>

Modified: ofbiz/trunk/framework/common/src/org/ofbiz/common/preferences/PreferenceServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/src/org/ofbiz/common/preferences/PreferenceServices.java?rev=680054&r1=680053&r2=680054&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/src/org/ofbiz/common/preferences/PreferenceServices.java (original)
+++ ofbiz/trunk/framework/common/src/org/ofbiz/common/preferences/PreferenceServices.java Sat Jul 26 16:21:03 2008
@@ -62,8 +62,11 @@
      * @return Map with the result of the service, the output parameters.
      */
     public static Map<String, Object> getUserPreference(DispatchContext ctx, Map<String, ?> context) {
-        GenericDelegator delegator = ctx.getDelegator();
         Locale locale = (Locale) context.get("locale");
+        if (!PreferenceWorker.isValidGetId(ctx, context)) {
+            return ServiceUtil.returnError(UtilProperties.getMessage(resource, "getPreference.permissionError", locale));
+        }
+        GenericDelegator delegator = ctx.getDelegator();
 
         String userPrefTypeId = (String) context.get("userPrefTypeId");
         if (UtilValidate.isEmpty(userPrefTypeId)) {
@@ -112,9 +115,12 @@
      * @return Map with the result of the service, the output parameters.
      */
     public static Map<String, Object> getUserPreferenceGroup(DispatchContext ctx, Map<String, ?> context) {
+        Locale locale = (Locale) context.get("locale");
+        if (!PreferenceWorker.isValidGetId(ctx, context)) {
+            return ServiceUtil.returnError(UtilProperties.getMessage(resource, "getPreference.permissionError", locale));
+        }
         GenericDelegator delegator = ctx.getDelegator();
         LocalDispatcher dispatcher = ctx.getDispatcher();
-        Locale locale = (Locale) context.get("locale");
         GenericValue userLogin = (GenericValue) context.get("userLogin");
 
         String userPrefGroupId = (String) context.get("userPrefGroupId");

Modified: ofbiz/trunk/framework/common/src/org/ofbiz/common/preferences/PreferenceWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/src/org/ofbiz/common/preferences/PreferenceWorker.java?rev=680054&r1=680053&r2=680054&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/src/org/ofbiz/common/preferences/PreferenceWorker.java (original)
+++ ofbiz/trunk/framework/common/src/org/ofbiz/common/preferences/PreferenceWorker.java Sat Jul 26 16:21:03 2008
@@ -27,13 +27,11 @@
 import org.ofbiz.base.util.ObjectType;
 import org.ofbiz.base.util.UtilMisc;
 import org.ofbiz.base.util.UtilValidate;
-import org.ofbiz.base.util.Debug;
 import org.ofbiz.entity.GenericValue;
 import org.ofbiz.security.Security;
 import org.ofbiz.service.DispatchContext;
 import org.ofbiz.service.ServiceUtil;
 
-
 /**
  * User preference worker methods.
  */
@@ -44,11 +42,10 @@
      */
     public static final String ADMIN_PERMISSION = "USERPREF_ADMIN";
 
-    /**
-     * Default userLoginId. Currently set to "DEFAULT_USER_PREFS". This userLoginId is used to
-     * retrieve preferences when the user is not logged in.
+    /** Default userLoginId. Currently set to "_NA_". This userLoginId is used to
+     * retrieve default preferences when the user is not logged in.
      */
-    public static final String DEFAULT_UID = "DEFAULT_USER_PREFS";
+    public static final String DEFAULT_UID = "_NA_";
 
     /**
      * Add a UserPreference GenericValue to a Map.