This is an automated email from the ASF dual-hosted git repository.

mridulpathak pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-plugins.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 45db7980d Let scrum and projectmgr users keep working with customer 
requests
45db7980d is described below

commit 45db7980df7b6182596f733a920a8ad663cebed8
Author: Mridul Pathak <[email protected]>
AuthorDate: Mon Oct 26 19:25:10 2026 +0530

    Let scrum and projectmgr users keep working with customer requests
    
    - SCRUM_PRODUCT_OWNER and SCRUM_MASTER get ORDERMGR_CRQ_CREATE and 
ORDERMGR_CRQ_UPDATE, and SCRUM_TEAM gets ORDERMGR_CRQ_UPDATE, since scrum 
backlogs are customer requests these groups edit directly through 
createCustRequestItem, updateCustRequest and the other services that now 
require ORDERMGR_CRQ
    - The CRQ_REVIEWED status update in createCustRequestAndAssignTaskToPerson 
and the CRQ_COMPLETED cascade in updateTaskStatusToComplete now run as the 
system user, since they are side effects of the request just created or the 
task just completed
    - PROJECTADMIN gets ORDERMGR_CRQ_UPDATE so the projectmgr updaterequest 
screen keeps working
---
 projectmgr/data/ProjectMgrSecurityGroupDemoData.xml               | 1 +
 projectmgr/minilang/ProjectSimpleEvents.xml                       | 7 ++++++-
 .../org/apache/ofbiz/projectmgr/ProjectServicesScript.groovy      | 7 +++++--
 scrum/data/scrumSecurityGroupDemoData.xml                         | 8 ++++++++
 4 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/projectmgr/data/ProjectMgrSecurityGroupDemoData.xml 
b/projectmgr/data/ProjectMgrSecurityGroupDemoData.xml
index 1c036adb1..ea6da8cc0 100644
--- a/projectmgr/data/ProjectMgrSecurityGroupDemoData.xml
+++ b/projectmgr/data/ProjectMgrSecurityGroupDemoData.xml
@@ -31,6 +31,7 @@ under the License.
     <SecurityGroupPermission fromDate="2001-05-13 12:00:00.0" 
groupId="PROJECTADMIN" permissionId="PROJECTMGR_VIEW"/>
     <SecurityGroupPermission fromDate="2001-05-13 12:00:00.0" 
groupId="PROJECTADMIN" permissionId="PROJECTMGR_TIMESHEET_CREATE"/>
     <SecurityGroupPermission fromDate="2001-05-13 12:00:00.0" 
groupId="PROJECTADMIN" permissionId="PROJECTMGR_TIMESHEET_UPDATE"/>
+    <SecurityGroupPermission fromDate="2001-05-13 12:00:00.0" 
groupId="PROJECTADMIN" permissionId="ORDERMGR_CRQ_UPDATE"/>
 
     <SecurityGroup description="Project User group, has read, task 
create/assign and timesheet create/update access to own projects." 
groupId="PROJECTUSER"/>
     <SecurityGroupPermission fromDate="2001-05-13 12:00:00.0" 
groupId="PROJECTUSER" permissionId="PROJECTMGR_VIEW"/>
diff --git a/projectmgr/minilang/ProjectSimpleEvents.xml 
b/projectmgr/minilang/ProjectSimpleEvents.xml
index 96bb2255b..bb1ba5b28 100644
--- a/projectmgr/minilang/ProjectSimpleEvents.xml
+++ b/projectmgr/minilang/ProjectSimpleEvents.xml
@@ -50,9 +50,14 @@
                 <result-to-field result-name="workEffortId" 
field="workEffortId"/>
             </call-service>
             <set field="eventMessage" value="${eventMessage} and attached to 
task: ${workEffortId}"/>
+            <!-- the request was just created and attached to the new task, so 
its status is updated by the system user here -->
+            <entity-one entity-name="UserLogin" value-field="systemUserLogin">
+                <field-map field-name="userLoginId" value="system"/>
+            </entity-one>
             <set field="updCust.statusId" value="CRQ_REVIEWED"/>
             <set field="updCust.custRequestId" from-field="custRequestId"/>
-            <call-service service-name="updateCustRequest" 
in-map-name="updCust"/>
+            <set field="updCust.userLogin" from-field="systemUserLogin"/>
+            <call-service service-name="updateCustRequest" 
in-map-name="updCust" include-user-login="false"/>
             <if-not-empty field="parameters.partyId">
                 <set field="assignParty.workEffortId" 
from-field="workEffortId"/>
                 <set field="assignParty.partyId" 
from-field="parameters.partyId"/>
diff --git 
a/projectmgr/src/main/groovy/org/apache/ofbiz/projectmgr/ProjectServicesScript.groovy
 
b/projectmgr/src/main/groovy/org/apache/ofbiz/projectmgr/ProjectServicesScript.groovy
index c871f421f..e5db89dff 100644
--- 
a/projectmgr/src/main/groovy/org/apache/ofbiz/projectmgr/ProjectServicesScript.groovy
+++ 
b/projectmgr/src/main/groovy/org/apache/ofbiz/projectmgr/ProjectServicesScript.groovy
@@ -231,13 +231,16 @@ Map updateTaskStatusToComplete(String workEffortId) {
                 currentStatusId: 'PTS_COMPLETED',
                 actualCompletionDate: UtilDateTime.nowTimestamp()]
 
-        // check for related customer request, set these too to completed
+        // check for related customer request, set these too to completed, as 
the system user since this is a
+        // side effect of completing the task
+        GenericValue systemUserLogin = from('UserLogin').where(userLoginId: 
'system').cache().queryOne()
         from('CustRequestWorkEffort')
                 .where(workEffortId: workEffortId)
                 .queryList()
                 .each {
                     run service: 'updateCustRequest', with: [custRequestId: 
it.custRequestId,
-                                                             statusId: 
'CRQ_COMPLETED']
+                                                             statusId: 
'CRQ_COMPLETED',
+                                                             userLogin: 
systemUserLogin]
                 }
     }
     return success([workEffortId: workEffortId])
diff --git a/scrum/data/scrumSecurityGroupDemoData.xml 
b/scrum/data/scrumSecurityGroupDemoData.xml
index 2e590f8ca..3ef7595a2 100644
--- a/scrum/data/scrumSecurityGroupDemoData.xml
+++ b/scrum/data/scrumSecurityGroupDemoData.xml
@@ -61,6 +61,9 @@ under the License.
     <SecurityGroupPermission fromDate="2001-05-13 12:00:00.0" 
groupId="SCRUM_PRODUCT_OWNER" permissionId="CATALOG_ROLE_UPDATE"/>
     <SecurityGroupPermission fromDate="2001-05-13 12:00:00.0" 
groupId="SCRUM_PRODUCT_OWNER" permissionId="SECURITY_CREATE"/>
     <SecurityGroupPermission fromDate="2001-05-13 12:00:00.0" 
groupId="SCRUM_PRODUCT_OWNER" permissionId="CATALOG_DELETE"/>
+
+    <SecurityGroupPermission fromDate="2001-05-13 12:00:00.0" 
groupId="SCRUM_PRODUCT_OWNER" permissionId="ORDERMGR_CRQ_CREATE"/>
+    <SecurityGroupPermission fromDate="2001-05-13 12:00:00.0" 
groupId="SCRUM_PRODUCT_OWNER" permissionId="ORDERMGR_CRQ_UPDATE"/>
     
     
     <!-- Scrum Master Security Group -->
@@ -103,6 +106,9 @@ under the License.
     <SecurityGroupPermission fromDate="2001-05-13 12:00:00.0" 
groupId="SCRUM_MASTER" permissionId="PARTYMGR_CME_CREATE"/>
     <SecurityGroupPermission fromDate="2001-05-13 12:00:00.0" 
groupId="SCRUM_MASTER" permissionId="PARTYMGR_CME_UPDATE"/>
     <SecurityGroupPermission fromDate="2001-05-13 12:00:00.0" 
groupId="SCRUM_MASTER" permissionId="CONTENTMGR_ROLE_CREATE"/>
+
+    <SecurityGroupPermission fromDate="2001-05-13 12:00:00.0" 
groupId="SCRUM_MASTER" permissionId="ORDERMGR_CRQ_CREATE"/>
+    <SecurityGroupPermission fromDate="2001-05-13 12:00:00.0" 
groupId="SCRUM_MASTER" permissionId="ORDERMGR_CRQ_UPDATE"/>
     
     <!-- Scrum Team Security Group -->
     <SecurityGroup description="Scrum Team" groupId="SCRUM_TEAM"/>
@@ -133,6 +139,8 @@ under the License.
     <SecurityGroupPermission fromDate="2001-05-13 12:00:00.0" 
groupId="SCRUM_TEAM" permissionId="PARTYMGR_CME_CREATE"/>
     <SecurityGroupPermission fromDate="2001-05-13 12:00:00.0" 
groupId="SCRUM_TEAM" permissionId="PARTYMGR_CME_UPDATE"/>
     <SecurityGroupPermission fromDate="2001-05-13 12:00:00.0" 
groupId="SCRUM_TEAM" permissionId="CONTENTMGR_ROLE_CREATE"/>
+
+    <SecurityGroupPermission fromDate="2001-05-13 12:00:00.0" 
groupId="SCRUM_TEAM" permissionId="ORDERMGR_CRQ_UPDATE"/>
     
     <SecurityGroup description="Scrum Administrator group, has all scrum 
permissions." groupId="SCRUM_ADMIN"/>
     <SecurityGroupPermission fromDate="2001-05-13 12:00:00.0" 
groupId="SCRUM_ADMIN" permissionId="SCRUM_ADMIN"/>

Reply via email to