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 |
Free forum by Nabble | Edit this page |