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 2007/12/28 04:37:27 UTC

svn commit: r607165 - in /ofbiz/trunk/specialpurpose/projectmgr: script/org/ofbiz/project/ProjectServices.xml widget/forms/TaskForms.xml

Author: hansbak
Date: Thu Dec 27 19:37:26 2007
New Revision: 607165

URL: http://svn.apache.org/viewvc?rev=607165&view=rev
Log:
add an 'if-not-empty' statement before a getRelated to avoid the warning message in the log. Removed field from form

Modified:
    ofbiz/trunk/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.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=607165&r1=607164&r2=607165&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml (original)
+++ ofbiz/trunk/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectServices.xml Thu Dec 27 19:37:26 2007
@@ -80,11 +80,13 @@
             <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-not-empty field-name="assignments">
+            <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-not-empty>
         <if-empty field-name="status">
             <set field="inMap.workEffortId" from-field="parameters.workEffortId"/>
             <set field="inMap.currentStatusId" value="PTS_COMPLETED"/>
@@ -123,30 +125,34 @@
         <entity-one entity-name="WorkEffort" value-name="project">
             <field-map field-name="workEffortId" env-name="parameters.projectId"/>
         </entity-one>
-        <get-related value-name="project" relation-name="ChildWorkEffort" list-name="phases" order-by-list-name="order"/>
-        <iterate entry-name="phase" list-name="phases">
-            <get-related value-name="phase" relation-name="ChildWorkEffort" list-name="tasks" order-by-list-name="order"/>
-            <iterate entry-name="task" list-name="tasks">
-                <get-related value-name="task" relation-name="ToWorkEffortAssoc" list-name="t.prevTasks"/>
-                <if-empty field-name="t.prevTasks">
-                    <!-- no predecessors so i can set the dates -->
-                    <now-timestamp-to-env env-name="upd.estimatedStartDate"/>
-                    <now-timestamp-to-env env-name="currentDate"/>
-                    <call-class-method class-name="org.ofbiz.project.Various" method-name="calculateCompletionDate" ret-field-name="upd.estimatedCompletionDate">
-                        <field field-name="task" type="org.ofbiz.entity.GenericValue"/>
-                        <field field-name="currentDate" type="java.sql.Timestamp"/>
-                    </call-class-method>
-                    <set field="upd.workEffortId" from-field="task.workEffortId"/>
-                    <call-service service-name="updateWorkEffort" in-map-name="upd"/>
-                    <entity-one entity-name="WorkEffort" value-name="newTask">
-                        <field-map field-name="workEffortId" env-name="task.workEffortId"/>
-                    </entity-one>
-                    <call-class-method class-name="org.ofbiz.project.Various" method-name="setDatesFollowingTasks">
-                        <field field-name="newTask" type="org.ofbiz.entity.GenericValue"/>
-                    </call-class-method>
-                </if-empty>
-            </iterate>
-        </iterate>       
+        <get-related value-name="project" relation-name="ChildWorkEffort" list-name="phases"/>
+        <if-not-empty field-name="phases">
+            <iterate entry-name="phase" list-name="phases">
+                <get-related value-name="phase" relation-name="ChildWorkEffort" list-name="tasks"/>
+                <if-not-empty field-name="tasks">
+                    <iterate entry-name="task" list-name="tasks">
+                        <get-related value-name="task" relation-name="ToWorkEffortAssoc" list-name="t.prevTasks"/>
+                        <if-empty field-name="t.prevTasks">
+                            <!-- no predecessors so i can set the dates -->
+                            <now-timestamp-to-env env-name="upd.estimatedStartDate"/>
+                            <now-timestamp-to-env env-name="currentDate"/>
+                            <call-class-method class-name="org.ofbiz.project.Various" method-name="calculateCompletionDate" ret-field-name="upd.estimatedCompletionDate">
+                                <field field-name="task" type="org.ofbiz.entity.GenericValue"/>
+                                <field field-name="currentDate" type="java.sql.Timestamp"/>
+                            </call-class-method>
+                            <set field="upd.workEffortId" from-field="task.workEffortId"/>
+                            <call-service service-name="updateWorkEffort" in-map-name="upd"/>
+                            <entity-one entity-name="WorkEffort" value-name="newTask">
+                                <field-map field-name="workEffortId" env-name="task.workEffortId"/>
+                            </entity-one>
+                            <call-class-method class-name="org.ofbiz.project.Various" method-name="setDatesFollowingTasks">
+                                <field field-name="newTask" type="org.ofbiz.entity.GenericValue"/>
+                            </call-class-method>
+                        </if-empty>
+                    </iterate>
+                </if-not-empty>
+            </iterate>       
+        </if-not-empty>
     </simple-method>        
     
     <simple-method method-name="updateTimeEntryByWorkeffort" short-description="Update workeffort by workeffort and timesheetId ">
@@ -320,13 +326,15 @@
         
         <!-- copy assigned parties -->
         <get-related value-name="project" relation-name="WorkEffortPartyAssignment" list-name="parties"/>
-        <iterate entry-name="party" list-name="parties">
-            <set field="pa.workEffortId" from-field="newProjectId"/>            
-            <set field="pa.partyId" from-field="party.partyId"/>
-            <set field="pa.roleTypeId" from-field="party.roleTypeId"/>
-            <set field="pa.statusId" value="PAS_ASSIGNED"/>            
-            <call-service service-name="assignPartyToWorkEffort" in-map-name="pa"/>
-        </iterate>
+        <if-not-empty field-name="parties">
+            <iterate entry-name="party" list-name="parties">
+                <set field="pa.workEffortId" from-field="newProjectId"/>            
+                <set field="pa.partyId" from-field="party.partyId"/>
+                <set field="pa.roleTypeId" from-field="party.roleTypeId"/>
+                <set field="pa.statusId" value="PAS_ASSIGNED"/>            
+                <call-service service-name="assignPartyToWorkEffort" in-map-name="pa"/>
+            </iterate>
+        </if-not-empty>
         
         <get-related value-name="project" relation-name="ChildWorkEffort" list-name="phases"/>
         <if-not-empty field-name="phases">
@@ -386,18 +394,22 @@
         <set field="highInfo.parentProjectId" from-field="parentProject.workEffortId"/> 
         <!-- loop through the related phases and tasks -->
         <get-related value-name="project" relation-name="ChildWorkEffort" list-name="phases"/>
-        <iterate entry-name="phase" list-name="phases">
-            <get-related value-name="phase" relation-name="ChildWorkEffort" list-name="tasks"/>
-            <iterate entry-name="lowInfo" list-name="tasks">
-                <if-compare field-name="lowInfo.currentStatusId" value="PTS_COMPLETED" operator="not-equals">
-                    <if-compare field-name="lowInfo.currentStatusId" value="PTS_CANCELLED" operator="not-equals">
-                        <set field="allTaskStatus" value="notComplete"/>
-                    </if-compare>
-                </if-compare>
-                <call-simple-method method-name="combineInfo"/>
-                <call-simple-method method-name="getHours"/>
+        <if-not-empty field-name="phases">
+            <iterate entry-name="phase" list-name="phases">
+                <get-related value-name="phase" relation-name="ChildWorkEffort" list-name="tasks"/>
+                <if-not-empty field-name="tasks">
+                    <iterate entry-name="lowInfo" list-name="tasks">
+                        <if-compare field-name="lowInfo.currentStatusId" value="PTS_COMPLETED" operator="not-equals">
+                            <if-compare field-name="lowInfo.currentStatusId" value="PTS_CANCELLED" operator="not-equals">
+                                <set field="allTaskStatus" value="notComplete"/>
+                            </if-compare>
+                        </if-compare>
+                        <call-simple-method method-name="combineInfo"/>
+                        <call-simple-method method-name="getHours"/>
+                    </iterate>
+                </if-not-empty>
             </iterate>
-        </iterate>
+        </if-not-empty>
         
         <!-- translate squenceId back into statusId -->
         <entity-and entity-name="StatusItem" list-name="statusses">
@@ -439,7 +451,7 @@
             <field-map field-name="workEffortParentId" env-name="parameters.projectId"/>
             <field-map field-name="workEffortTypeId" value="PHASE"/>
         </entity-and>        
-        
+        <if-not-empty field-name="phases">
         <iterate entry-name="phase" list-name="phases">
             <!-- get the phase seq id -->
             <entity-one entity-name="StatusItem" value-name="highSeq">
@@ -454,14 +466,16 @@
             
             <!-- loop through the related tasks and combine information -->
             <get-related value-name="phase" relation-name="ChildWorkEffort" list-name="tasks"/>
-            <iterate entry-name="lowInfo" list-name="tasks">
-                <if-compare field-name="lowInfo.currentStatusId" value="PTS_COMPLETED" operator="not-equals">
-                    <if-compare field-name="lowInfo.currentStatusId" value="PTS_CANCELLED" operator="not-equals">
-                        <set field="allTaskStatus" value="notComplete"/>
+            <if-not-empty field-name="tasks">
+                <iterate entry-name="lowInfo" list-name="tasks">
+                    <if-compare field-name="lowInfo.currentStatusId" value="PTS_COMPLETED" operator="not-equals">
+                        <if-compare field-name="lowInfo.currentStatusId" value="PTS_CANCELLED" operator="not-equals">
+                            <set field="allTaskStatus" value="notComplete"/>
+                        </if-compare>
                     </if-compare>
-                </if-compare>
-                <call-simple-method method-name="combineInfo"/>
-            </iterate>
+                    <call-simple-method method-name="combineInfo"/>
+                </iterate>
+            </if-not-empty>
             
             <!-- merge estimated and actual dates -->
             <call-simple-method method-name="createDates"/>
@@ -495,6 +509,7 @@
             
             <field-to-list field-name="highInfo" list-name="phaseList"/>
         </iterate>
+        </if-not-empty>
         
         <!-- results -->
         <field-to-result field-name="phaseList"/>
@@ -508,29 +523,29 @@
         <entity-and entity-name="ProjectAndPhaseAndTask" list-name="tasks">
             <field-map field-name="projectId" env-name="parameters.projectId"/>
         </entity-and>        
-        
-        <iterate entry-name="lowInfo" list-name="tasks">
-            <if-empty field-name="savePhaseName">
-                <set field="savePhaseName" from-field="lowInfo.phaseName"/>
-                <set field="highInfo.phaseName" from-field="lowInfo.phaseName"/>
-                <else>
-                    <if-compare-field field-name="lowInfo.phaseName" operator="not-equals" to-field-name="savePhaseName">
-                        <set field="highInfo.phaseName" from-field="lowInfo.phaseName"/>
-                        <set field="savePhaseName" from-field="lowInfo.phaseName"/>
-                    </if-compare-field>
-                </else>
-            </if-empty>
-            <call-simple-method method-name="combineInfo"/>
-            <clear-field field-name="highInfo.sequenceId"/>
-            <set field="highInfo.currentStatusId" from-field="lowInfo.currentStatusId"/>
-            <call-simple-method method-name="createDates"/>
-            <call-simple-method method-name="getHours"/>
-            <set field="highInfo.workEffortId" from-field="lowInfo.workEffortId"/>
-            <set field="highInfo.workEffortName" from-field="lowInfo.workEffortName"/>
-            <field-to-list field-name="highInfo" list-name="taskList"/>
-            <clear-field field-name="highInfo"/>
-        </iterate>
-        
+        <if-not-empty field-name="tasks">
+            <iterate entry-name="lowInfo" list-name="tasks">
+                <if-empty field-name="savePhaseName">
+                    <set field="savePhaseName" from-field="lowInfo.phaseName"/>
+                    <set field="highInfo.phaseName" from-field="lowInfo.phaseName"/>
+                    <else>
+                        <if-compare-field field-name="lowInfo.phaseName" operator="not-equals" to-field-name="savePhaseName">
+                            <set field="highInfo.phaseName" from-field="lowInfo.phaseName"/>
+                            <set field="savePhaseName" from-field="lowInfo.phaseName"/>
+                        </if-compare-field>
+                    </else>
+                </if-empty>
+                <call-simple-method method-name="combineInfo"/>
+                <clear-field field-name="highInfo.sequenceId"/>
+                <set field="highInfo.currentStatusId" from-field="lowInfo.currentStatusId"/>
+                <call-simple-method method-name="createDates"/>
+                <call-simple-method method-name="getHours"/>
+                <set field="highInfo.workEffortId" from-field="lowInfo.workEffortId"/>
+                <set field="highInfo.workEffortName" from-field="lowInfo.workEffortName"/>
+                <field-to-list field-name="highInfo" list-name="taskList"/>
+                <clear-field field-name="highInfo"/>
+            </iterate>
+        </if-not-empty>
         <!-- results -->
         <field-to-result field-name="taskList"/>
         <field-to-result field-name="parameters.projectId" result-name="projectId"/>        
@@ -777,58 +792,62 @@
         <!-- hoursPartyId: if provided only the hours of that party -->
         <!-- add the planned hours together -->
         <get-related value-name="lowInfo" relation-name="WorkEffortSkillStandard" list-name="estimates"/>
-        <iterate entry-name="estimate" list-name="estimates">
-            <if-not-empty field-name="estimate.estimatedDuration">
-                <if-not-empty field-name="highInfo.plannedHours">
-                    <calculate field-name="highInfo.plannedHours">
-                        <calcop operator="get" field-name="highInfo.plannedHours"></calcop>
-                        <calcop operator="add" field-name="estimate.estimatedDuration"/>
-                    </calculate>
-                    <else>
-                        <set field="highInfo.plannedHours" from-field="estimate.estimatedDuration"/>
-                    </else>
+        <if-not-empty field-name="estimates">
+            <iterate entry-name="estimate" list-name="estimates">
+                <if-not-empty field-name="estimate.estimatedDuration">
+                    <if-not-empty field-name="highInfo.plannedHours">
+                        <calculate field-name="highInfo.plannedHours">
+                            <calcop operator="get" field-name="highInfo.plannedHours"></calcop>
+                            <calcop operator="add" field-name="estimate.estimatedDuration"/>
+                        </calculate>
+                        <else>
+                            <set field="highInfo.plannedHours" from-field="estimate.estimatedDuration"/>
+                        </else>
+                    </if-not-empty>
                 </if-not-empty>
-            </if-not-empty>
-        </iterate>
+            </iterate>
+        </if-not-empty>
         <!-- get the actual hours -->
         <get-related value-name="lowInfo" relation-name="TimeEntry" list-name="actuals"/>
-        <iterate entry-name="actual" list-name="actuals">
-            <if-not-empty field-name="actual.hours">
-                <get-related-one value-name="actual" relation-name="Timesheet" to-value-name="timesheet"/>
-                <if>
-                    <condition>
-                        <or>
-                            <if-empty field-name="parameters.hoursPartyId"/>
-                            <and>
-                                <not><if-empty field-name="parameters.hoursPartyId"/></not>
-                                <if-compare-field field-name="timesheet.partyId" operator="equals" to-field-name="parameters.hoursPartyId"/>
-                            </and>
-                        </or>
-                    </condition>
-                    <then>
-                        <if-not-empty field-name="highInfo.actualHours">
-                            <calculate field-name="highInfo.actualHours">
-                                <calcop operator="get" field-name="highInfo.actualHours"/>
-                                <calcop operator="add" field-name="actual.hours"></calcop>
-                            </calculate>
-                            <else>
-                                <set field="highInfo.actualHours" from-field="actual.hours"/>
-                            </else>                            
-                        </if-not-empty>
-                    </then>
-                </if>
-                <!-- keep also a general total for the actual hours of all participants -->
-                <if-not-empty field-name="highInfo.actualTotalHours">
-                    <calculate field-name="highInfo.actualTotalHours">
-                        <calcop operator="get" field-name="highInfo.actualTotalHours"/>
-                        <calcop operator="add" field-name="actual.hours"></calcop>
-                    </calculate>
-                    <else>
-                        <set field="highInfo.actualTotalHours" from-field="actual.hours"/>
-                    </else>                            
+        <if-not-empty field-name="actuals">
+            <iterate entry-name="actual" list-name="actuals">
+                <if-not-empty field-name="actual.hours">
+                    <get-related-one value-name="actual" relation-name="Timesheet" to-value-name="timesheet"/>
+                    <if>
+                        <condition>
+                            <or>
+                                <if-empty field-name="parameters.hoursPartyId"/>
+                                <and>
+                                    <not><if-empty field-name="parameters.hoursPartyId"/></not>
+                                    <if-compare-field field-name="timesheet.partyId" operator="equals" to-field-name="parameters.hoursPartyId"/>
+                                </and>
+                            </or>
+                        </condition>
+                        <then>
+                            <if-not-empty field-name="highInfo.actualHours">
+                                <calculate field-name="highInfo.actualHours">
+                                    <calcop operator="get" field-name="highInfo.actualHours"/>
+                                    <calcop operator="add" field-name="actual.hours"></calcop>
+                                </calculate>
+                                <else>
+                                    <set field="highInfo.actualHours" from-field="actual.hours"/>
+                                </else>                            
+                            </if-not-empty>
+                        </then>
+                    </if>
+                    <!-- keep also a general total for the actual hours of all participants -->
+                    <if-not-empty field-name="highInfo.actualTotalHours">
+                        <calculate field-name="highInfo.actualTotalHours">
+                            <calcop operator="get" field-name="highInfo.actualTotalHours"/>
+                            <calcop operator="add" field-name="actual.hours"></calcop>
+                        </calculate>
+                        <else>
+                            <set field="highInfo.actualTotalHours" from-field="actual.hours"/>
+                        </else>                            
+                    </if-not-empty>
                 </if-not-empty>
-            </if-not-empty>
-        </iterate>
+            </iterate>
+        </if-not-empty>
     </simple-method>
     
     <simple-method method-name="createDates" short-description="merge the estimated and actual dates">

Modified: ofbiz/trunk/specialpurpose/projectmgr/widget/forms/TaskForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/widget/forms/TaskForms.xml?rev=607165&r1=607164&r2=607165&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/projectmgr/widget/forms/TaskForms.xml (original)
+++ ofbiz/trunk/specialpurpose/projectmgr/widget/forms/TaskForms.xml Thu Dec 27 19:37:26 2007
@@ -440,7 +440,6 @@
         <field name="statusId" title="${uiLabelMap.CommonStatus}"><display-entity entity-name="StatusItem" description="${description}"/></field>        
         <field name="fromDate" title="${uiLabelMap.CommonFromDate}"><display type="date"/></field>
         <field name="thruDate" title="${uiLabelMap.CommonThruDate}"><display type="date"/></field>
-        <field name="plannedHours"><display/></field>
         <field name="actualHours"><display/></field> 
     </form>  
     <form name="ListWorkEffortRequests" type="list">