svn commit: r506212 - /ofbiz/trunk/applications/content/script/org/ofbiz/content/permission/ContentPermissionServices.xml

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

svn commit: r506212 - /ofbiz/trunk/applications/content/script/org/ofbiz/content/permission/ContentPermissionServices.xml

jaz-3
Author: jaz
Date: Sun Feb 11 17:41:50 2007
New Revision: 506212

URL: http://svn.apache.org/viewvc?view=rev&rev=506212
Log:
implemented VIEW permission; added logic to support calling specialized methods alone as services (calls main permission checking now as well)

Modified:
    ofbiz/trunk/applications/content/script/org/ofbiz/content/permission/ContentPermissionServices.xml

Modified: ofbiz/trunk/applications/content/script/org/ofbiz/content/permission/ContentPermissionServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/script/org/ofbiz/content/permission/ContentPermissionServices.xml?view=diff&rev=506212&r1=506211&r2=506212
==============================================================================
--- ofbiz/trunk/applications/content/script/org/ofbiz/content/permission/ContentPermissionServices.xml (original)
+++ ofbiz/trunk/applications/content/script/org/ofbiz/content/permission/ContentPermissionServices.xml Sun Feb 11 17:41:50 2007
@@ -36,14 +36,23 @@
             </condition>
             <then>
                 <if>
-                    <!-- create content -->
+                    <!-- view content -->
                     <condition>
-                        <if-compare field-name="parameters.mainAction" value="CREATE" operator="equals"/>
+                        <if-compare field-name="parameters.mainAction" value="VIEW" operator="equals"/>
                     </condition>
                     <then>
-                        <call-simple-method method-name="createContentPermission"/>
+                        <call-simple-method method-name="viewContentPermission"/>
                     </then>
                     <else-if>
+                        <!-- create content -->
+                        <condition>
+                            <if-compare field-name="parameters.mainAction" value="CREATE" operator="equals"/>
+                        </condition>
+                        <then>
+                            <call-simple-method method-name="createContentPermission"/>
+                        </then>
+                    </else-if>
+                    <else-if>
                         <!-- update content -->
                         <condition>
                             <if-compare field-name="parameters.mainAction" value="UPDATE" operator="equals"/>
@@ -58,7 +67,52 @@
         </if>
     </simple-method>
 
+    <simple-method method-name="viewContentPermission" short-description="Check user can view content">
+        <!-- if called directly check the main permission -->
+        <if-empty field-name="hasPermission">
+            <set field="primaryPermission" value="CONTENTMGR"/>
+            <set field="mainAction" value="VIEW"/>
+            <call-simple-method method-name="genericBasePermissionCheck"
+                                xml-resource="org/ofbiz/common/permission/CommonPermissionServices.xml"/>
+        </if-empty>
+
+        <!-- check content role permission -->
+        <set field="primaryPermission" value="CONTENTMGR_ROLE"/>
+        <call-simple-method method-name="genericBasePermissionCheck"
+                            xml-resource="org/ofbiz/common/permission/CommonPermissionServices.xml"/>
+
+        <!-- must have the security permission to continue -->
+        <if>
+            <condition>
+                <if-compare field-name="hasPermission" value="true" type="Boolean" operator="equals"/>
+            </condition>
+            <then>
+                <!-- if no operation is passed; we use the CONTENT_VIEW operation -->
+                <if-empty field-name="parameters.contentOperationId">
+                    <set field="parameters.contentOperationId" value="CONTENT_VIEW"/>
+                </if-empty>
+
+                <!-- grab the current requested content record -->
+                <entity-one entity-name="Content" value-name="content">
+                    <field-map field-name="contentId" env-name="parameters.contentId"/>
+                </entity-one>
+
+                <!-- check the operation security -->
+                <set field="contentOperationId" from-field="parameters.contentOperationId"/>
+                <set field="content" from-field="content"/>
+                <call-simple-method method-name="checkContentOperationSecurity"/>
+            </then>
+        </if>
+    </simple-method>
+
     <simple-method method-name="createContentPermission" short-description="Check user can create new content">
+        <!-- if called directly check the main permission -->
+        <if-empty field-name="hasPermission">
+            <set field="primaryPermission" value="CONTENTMGR"/>
+            <set field="mainAction" value="CREATE"/>
+            <call-simple-method method-name="genericBasePermissionCheck"
+                                xml-resource="org/ofbiz/common/permission/CommonPermissionServices.xml"/>
+        </if-empty>
 
         <!-- check role permission? -->
         <set field="primaryPermission" value="CONTENTMGR_ROLE"/>
@@ -68,7 +122,7 @@
         <!-- must have the security permission to continue -->
         <if>
             <condition>
-                <if-compare field-name="hasPermission" value="false" type="Boolean" operator="equals"/>
+                <if-compare field-name="hasPermission" value="true" type="Boolean" operator="equals"/>
             </condition>
             <then>
                 <!-- if an operation is passed, check the operation security -->
@@ -140,6 +194,13 @@
     </simple-method>
 
     <simple-method method-name="updateContentPermission" short-description="Check user can update existing content">
+        <!-- if called directly check the main permission -->
+        <if-empty field-name="hasPermission">
+            <set field="primaryPermission" value="CONTENTMGR"/>
+            <set field="mainAction" value="UPDATE"/>
+            <call-simple-method method-name="genericBasePermissionCheck"
+                                xml-resource="org/ofbiz/common/permission/CommonPermissionServices.xml"/>
+        </if-empty>
 
         <!-- check role permission -->
         <set field="primaryPermission" value="CONTENTMGR_ROLE"/>