You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ha...@apache.org on 2011/07/05 10:15:37 UTC

svn commit: r1142915 [7/28] - in /ofbiz/trunk/specialpurpose: ./ scrum/ scrum/config/ scrum/data/ scrum/data/helpdata/ scrum/data/hookscripts/ scrum/documents/ scrum/dtd/ scrum/entitydef/ scrum/lib/ scrum/patches/ scrum/script/ scrum/script/org/ scrum/...

Propchange: ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/ScrumEvents.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/ScrumEvents.xml
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/ScrumEvents.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/ScrumPermissionServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/ScrumPermissionServices.xml?rev=1142915&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/ScrumPermissionServices.xml (added)
+++ ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/ScrumPermissionServices.xml Tue Jul  5 08:15:32 2011
@@ -0,0 +1,590 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    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.
+-->
+
+<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
+    <simple-method method-name="scrumPermissionCheck" short-description="general service to check access to the scrum component">
+        <set field="primaryPermission" value="SCRUM"/>
+        <set field="hasPermission" value="true" type="Boolean"/>
+        <set field="hasNoPermission" value="false" type="Boolean"/>
+        <set field="partyId" from-field="parameters.userLogin.partyId"/>
+
+        <if-compare field="parameters.resourceDescription" value="MEMBER" operator="equals">
+            <set field="sec_object" value="MEMBER"/>
+        </if-compare>
+        <if-compare field="parameters.resourceDescription" value="TEST" operator="equals">
+            <set field="sec_object" value="TEST"/>
+        </if-compare>
+        <if-compare field="parameters.resourceDescription" value="TASK" operator="equals">
+            <set field="sec_object" value="TASK"/>
+        </if-compare>
+        <if-compare field="parameters.resourceDescription" value="BACKLOG" operator="equals">
+            <set field="sec_object" value="BACKLOG"/>
+        </if-compare>
+        <if-compare field="parameters.resourceDescription" value="PRODUCT" operator="equals">
+            <set field="sec_object" value="PRODUCT"/>
+        </if-compare>
+        <if-compare field="parameters.resourceDescription" value="SPRINT" operator="equals">
+            <set field="sec_object" value="SPRINT"/>
+        </if-compare>
+        <if-compare field="parameters.resourceDescription" value="PROJECT" operator="equals">
+            <set field="sec_object" value="PROJECT"/>
+        </if-compare>
+        <if-compare field="parameters.resourceDescription" value="SCRUM" operator="equals">
+            <set field="sec_object" value="SCRUM"/>
+        </if-compare>
+        <!-- Administrator -->
+        <if-has-permission permission="SCRUM" action="_ADMIN">
+            <field-to-result field="hasPermission"/>
+            <return/>
+        </if-has-permission>
+        
+        <!-- Scrum CommonDecorator Only-->
+        <if-compare operator="equals" value="SCRUM" field="sec_object">
+            <entity-condition list="securityGroupList" entity-name="ScrumMemberUserLoginAndSecurityGroup">
+                <condition-list combine="and">
+                    <condition-expr field-name="partyId" operator="equals" from-field="partyId"/>
+                    <condition-expr field-name="partyStatusId" operator="not-equals" value="PARTY_DISABLED"/>
+                    <condition-expr field-name="thruDate" operator="equals" value=""/>
+                </condition-list>
+            </entity-condition>
+            <first-from-list entry="securityGroupMap" list="securityGroupList"/>
+            <if>
+                <condition>
+                    <or>
+                        <if-compare field="securityGroupMap.groupId" operator="equals" value="SCRUM_PRODUCT_OWNER" />
+                        <if-compare field="securityGroupMap.groupId" operator="equals" value="SCRUM_MASTER" />
+                        <if-compare field="securityGroupMap.groupId" operator="equals" value="SCRUM_TEAM" />
+                    </or>
+                </condition>
+                <then>
+                    <if>
+                       <condition>
+                           <and>
+                               <if-has-permission permission="SCRUM_ROLE" action="_VIEW"/>
+                               <if-compare field="parameters.mainAction" value="VIEW" operator="equals"/>
+                           </and>
+                       </condition>
+                        <then>
+                            <field-to-result field="hasPermission"/>
+                            <return/>
+                        </then>
+                        <else>
+                            <property-to-field resource="scrumUiLabels" property="ScrumNoAccessToScrum" field="failMessage"/>
+                            <field-to-result field="failMessage"/>
+                            <field-to-result field="hasNoPermission" result-name="hasPermission"/>
+                            <return/>
+                        </else>
+                   </if>
+                </then>
+                <else>
+                    <if>
+                        <condition>
+                            <and>
+                                <if-has-permission permission="SCRUM" action="_VIEW"/>
+                                <if-compare field="parameters.mainAction" value="VIEW" operator="equals"/>
+                            </and>
+                        </condition>
+                         <then>
+                             <field-to-result field="hasPermission"/>
+                             <return/>
+                         </then>
+                         <else>
+                             <property-to-field resource="scrumUiLabels" property="ScrumNoAccessToScrum" field="failMessage"/>
+                             <field-to-result field="failMessage"/>
+                             <field-to-result field="hasNoPermission" result-name="hasPermission"/>
+                             <return/>
+                         </else>
+                    </if>
+                </else>
+            </if>
+        </if-compare>
+        <!-- PRODUCT -->
+        <if-compare operator="equals" value="PRODUCT" field="sec_object">
+            <set field="productId" from-field="parameters.productId"/>
+            <if>
+                <condition>
+                    <if-compare operator="equals" value="VIEW" field="parameters.mainAction"/>
+                </condition>
+                <then>
+                    <if>
+                        <condition>
+                            <and>
+                                <or>
+                                    <if-has-permission permission="SCRUM_PRODUCT_ROLE" action="_VIEW"/>
+                                    <if-has-permission permission="SCRUM_PRODUCT_ROLE" action="_ADMIN"/>
+                                </or>
+                                <not><if-empty field="productId"/></not>
+                            </and>
+                        </condition>
+                        <then>
+                            <!-- Product Owner -->
+                            <entity-and list="productRoles" entity-name="ProductRole">
+                                <field-map field-name="productId" from-field="productId"/>
+                                <field-map field-name="partyId" from-field="partyId"/>
+                                <field-map field-name="roleTypeId" value="PRODUCT_OWNER"/>
+                            </entity-and>
+                            <!-- Memberships related to this product. -->
+                            <entity-and list="projectSprints" entity-name="ProjectSprint">
+                                <field-map field-name="productId" from-field="productId"/>
+                            </entity-and>
+                            <set field="isMembership" type="Boolean" value="false"/>
+                            <iterate entry="projectSprintEntry" list="projectSprints">
+                                <entity-condition list="assigns" entity-name="WorkEffortPartyAssignAndRoleType">
+                                    <condition-list>
+                                        <condition-expr field-name="workEffortId" operator="equals" from-field="projectSprintEntry.sprintId"/>
+                                        <condition-expr field-name="partyId" from-field="partyId"/>
+                                    </condition-list>
+                                </entity-condition>
+                                <if-not-empty field="assigns">
+                                    <set field="isMembership" type="Boolean" value="true"/>
+                                </if-not-empty>
+                            </iterate>
+                            <if>
+                                <condition>
+                                    <or>
+                                        <not><if-empty field="productRoles"/></not>
+                                        <if-compare operator="equals" value="true" field="isMembership" type="Boolean"/>
+                                    </or>
+                                </condition>
+                                <then>
+                                    <field-to-result field="hasPermission"/>
+                                    <return/>
+                                </then>
+                                <else>
+                                    <property-to-field resource="scrumUiLabels" property="scrumNoAccessToProduct" field="failMessage"/>
+                                    <field-to-result field="failMessage"/>
+                                    <field-to-result field="hasNoPermission" result-name="hasPermission"/>
+                                    <return/>
+                                </else>
+                            </if>
+                        </then>
+                        <else>
+                            <if>
+                                <condition>
+                                    <or>
+                                        <if-has-permission permission="SCRUM_PRODUCT" action="_VIEW"/>
+                                        <if-has-permission permission="SCRUM_PRODUCT" action="_ADMIN"/>
+                                    </or>
+                                </condition>
+                                <then>
+                                    <field-to-result field="hasPermission"/>
+                                    <return/>
+                                </then>
+                                <else>
+                                    <property-to-field resource="scrumUiLabels" property="scrumNoAccessToProduct" field="failMessage"/>
+                                    <field-to-result field="failMessage"/>
+                                    <field-to-result field="hasNoPermission" result-name="hasPermission"/>
+                                    <return/>
+                                </else>
+                            </if>
+                        </else>
+                    </if>
+                </then>
+                <else-if>
+                    <condition>
+                        <if-compare operator="equals" value="CREATE" field="parameters.mainAction"/>
+                    </condition>
+                    <then>
+                        <!-- Only Scrum Administrator -->
+                        <property-to-field resource="scrumUiLabels" property="scrumNoAccessToProduct" field="failMessage"/>
+                        <field-to-result field="failMessage"/>
+                        <field-to-result field="hasNoPermission" result-name="hasPermission"/>
+                        <return/>
+                    </then>
+                </else-if>
+                <else-if>
+                    <condition>
+                        <if-compare operator="equals" value="UPDATE" field="parameters.mainAction"/>
+                    </condition>
+                    <then>
+                        <!-- Only Scrum Administrator -->
+                        <property-to-field resource="scrumUiLabels" property="scrumNoAccessToProduct" field="failMessage"/>
+                        <field-to-result field="failMessage"/>
+                        <field-to-result field="hasNoPermission" result-name="hasPermission"/>
+                        <return/>
+                    </then>
+                </else-if>
+                <else-if>
+                    <condition>
+                        <if-compare operator="equals" value="DELETE" field="parameters.mainAction"/>
+                    </condition>
+                    <then>
+                        <!-- Only Scrum Administrator -->
+                        <property-to-field resource="scrumUiLabels" property="scrumNoAccessToProduct" field="failMessage"/>
+                        <field-to-result field="failMessage"/>
+                        <field-to-result field="hasNoPermission" result-name="hasPermission"/>
+                        <return/>
+                    </then>
+                </else-if>
+                <else>
+                    <property-to-field resource="scrumUiLabels" property="ScrumNoAccessToProduct" field="failMessage"/>
+                    <field-to-result field="failMessage"/>
+                    <field-to-result field="hasNoPermission" result-name="hasPermission"/>
+                    <return/>
+                </else>
+            </if>
+        </if-compare>
+        <!-- BACKLOG -->
+        <if-compare operator="equals" value="BACKLOG" field="sec_object">
+            <if>
+                <condition>
+                    <or>
+                        <and>
+                            <if-compare operator="equals" value="VIEW" field="parameters.mainAction"/>
+                            <if-has-permission permission="SCRUM_PRODUCT_BACKLOG" action="_ADMIN"/>
+                        </and>
+                        <and>
+                            <if-compare operator="equals" value="CREATE" field="parameters.mainAction"/>
+                            <if-has-permission permission="SCRUM_PRODUCT_BACKLOG" action="_CREATE"/>
+                        </and>
+                        <and>
+                            <if-compare operator="equals" value="UPDATE" field="parameters.mainAction"/>
+                            <or>
+                                <if-has-permission permission="SCRUM_PRODUCT_BACKLOG" action="_UPDATE"/>
+                                <if-has-permission permission="SCRUM_PRODUCT_BACKLOG" action="_ADMIN"/>
+                            </or>
+                        </and>
+                        <and>
+                            <if-compare operator="equals" value="DELETE" field="parameters.mainAction"/>
+                            <or>
+                                <if-has-permission permission="SCRUM_PRODUCT_BACKLOG" action="_DELETE"/>
+                                <if-has-permission permission="SCRUM_PRODUCT_BACKLOG" action="_ADMIN"/>
+                            </or>
+                        </and>
+                    </or>
+                </condition>
+                <then>
+                    <field-to-result field="hasPermission"/>
+                    <return/>
+                </then>
+                <else>
+                    <property-to-field resource="scrumUiLabels" property="scrumNoAccessToProduct" field="failMessage"/>
+                    <field-to-result field="failMessage"/>
+                    <field-to-result field="hasNoPermission" result-name="hasPermission"/>
+                    <return/>
+                </else>
+            </if>
+        </if-compare>
+        <!-- PROJECT -->
+        <if-compare operator="equals" value="PROJECT" field="sec_object">
+            <if>
+                <condition>
+                    <or>
+                        <and>
+                            <if-compare operator="equals" value="VIEW" field="parameters.mainAction"/>
+                            <if-has-permission permission="SCRUM_PROJECT_ROLE" action="_VIEW"/>
+                        </and>
+                        <and>
+                            <if-compare operator="equals" value="CREATE" field="parameters.mainAction"/>
+                            <if-has-permission permission="SCRUM_PROJECT_ROLE" action="_ADMIN"/>
+                        </and>
+                        <and>
+                            <if-compare operator="equals" value="UPDATE" field="parameters.mainAction"/>
+                            <if-has-permission permission="SCRUM_PROJECT_ROLE" action="_ADMIN"/>
+                        </and>
+                        <and>
+                            <if-compare operator="equals" value="DELETE" field="parameters.mainAction"/>
+                            <if-has-permission permission="SCRUM_PROJECT_ROLE" action="_ADMIN"/>
+                        </and>
+                    </or>
+                </condition>
+                <then>
+                    <field-to-result field="hasPermission"/>
+                    <return/>
+                </then>
+                <else>
+                    <property-to-field resource="scrumUiLabels" property="ScrumNoAccessToProject" field="failMessage"/>
+                    <field-to-result field="failMessage"/>
+                    <field-to-result field="hasNoPermission" result-name="hasPermission"/>
+                    <return/>
+                </else>
+            </if>
+        </if-compare>
+        <!-- SPRINT -->
+        <if-compare operator="equals" value="SPRINT" field="sec_object">
+            <if>
+                <condition>
+                    <or>
+                        <and>
+                            <if-compare operator="equals" value="VIEW" field="parameters.mainAction"/>
+                            <if-has-permission permission="SCRUM_SPRINT" action="_VIEW"/>
+                        </and>
+                        <and>
+                            <if-compare operator="equals" value="CREATE" field="parameters.mainAction"/>
+                            <if-has-permission permission="SCRUM_SPRINT" action="_CREATE"/>
+                        </and>
+                        <and>
+                            <if-compare operator="equals" value="UPDATE" field="parameters.mainAction"/>
+                            <if-has-permission permission="SCRUM_SPRINT" action="_UPDATE"/>
+                        </and>
+                        <and>
+                            <if-compare operator="equals" value="DELETE" field="parameters.mainAction"/>
+                            <if-has-permission permission="SCRUM_SPRINT" action="_DELETE"/>
+                        </and>
+                    </or>
+                </condition>
+                <then>
+                    <field-to-result field="hasPermission"/>
+                    <return/>
+                </then>
+                <else>
+                    <property-to-field resource="scrumUiLabels" property="ScrumNoAccessToProject" field="failMessage"/>
+                    <field-to-result field="failMessage"/>
+                    <field-to-result field="hasNoPermission" result-name="hasPermission"/>
+                    <return/>
+                </else>
+            </if>
+        </if-compare>
+        <!-- TASK -->
+        <if-compare operator="equals" value="TASK" field="sec_object">
+            <if>
+                <condition>
+                    <or>
+                        <and>
+                           <if-compare operator="equals" value="VIEW" field="parameters.mainAction"/>
+                           <or>
+                               <if-has-permission permission="SCRUM_TASK" action="_VIEW"/>
+                               <if-has-permission permission="SCRUM_TEST" action="_ADMIN"/>
+                               <if-has-permission permission="SCRUM_TASK" action="_ADMIN"/>
+                           </or>
+                        </and>
+                        <and>
+                            <if-compare operator="equals" value="CREATE" field="parameters.mainAction"/>
+                            <or>
+                                <if-has-permission permission="SCRUM_TASK" action="_CREATE"/>
+                                <if-has-permission permission="SCRUM_TEST" action="_ADMIN"/>
+                            </or>
+                        </and>
+                        <and>
+                            <if-compare operator="equals" value="UPDATE" field="parameters.mainAction"/>
+                            <if-has-permission permission="SCRUM_TASK" action="_UPDATE"/>
+                        </and>
+                        <and>
+                            <if-compare operator="equals" value="DELETE" field="parameters.mainAction"/>
+                            <if-has-permission permission="SCRUM_TASK" action="_DELETE"/>
+                        </and>
+                    </or>
+                    
+                </condition>
+                <then>
+                    <field-to-result field="hasPermission"/>
+                    <return/>
+                </then>
+                <else>
+                    <property-to-field resource="scrumUiLabels" property="ScrumNoAccessToTask" field="failMessage"/>
+                    <field-to-result field="failMessage"/>
+                    <field-to-result field="hasNoPermission" result-name="hasPermission"/>
+                    <return/>
+                </else>
+            </if>
+        </if-compare>
+        <!-- MEMBER -->
+        <if-compare operator="equals" value="MEMBER" field="sec_object">
+            <if>
+                <condition>
+                    <or>
+                        <and>
+                            <if-compare operator="equals" value="VIEW" field="parameters.mainAction"/>
+                            <if-has-permission permission="SCRUM_MEMBER" action="_VIEW"/>
+                        </and>
+                        <and>
+                            <if-compare operator="equals" value="CREATE" field="parameters.mainAction"/>
+                            <if-has-permission permission="SCRUM_MEMBER" action="_CREATE"/>
+                        </and>
+                        <and>
+                            <if-compare operator="equals" value="UPDATE" field="parameters.mainAction"/>
+                            <if-has-permission permission="SCRUM_MEMBER" action="_UPDATE"/>
+                        </and>
+                        <and>
+                            <if-compare operator="equals" value="DELETE" field="parameters.mainAction"/>
+                            <if-has-permission permission="SCRUM_MEMBER" action="_DELETE"/>
+                        </and>
+                    </or>
+                    
+                </condition>
+                <then>
+                    <field-to-result field="hasPermission"/>
+                    <return/>
+                </then>
+                <else>
+                    <property-to-field resource="scrumUiLabels" property="ScrumNoAccessToMember" field="failMessage"/>
+                    <field-to-result field="failMessage"/>
+                    <field-to-result field="hasNoPermission" result-name="hasPermission"/>
+                    <return/>
+                </else>
+            </if>
+        </if-compare>
+        <!-- TEST -->
+        <if-compare operator="equals" value="TEST" field="sec_object">
+            <if>
+                <condition>
+                    <or>
+                        <and>
+                            <if-compare operator="equals" value="VIEW" field="parameters.mainAction"/>
+                            <or>
+                                <if-has-permission permission="SCRUM_TEST" action="_READ"/>
+                                <if-has-permission permission="SCRUM_TEST" action="_ADMIN"/>
+                            </or>
+                        </and>
+                        <and>
+                            <if-compare operator="equals" value="UPDATE" field="parameters.mainAction"/>
+                            <or>
+                                <if-has-permission permission="SCRUM_PRODUCT_BACKLOG" action="_ADMIN"/>
+                                <if-has-permission permission="SCRUM_TASK" action="_CREATE"/>
+                                <if-has-permission permission="SCRUM_TEST" action="_ADMIN"/>
+                            </or>
+                        </and>
+                    </or>
+                    
+                </condition>
+                <then>
+                    <field-to-result field="hasPermission"/>
+                    <return/>
+                </then>
+                <else>
+                    <property-to-field resource="scrumUiLabels" property="ScrumNoAccessToTest" field="failMessage"/>
+                    <field-to-result field="failMessage"/>
+                    <field-to-result field="hasNoPermission" result-name="hasPermission"/>
+                    <return/>
+                </else>
+            </if>
+        </if-compare>
+        <field-to-result field="hasPermission"/>
+        <return/>
+    </simple-method>
+    
+    <simple-method method-name="projectUpdateMemberPermission" short-description="Check Project update Member Permission">
+        <set field="hasPermission" value="false" type="Boolean"/>
+        <if-has-permission permission="PROJECT" action="_UPDATE">
+            <entity-condition list="workEffortPartyAssignments" entity-name="WorkEffortPartyAssignment">
+                <condition-list combine="and">
+                    <condition-expr field-name="partyId" from-field="userLogin.partyId"/>
+                    <condition-expr field-name="workEffortId" from-field="parameters.projectId"/>
+                </condition-list>
+            </entity-condition>
+            <if-not-empty field="workEffortPartyAssignments">
+                <set field="hasPermission" value="true" type="Boolean"/>
+            </if-not-empty>
+        </if-has-permission>
+        <field-to-result field="hasPermission"/>
+    </simple-method>
+    <simple-method method-name="taskUpdateMemberPermission" short-description="Check Project update Member Permission">
+        <set field="hasPermission" value="false" type="Boolean"/>
+        <if-has-permission permission="TASK" action="_UPDATE">
+            <entity-condition list="workEffortPartyAssignments" entity-name="WorkEffortPartyAssignment">
+                <condition-list combine="and">
+                    <condition-expr field-name="partyId" from-field="userLogin.partyId"/>
+                    <condition-expr field-name="roleTypeId" value="SCRUM_MASTER"/>
+                    <condition-expr field-name="workEffortId" from-field="parameters.projectId"/>
+                </condition-list>
+            </entity-condition>
+            <if-not-empty field="workEffortPartyAssignments">
+                <set field="hasPermission" value="true" type="Boolean"/>
+            </if-not-empty>
+        </if-has-permission>
+        <field-to-result field="hasPermission"/>
+    </simple-method>
+    <!-- Sprint -->
+    <simple-method method-name="sprintAddPermission" short-description="Check Create Sprint Permission">
+        <set field="hasPermission" default-value="false" type="Boolean"/>
+        <if-has-permission permission="SCRUM_SPRINT" action="_CREATE">
+            <set field="hasPermission" value="true" type="Boolean"/>
+        </if-has-permission>
+        <field-to-result field="hasPermission"/>
+    </simple-method>
+    <simple-method method-name="sprintViewPermission" short-description="Check View Sprint Permission">
+        <set field="hasPermission" default-value="false" type="Boolean"/>
+        <if-has-permission permission="SCRUM_SPRINT" action="_VIEW">
+            <if-not-empty field="parameters.sprintId">
+                <if-not-empty field="parameters.projectId">
+                    <set field="hasPermission" value="true" type="Boolean"/>
+                </if-not-empty>
+            </if-not-empty>
+        </if-has-permission>
+        <log level="verbose"></log>
+        <field-to-result field="hasPermission"/>
+    </simple-method>
+    <simple-method method-name="sprintUpdatePermission" short-description="Check Update Sprint Permission">
+        <set field="hasPermission" default-value="false" type="Boolean"/>
+        <if-has-permission permission="SCRUM_SPRINT" action="_UPDATE">
+            <if-not-empty field="parameters.sprintId">
+                <if-not-empty field="parameters.projectId">
+                    <set field="hasPermission" value="true" type="Boolean"/>
+                </if-not-empty>
+            </if-not-empty>
+        </if-has-permission>
+        <field-to-result field="hasPermission"/>
+    </simple-method>
+    <simple-method method-name="sprintDeletePermission" short-description="Check Delete Sprint Permission">
+        <set field="hasPermission" default-value="false" type="Boolean"/>
+        <if-has-permission permission="SCRUM_SPRINT" action="_Delete">
+            <if-not-empty field="parameters.sprintId">
+                <if-not-empty field="parameters.projectId">
+                    <set field="hasPermission" value="true" type="Boolean"/>
+                </if-not-empty>
+            </if-not-empty>
+        </if-has-permission>
+        <field-to-result field="hasPermission"/>
+    </simple-method>
+    
+    <simple-method method-name="sprintBacklogDeletePermission" short-description="Check Delete Sprint Backlog Permission">
+        <set field="hasPermission" default-value="false" type="Boolean"/>
+        <if-has-permission permission="SPRINT_BACKLOG" action="_DELETE">
+            <if-not-empty field="parameters.sprintId">
+                <if-not-empty field="parameters.projectId">
+                    <set field="hasPermission" value="true" type="Boolean"/>
+                </if-not-empty>
+            </if-not-empty>
+        </if-has-permission>
+        <field-to-result field="hasPermission"/>
+    </simple-method>
+    <simple-method method-name="projectTaskCreatePermission" short-description="Check Project Create Task Permission">
+        <set field="hasPermission" value="false" type="Boolean"/>
+        <if-has-permission permission="TASK" action="_CREATE">
+            <entity-condition list="workEffortPartyAssignments" entity-name="WorkEffortPartyAssignment">
+                <condition-list combine="and">
+                    <condition-expr field-name="partyId" from-field="userLogin.partyId"/>
+                    <condition-expr field-name="workEffortId" from-field="parameters.projectId"/>
+                </condition-list>
+            </entity-condition>
+            <if-not-empty field="workEffortPartyAssignments">
+                <set field="hasPermission" value="true" type="Boolean"/>
+            </if-not-empty>
+        </if-has-permission>
+        <field-to-result field="hasPermission"/>
+    </simple-method>
+    <simple-method method-name="projectTaskDeletePermission" short-description="Check Project Delete Task Permission">
+        <set field="hasPermission" value="false" type="Boolean"/>
+        <if-has-permission permission="TASK" action="_DELETE">
+            <entity-condition list="workEffortPartyAssignments" entity-name="WorkEffortPartyAssignment">
+                <condition-list combine="and">
+                    <condition-expr field-name="partyId" from-field="userLogin.partyId"/>
+                    <condition-expr field-name="workEffortId" from-field="parameters.projectId"/>
+                </condition-list>
+            </entity-condition>
+            <if-not-empty field="workEffortPartyAssignments">
+                <set field="hasPermission" value="true" type="Boolean"/>
+            </if-not-empty>
+        </if-has-permission>
+        <field-to-result field="hasPermission"/>
+    </simple-method>
+
+</simple-methods>

Propchange: ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/ScrumPermissionServices.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/ScrumPermissionServices.xml
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/specialpurpose/scrum/script/org/ofbiz/scrum/ScrumPermissionServices.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml