Author: hansbak
Date: Mon Dec 24 04:48:07 2007 New Revision: 606697 URL: http://svn.apache.org/viewvc?rev=606697&view=rev Log: update task status by seca if all assignments complete and some fault fixing...status on phase and project still not ok... Modified: ofbiz/trunk/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml ofbiz/trunk/specialpurpose/projectmgr/servicedef/secas.xml ofbiz/trunk/specialpurpose/projectmgr/servicedef/services.xml ofbiz/trunk/specialpurpose/projectmgr/widget/TaskScreens.xml ofbiz/trunk/specialpurpose/projectmgr/widget/forms/TaskForms.xml Modified: ofbiz/trunk/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml?rev=606697&r1=606696&r2=606697&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml (original) +++ ofbiz/trunk/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml Mon Dec 24 04:48:07 2007 @@ -18,10 +18,27 @@ under the License. --> -<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +<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="" short-description=""></simple-method> + <simple-method method-name="updateTaskStatus" + short-description="Check partyassignements on a task, if all completes set task status to completed and set actual completiondate to now"> + <entity-and entity-name="WorkEffortPartyAssignment" list-name="assignments" filter-by-date="true"> + <field-map field-name="workEffortId" env-name="parameters.workEffortId"/> + </entity-and> + <!-- check if all open assignments were completed --> + <iterate entry-name="assignment" list-name="assignments"> + <if-compare field-name="assignment.statusId" value="PAS_COMPLETED" operator="not-equals"> + <set field="status" value="notcomplete"/> + </if-compare> + </iterate> + <if-empty field-name="status"> + <set field="inMap.workEffortId" from-field="parameters.workEffortId"/> + <set field="inMap.currentStatusId" value="PTS_COMPLETED"/> + <now-timestamp-to-env env-name="inMap.actualCompletionDate"/> + <call-service service-name="updateWorkEffort" in-map-name="inMap"/> + </if-empty> + </simple-method> <simple-method method-name="scheduleProject" short-description="Project Scheduler sets the planningdates according task requirements and available resources"> <!-- @@ -792,14 +809,23 @@ </if-not-empty> </simple-method> - <simple-method method-name="updateMyTaskAssigment" short-description="Update the workEffortPartyAssigment, if required create a new one by re-assigment"> + <simple-method method-name="updateMyTaskAssigment" + short-description="Update my workEffortPartyAssigment, if required create a new one by re-assigment"> <if-compare-field field-name="parameters.partyId" to-field-name="userLogin.partyId" operator="equals"> - <if-compare field-name="parameters.statusId" value="PAS_COMPLETED" operator="equals"> - <now-timestamp-to-env env-name="upd.thruDate"/> - </if-compare> - <set-service-fields service-name="updatePartyToWorkEffortAssignment" map-name="parameters" to-map-name="upd"/> - <set field="upd.roleTypeId" from-field="parameters.newRoleTypeId"/> - <call-service service-name="updatePartyToWorkEffortAssignment" in-map-name="upd"/> + <!-- check if roleType changed if yes delete old and create new assign--> + <if-compare-field field-name="parameters.roleTypeId" operator="not-equals" to-field-name="parameters.oldRoleTypeId"> + <set-service-fields service-name="deletePartyToWorkEffortAssignment" map-name="parameters" to-map-name="upd"/> + <set field="upd.roleTypeId" from-field="parameters.oldRoleTypeId"/> + <call-service service-name="deletePartyToWorkEffortAssignment" in-map-name="upd"/> + <set-service-fields service-name="assignPartyToWorkEffort" map-name="parameters" to-map-name="upd"/> + <clear-field field-name="upd.fromDate"/> + <call-service service-name="assignPartyToWorkEffort" in-map-name="upd"/> + <else> + <!-- simply update status --> + <set-service-fields service-name="updatePartyToWorkEffortAssignment" map-name="parameters" to-map-name="upd"/> + <call-service service-name="updatePartyToWorkEffortAssignment" in-map-name="upd"/> + </else> + </if-compare-field> <else> <!-- reassignment to other person --> <!-- check if new person is part of the project --> Modified: ofbiz/trunk/specialpurpose/projectmgr/servicedef/secas.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/servicedef/secas.xml?rev=606697&r1=606696&r2=606697&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/projectmgr/servicedef/secas.xml (original) +++ ofbiz/trunk/specialpurpose/projectmgr/servicedef/secas.xml Mon Dec 24 04:48:07 2007 @@ -20,5 +20,11 @@ <service-eca xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/service-eca.xsd"> - + + <!-- update task status, actual completion date when all assignments complete --> + <eca service="updatePartyToWorkEffortAssignment" event="commit"> + <condition field-name="statusId" operator="equals" value="PAS_COMPLETED"/> + <action service="updateTaskStatus" mode="sync"/> + </eca> + </service-eca> Modified: ofbiz/trunk/specialpurpose/projectmgr/servicedef/services.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/servicedef/services.xml?rev=606697&r1=606696&r2=606697&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/projectmgr/servicedef/services.xml (original) +++ ofbiz/trunk/specialpurpose/projectmgr/servicedef/services.xml Mon Dec 24 04:48:07 2007 @@ -22,6 +22,12 @@ xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/services.xsd"> <description>Project Manager service definitions.</description> + <service name="updateTaskStatus" engine="simple" + location="org/ofbiz/project/ProjectServices.xml" invoke="updateTaskStatus"> + <description>Update task status if required</description> + <attribute name="workEffortId" type="String" mode="IN"/> + </service> + <service name="updateTimeEntryByWorkeffort" engine="simple" location="org/ofbiz/project/ProjectServices.xml" invoke="updateTimeEntryByWorkeffort"> <description>Update workeffort by workeffort and timesheetId </description> @@ -135,7 +141,7 @@ <auto-attributes mode="IN" include="nonpk" optional="true"> <exclude field-name="statusDateTime"/> </auto-attributes> - <attribute name="newRoleTypeId" type="String" mode="IN"/> + <attribute name="oldRoleTypeId" type="String" mode="IN"/> </service> </services> Modified: ofbiz/trunk/specialpurpose/projectmgr/widget/TaskScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/widget/TaskScreens.xml?rev=606697&r1=606696&r2=606697&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/projectmgr/widget/TaskScreens.xml (original) +++ ofbiz/trunk/specialpurpose/projectmgr/widget/TaskScreens.xml Mon Dec 24 04:48:07 2007 @@ -91,10 +91,15 @@ <set field="titleProperty" value="PageTitleMyTask"/> <set field="headerItem" value="mytasks"/> <set field="labelTitleProperty" value="ProjectMgrMyTasks"/> - <entity-and entity-name="WorkEffortAndPartyAssign" list-name="tasks" filter-by-date="true"> - <field-map field-name="partyId" env-name="userLogin.partyId"/> - <field-map field-name="workEffortTypeId" value="TASK"/> - </entity-and> + <entity-and entity-name="WorkEffortAndPartyAssign" list-name="tasks" filter-by-date="true"> + <field-map field-name="partyId" env-name="userLogin.partyId"/> + <field-map field-name="workEffortTypeId" value="TASK"/> + <field-map field-name="statusId" value="PAS_ASSIGNED"/> + </entity-and> + <entity-and entity-name="WorkEffortAndPartyAssign" list-name="projects" filter-by-date="true"> + <field-map field-name="partyId" env-name="userLogin.partyId"/> + <field-map field-name="workEffortTypeId" value="PROJECT"/> + </entity-and> <entity-one entity-name="WorkEffort" value-name="task"> <field-map field-name="workEffortId" value="dummy"/> </entity-one> @@ -104,15 +109,30 @@ <decorator-screen name="CommonMyTaskDecorator" location="${parameters.mainDecoratorLocation}"> <decorator-section name="body"> <section> - <widgets> - <container style="screenlet"> - <container style="screenlet-title-bar"><label style="boxhead">${uiLabelMap.PageTitleTaskAssignedToMe}</label></container> - <container style="screenlet-body"> - <include-form name="MyTasks" location="component://projectmgr/widget/forms/TaskForms.xml"/> - </container> - </container> + <widgets> + <container style="screenlet"> + <container style="screenlet-title-bar"><label style="boxhead">${uiLabelMap.PageTitleTaskAssignedToMe}</label></container> + <container style="screenlet-body"> + <section> + <condition> + <not><if-empty field-name="tasks"/></not> + </condition> + <widgets> + <include-form name="MyTasks" location="component://projectmgr/widget/forms/TaskForms.xml"/> + </widgets> + <fail-widgets> + <label style="head3" text="Currently no 'open' tasks are assigned to you.<br/> Add an existing or a new task to a project you are member of."></label> + </fail-widgets> + </section> + </container> + </container> + <!--container style="screenlet"> + <container style="screenlet-title-bar"><label style="boxhead">${uiLabelMap.PageTitleMemberOfProjects}</label></container> + <container style="screenlet-body"> + <include-form name="ListProjects" location="component://projectmgr/widget/forms/ProjectForms.xml"/> + </container> + </container--> <container style="lefthalf"> - <container style="screenlet"> <container style="screenlet-title-bar"><label style="boxhead">${uiLabelMap.ProjectMgrAssignATaskToMe}</label></container> <container style="screenlet-body"> Modified: ofbiz/trunk/specialpurpose/projectmgr/widget/forms/TaskForms.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/widget/forms/TaskForms.xml?rev=606697&r1=606696&r2=606697&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/projectmgr/widget/forms/TaskForms.xml (original) +++ ofbiz/trunk/specialpurpose/projectmgr/widget/forms/TaskForms.xml Mon Dec 24 04:48:07 2007 @@ -212,7 +212,8 @@ <field name="workEffortId" title="${uiLabelMap.ProjectMgrTaskName}" widget-style="buttontext"> <hyperlink also-hidden="false" description="${workEffortName} [${workEffortId}]" target="taskView?workEffortId=${workEffortId}"/> </field> - <field name="projectName"><display/></field> + <field name="projectName" title="${uiLabelMap.CommonStatus}"><display/></field> + <field name="currentStatusId" ><display-entity entity-name="StatusItem" key-field-name="statusId"/></field> <field name="priority"><display/></field> <field name="estimatedStartDate" title="${uiLabelMap.WorkEffortEstimatedStartDate}"><display type="date"/></field> <field name="estimatedCompletionDate" title="${uiLabelMap.WorkEffortEstimatedCompletionDate}" red-when="before-now"><display type="date"/></field> @@ -220,10 +221,10 @@ <field name="actualCompletionDate" title="${uiLabelMap.WorkEffortActualCompletionDate}" red-when="before-now"><display type="date"/></field> <field name="plannedHours"><display/></field> <field name="actualHours"><display/></field> - <field name="roleTypeId"><hidden/></field> - <field name="newRoleTypeId" title="${uiLabelMap.PartyRole}"> + <field name="oldRoleTypeId"><hidden value="${roleTypeId}"/></field> + <field name="roleTypeId" title="${uiLabelMap.PartyRole}"> <drop-down> - <entity-options entity-name="RoleType" description="${description}" key-field-name="roleTypeId"> + <entity-options entity-name="RoleType" description="${description}"> <entity-constraint name="parentTypeId" value="PROJECT_TEAM"/> <entity-order-by field-name="description"/> </entity-options> @@ -250,12 +251,13 @@ </form> <form name="AddMyTask" type="single" target="addMyTask"> <field name="partyId"><hidden value="${userLogin.partyId}"/></field> - <field name="statusId"><hidden value="PTS_CREATED"/></field> + <field name="statusId"><hidden value="PAS_ASSIGNED"/></field> <field name="workEffortId" title="${uiLabelMap.ProjectMgrTaskName}"> <drop-down> <entity-options entity-name="ProjectPartyAndPhaseAndTask" description="${workEffortName} (${phaseName}-${projectName})"> <entity-constraint name="partyId" env-name="userLogin.partyId"/> - <entity-constraint name="workEffortTypeId" value="TASK"/> + <entity-constraint name="workEffortTypeId" value="TASK"/> + <entity-constraint name="currentStatusId" operator="equals" value="PTS_CREATED"/> </entity-options> </drop-down> </field> |
Free forum by Nabble | Edit this page |