svn commit: r666189 - in /ofbiz/trunk: applications/workeffort/widget/ specialpurpose/assetmaint/ specialpurpose/assetmaint/config/ specialpurpose/assetmaint/data/ specialpurpose/assetmaint/webapp/assetmaint/WEB-INF/ specialpurpose/assetmaint/webapp/as...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r666189 - in /ofbiz/trunk: applications/workeffort/widget/ specialpurpose/assetmaint/ specialpurpose/assetmaint/config/ specialpurpose/assetmaint/data/ specialpurpose/assetmaint/webapp/assetmaint/WEB-INF/ specialpurpose/assetmaint/webapp/as...

adrianc
Author: adrianc
Date: Tue Jun 10 09:41:04 2008
New Revision: 666189

URL: http://svn.apache.org/viewvc?rev=666189&view=rev
Log:
Asset Maintenance functional change. Maintenance tasks were assigned to the currently logged-in user and there was no way to assign them to other parties. This commit adds that capability, plus it adds asset maintenance specific party roles. The Edit Task screen is much improved.

Internationalization note: this commit contains a new UI label.

Added:
    ofbiz/trunk/specialpurpose/assetmaint/data/AssetMaintSeedData.xml   (with props)
Modified:
    ofbiz/trunk/applications/workeffort/widget/WorkEffortPartyAssignForms.xml
    ofbiz/trunk/specialpurpose/assetmaint/config/AssetMaintUiLabels.xml
    ofbiz/trunk/specialpurpose/assetmaint/ofbiz-component.xml
    ofbiz/trunk/specialpurpose/assetmaint/webapp/assetmaint/WEB-INF/actions/workeffort/EditWorkEfforts.bsh
    ofbiz/trunk/specialpurpose/assetmaint/webapp/assetmaint/WEB-INF/controller.xml
    ofbiz/trunk/specialpurpose/assetmaint/widget/AssetmaintScreens.xml
    ofbiz/trunk/specialpurpose/assetmaint/widget/forms/WorkEffortForms.xml

Modified: ofbiz/trunk/applications/workeffort/widget/WorkEffortPartyAssignForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/widget/WorkEffortPartyAssignForms.xml?rev=666189&r1=666188&r2=666189&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/widget/WorkEffortPartyAssignForms.xml (original)
+++ ofbiz/trunk/applications/workeffort/widget/WorkEffortPartyAssignForms.xml Tue Jun 10 09:41:04 2008
@@ -34,10 +34,9 @@
                 <sub-hyperlink target="/partymgr/control/viewprofile?partyId=${partyId}" target-type="inter-app" description="${partyId}" link-style="buttontext"/>
             </display-entity>
         </field>
-        <field name="fromDate"><display/></field>
         <field name="roleTypeId" title="${uiLabelMap.PartyRoleType}"><display-entity entity-name="RoleType"/></field>
         <field name="statusDateTime"><display/></field>
-        
+        <field name="fromDate"><display/></field>
         <field name="thruDate"><date-time/></field>
         <field name="statusId">
             <drop-down no-current-selected-key="PARTYASSIGN_UNASSIGNED">
@@ -73,7 +72,6 @@
             </drop-down>
         </field>
         <field name="fromDate"><date-time/></field>
-
         <field name="thruDate"><date-time/></field>
         <field name="statusId">
             <drop-down no-current-selected-key="PRTYASGN_ASSIGNED">
@@ -96,4 +94,4 @@
         <field name="comments"><text size="60" maxlength="255"/></field>
         <field name="submitButton" title="${uiLabelMap.CommonAdd}" widget-style="smallSubmit"><submit button-type="button"/></field>
     </form>
-</forms>
\ No newline at end of file
+</forms>

Modified: ofbiz/trunk/specialpurpose/assetmaint/config/AssetMaintUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/assetmaint/config/AssetMaintUiLabels.xml?rev=666189&r1=666188&r2=666189&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/assetmaint/config/AssetMaintUiLabels.xml (original)
+++ ofbiz/trunk/specialpurpose/assetmaint/config/AssetMaintUiLabels.xml Tue Jun 10 09:41:04 2008
@@ -163,9 +163,8 @@
         <value xml:lang="it">"Livello Inventario Disponibile per ${productId} è ${quantity}"</value>
         <value xml:lang="th">รดับสินค้าคงเหลือของ ${productId} คือ ${quantity}</value>
     </property>
-    <property key="AssetMaintMaintenanceCalendar">
-        <value xml:lang="en">Maintenance Calendar</value>
-        <value xml:lang="th">ซ่อมบำรุงปฏิทิน</value>
+    <property key="AssetMaintParentWorkEffort">
+        <value xml:lang="en">Parent Work Effort</value>
     </property>
     <property key="AssetMaintViewPermissionError">
         <value xml:lang="en">View Permission Error</value>
@@ -266,29 +265,4 @@
         <value xml:lang="it">Funzione</value>
         <value xml:lang="th">วัตถุประสงค์</value>
     </property>
-    <property key="de">
-        <value xml:lang="en">German</value>
-        <value xml:lang="it">Tedesco</value>
-        <value xml:lang="th">เยอรมัน</value>
-    </property>
-    <property key="en">
-        <value xml:lang="en">English</value>
-        <value xml:lang="it">Inglese</value>
-        <value xml:lang="th">อังกฤษ</value>
-    </property>
-    <property key="fr">
-        <value xml:lang="en">French</value>
-        <value xml:lang="it">Francese</value>
-        <value xml:lang="th">ฝรั่งเศส</value>
-    </property>
-    <property key="it">
-        <value xml:lang="en">Italian</value>
-        <value xml:lang="it">Italiano</value>
-        <value xml:lang="th">อิตาลี</value>
-    </property>
-    <property key="nl">
-        <value xml:lang="en">Dutch</value>
-        <value xml:lang="it">Olandese</value>
-        <value xml:lang="th">เนเธอแลนด์</value>
-    </property>
 </resource>

Added: ofbiz/trunk/specialpurpose/assetmaint/data/AssetMaintSeedData.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/assetmaint/data/AssetMaintSeedData.xml?rev=666189&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/assetmaint/data/AssetMaintSeedData.xml (added)
+++ ofbiz/trunk/specialpurpose/assetmaint/data/AssetMaintSeedData.xml Tue Jun 10 09:41:04 2008
@@ -0,0 +1,26 @@
+<?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.
+-->
+<entity-engine-xml>
+    <!-- Asset Maintenance seed data -->
+    <RoleType description="Fixed Asset Maint Assignee" hasTable="N" roleTypeId="FAM_ASSIGNEE"/>
+    <RoleType description="Outside Supplier/Service (Asset Maint)" hasTable="N" parentTypeId="FAM_ASSIGNEE" roleTypeId="FAM_SUPPLIER"/>
+    <RoleType description="Manager or Supervisor (Asset Maint)" hasTable="N" parentTypeId="FAM_ASSIGNEE" roleTypeId="FAM_MANAGER"/>
+    <RoleType description="Worker (Asset Maint)" hasTable="N" parentTypeId="FAM_ASSIGNEE" roleTypeId="FAM_WORKER"/>
+</entity-engine-xml>

Propchange: ofbiz/trunk/specialpurpose/assetmaint/data/AssetMaintSeedData.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: ofbiz/trunk/specialpurpose/assetmaint/ofbiz-component.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/assetmaint/ofbiz-component.xml?rev=666189&r1=666188&r2=666189&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/assetmaint/ofbiz-component.xml (original)
+++ ofbiz/trunk/specialpurpose/assetmaint/ofbiz-component.xml Tue Jun 10 09:41:04 2008
@@ -35,6 +35,7 @@
     <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel.xml"/>
     <entity-resource type="group" reader-name="main" loader="main" location="entitydef/entitygroup.xml"/>  
     <entity-resource type="data" reader-name="seed" loader="main" location="data/AssetMaintSecurityData.xml"/>
+    <entity-resource type="data" reader-name="seed" loader="main" location="data/AssetMaintSeedData.xml"/>
 
     <!-- service resources: model(s), eca(s) and group definitions -->
     <service-resource type="model" loader="main" location="servicedef/services.xml"/>

Modified: ofbiz/trunk/specialpurpose/assetmaint/webapp/assetmaint/WEB-INF/actions/workeffort/EditWorkEfforts.bsh
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/assetmaint/webapp/assetmaint/WEB-INF/actions/workeffort/EditWorkEfforts.bsh?rev=666189&r1=666188&r2=666189&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/assetmaint/webapp/assetmaint/WEB-INF/actions/workeffort/EditWorkEfforts.bsh (original)
+++ ofbiz/trunk/specialpurpose/assetmaint/webapp/assetmaint/WEB-INF/actions/workeffort/EditWorkEfforts.bsh Tue Jun 10 09:41:04 2008
@@ -50,16 +50,27 @@
 fixedAssetMaint = null;
 workEffort = null;
 fixedAsset = null;
+lookupWorkEffortId = null;
 
 if (workEffortId != null) {
     workEffort = delegator.findByPrimaryKey("WorkEffort", UtilMisc.toMap("workEffortId", workEffortId));
     if (workEffort != null) {
         fixedAssetId = workEffort.get("fixedAssetId");
+        // If this is a child workeffort, locate the "root" workeffort
+        parentWorkEffort = EntityUtil.getFirst(delegator.findByAnd("WorkEffortAssoc", UtilMisc.toMap("workEffortIdTo", workEffortId)));
+        while (parentWorkEffort != null) {
+            lookupWorkEffortId = parentWorkEffort.get("workEffortIdFrom");
+            parentWorkEffort = EntityUtil.getFirst(delegator.findByAnd("WorkEffortAssoc", UtilMisc.toMap("workEffortIdTo", lookupWorkEffortId)));
+        }
     }
 }
 
-if (workEffortId != null && fixedAssetId != null) {
-    fixedAssetMaint = EntityUtil.getFirst(delegator.findByAnd("FixedAssetMaint", UtilMisc.toMap("fixedAssetId", fixedAssetId , "scheduleWorkEffortId", workEffortId)));
+if (lookupWorkEffortId == null) {
+    lookupWorkEffortId = workEffortId;
+}
+
+if (lookupWorkEffortId != null && fixedAssetId != null) {
+    fixedAssetMaint = EntityUtil.getFirst(delegator.findByAnd("FixedAssetMaint", UtilMisc.toMap("fixedAssetId", fixedAssetId , "scheduleWorkEffortId", lookupWorkEffortId)));
     if (fixedAssetMaint != null) {
         maintHistSeqId = fixedAssetMaint.get("maintHistSeqId");
     }
@@ -75,4 +86,3 @@
 context.put("maintHistSeqId", maintHistSeqId);      
 context.put("fixedAssetId", fixedAssetId);      
 context.put("workEffortId", workEffortId);
-context.put("workEffortIdFrom", workEffortId);

Modified: ofbiz/trunk/specialpurpose/assetmaint/webapp/assetmaint/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/assetmaint/webapp/assetmaint/WEB-INF/controller.xml?rev=666189&r1=666188&r2=666189&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/assetmaint/webapp/assetmaint/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/specialpurpose/assetmaint/webapp/assetmaint/WEB-INF/controller.xml Tue Jun 10 09:41:04 2008
@@ -77,15 +77,15 @@
         <response name="success" type="view" value="EditWorkEfforts"/>
         <response name="error" type="view" value="EditWorkEfforts"/>
     </request-map>
-    <request-map uri="updateWorkEffort">
+    <request-map uri="createWorkEffort">
         <security https="true" auth="true"/>
-        <event type="service" invoke="updateWorkEffort"/>
+        <event type="service" invoke="createWorkEffort"/>
         <response name="success" type="view" value="EditWorkEfforts"/>
         <response name="error" type="view" value="EditWorkEfforts"/>
     </request-map>
-    <request-map uri="createWorkEffort">
+    <request-map uri="createWorkEffortPartyAssign">
         <security https="true" auth="true"/>
-        <event type="service" invoke="createWorkEffort"/>
+        <event type="service" invoke="assignPartyToWorkEffort"/>
         <response name="success" type="view" value="EditWorkEfforts"/>
         <response name="error" type="view" value="EditWorkEfforts"/>
     </request-map>
@@ -95,6 +95,12 @@
         <response name="success" type="view" value="EditWorkEfforts"/>
         <response name="error" type="view" value="EditWorkEfforts"/>
     </request-map>
+    <request-map uri="updateWorkEffortPartyAssign">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="updatePartyToWorkEffortAssignment"/>
+        <response name="success" type="view" value="EditWorkEfforts"/>
+        <response name="error" type="view" value="EditWorkEfforts"/>
+    </request-map>
 
     <!-- TimeEntries on a Maintenance request mappings -->
     <request-map uri="EditWorkEffortTimeEntries">

Modified: ofbiz/trunk/specialpurpose/assetmaint/widget/AssetmaintScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/assetmaint/widget/AssetmaintScreens.xml?rev=666189&r1=666188&r2=666189&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/assetmaint/widget/AssetmaintScreens.xml (original)
+++ ofbiz/trunk/specialpurpose/assetmaint/widget/AssetmaintScreens.xml Tue Jun 10 09:41:04 2008
@@ -139,13 +139,23 @@
             <actions>
                 <set field="titleProperty" value="PageTitleEditWorkEffort"/>
                 <set field="tabButtonItemFixedAssetMaint" value="EditWorkEfforts"/>
-                <script location="component://assetmaint/webapp/assetmaint/WEB-INF/actions/workeffort/EditWorkEfforts.bsh"/>                
+                <script location="component://assetmaint/webapp/assetmaint/WEB-INF/actions/workeffort/EditWorkEfforts.bsh"/>
             </actions>
             <widgets>
                 <decorator-screen name="CommonFixedAssetMaintDecorator">
                     <decorator-section name="body">
                         <section>
                             <condition>
+                                <not><if-empty field-name="parameters.workEffortIdFrom"/></not>
+                            </condition>
+                            <widgets>
+                                <container style="button-bar">
+                                    <link target="EditWorkEfforts?workEffortId=${parameters.workEffortIdFrom}" text="${uiLabelMap.AssetMaintParentWorkEffort}" style="buttontext"/>
+                                </container>
+                            </widgets>
+                        </section>
+                        <section>
+                            <condition>
                                 <if-empty field-name="workEffort"/>
                             </condition>
                             <widgets>
@@ -153,10 +163,44 @@
                             </widgets>
                             <fail-widgets>
                                 <include-form name="EditWorkEffort" location="component://assetmaint/widget/forms/WorkEffortForms.xml"/>
-                                <screenlet id="add-workeffort-task" title="${uiLabelMap.WorkEffortAddTask}" collapsible="true">
-                                    <include-form name="AddWorkEffortChild" location="component://assetmaint/widget/forms/WorkEffortForms.xml"/>
-                                </screenlet>
-                                <include-form name="WorkEffortChildren" location="component://assetmaint/widget/forms/WorkEffortForms.xml"/>
+                                <container style="h2">
+                                    <label text="${uiLabelMap.PageTitleListWorkEffortPartyAssigns}"/>
+                                </container>
+                                <section>
+                                    <condition>
+                                        <if-compare field-name="parameters.mode" operator="equals" value="addAssignment"/>
+                                    </condition>
+                                    <widgets>
+                                        <screenlet id="add-party-assignment" title="${uiLabelMap.PageTitleAddWorkEffortPartyAssign}" collapsible="true">
+                                            <include-form name="EditWorkEffortPartyAssign" location="component://assetmaint/widget/forms/WorkEffortForms.xml"/>
+                                        </screenlet>
+                                    </widgets>
+                                    <fail-widgets>
+                                        <container style="button-bar">
+                                            <link target="EditWorkEfforts?workEffortId=${workEffortId}&amp;mode=addAssignment" text="${uiLabelMap.CommonNew}" style="buttontext"/>
+                                        </container>
+                                    </fail-widgets>
+                                </section>
+                                <include-form name="ListWorkEffortPartyAssigns" location="component://assetmaint/widget/forms/WorkEffortForms.xml"/>
+                                <container style="h2">
+                                    <label text="${uiLabelMap.PageTitleTreeWorkEfforts}"/>
+                                </container>
+                                <section>
+                                    <condition>
+                                        <if-compare field-name="parameters.mode" operator="equals" value="addChildTask"/>
+                                    </condition>
+                                    <widgets>
+                                        <screenlet id="add-workeffort-task" title="${uiLabelMap.WorkEffortAddTask}" collapsible="true">
+                                            <include-form name="AddWorkEffortChild" location="component://assetmaint/widget/forms/WorkEffortForms.xml"/>
+                                        </screenlet>
+                                    </widgets>
+                                    <fail-widgets>
+                                        <container style="button-bar">
+                                            <link target="EditWorkEfforts?workEffortId=${workEffortId}&amp;mode=addChildTask" text="${uiLabelMap.CommonNew}" style="buttontext"/>
+                                        </container>
+                                    </fail-widgets>
+                                </section>
+                                 <include-form name="ListWorkEffortChildren" location="component://assetmaint/widget/forms/WorkEffortForms.xml"/>
                             </fail-widgets>
                         </section>
                     </decorator-section>

Modified: ofbiz/trunk/specialpurpose/assetmaint/widget/forms/WorkEffortForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/assetmaint/widget/forms/WorkEffortForms.xml?rev=666189&r1=666188&r2=666189&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/assetmaint/widget/forms/WorkEffortForms.xml (original)
+++ ofbiz/trunk/specialpurpose/assetmaint/widget/forms/WorkEffortForms.xml Tue Jun 10 09:41:04 2008
@@ -23,11 +23,24 @@
 
     <form name="EditWorkEffort" target="updateWorkEffort" title="" type="single" default-map-name="workEffort"
         header-row-style="header-row" default-table-style="basic-table">
+        <actions>
+            <entity-one entity-name="WorkEffortAssoc" value-name="workEffortAssoc"/>
+            <set field="workEffortIdFrom" from-field="parameters.workEffortIdFrom"/>
+        </actions>
         <alt-target target="createWorkEffort" use-when="workEffort==null"/>
+        <alt-target target="updateWorkEffortAndAssoc" use-when="workEffortIdFrom!=null"/>
         <field name="maintHistSeqId" map-name="fixedAssetMaint"><hidden/></field>
         <field map-name="workEffort" name="workEffortId" title="${uiLabelMap.WorkEffortWorkEffortId}*"><display/></field>
         <field map-name="workEffort" name="workEffortName" position="1" title="${uiLabelMap.CommonName}*"><text size="60"/></field>
         <field map-name="workEffort" name="description" position="1" title="${uiLabelMap.CommonDescription}*"><text size="60"/></field>
+        <!-- Child workeffort fields -->
+        <field name="workEffortIdFrom"><hidden value="${parameters.workEffortIdFrom}"/></field>
+        <field name="workEffortIdTo"><hidden value="${parameters.workEffortId}"/></field>
+        <field name="fromDate"><hidden value="${parameters.fromDate}"/></field>
+        <field map-name="workEffortAssoc" name="workEffortAssocTypeId" title="${uiLabelMap.WorkEffortWorkEffortAssocTypeId}" use-when="workEffortIdFrom!=null">
+            <display-entity entity-name="WorkEffortAssocType" description="${description}"/>
+        </field>
+        <!-- End of child workeffort fields -->
         <field map-name="workEffort" name="workEffortPurposeTypeId" title="${uiLabelMap.CommonPurpose}" position="1">
             <drop-down allow-empty="true">
                 <entity-options description="${description}" entity-name="WorkEffortPurposeType" key-field-name="workEffortPurposeTypeId">
@@ -55,7 +68,6 @@
         <field map-name="workEffort" name="estimatedCompletionDate" position="2"><date-time/></field>
         <field map-name="workEffort" name="actualStartDate" position="1"><date-time/></field>
         <field map-name="workEffort" name="actualCompletionDate" position="2"><date-time/></field>
-        <field map-name="workEffort" name="workEffortParentId" title="${uiLabelMap.WorkEffortWorkEffortParentId}*"><lookup target-form-name="LookupWorkEffortShort"/></field>
         <field map-name="workEffort" name="facilityId" title="${uiLabelMap.AccountingFacilityId}"><lookup target-form-name="LookupFacility"/></field>
         <field map-name="fixedAssetMaint" name="fixedAssetId"><hidden/></field>
         <field map-name="workEffort" name="moneyUomId" title="${uiLabelMap.CommonCurrency}"><ignored/></field>
@@ -63,13 +75,51 @@
         <field map-name="workEffort" name="submitButton" title="${uiLabelMap.CommonSave}"><submit/></field>
     </form>
 
-    <form name="AddWorkEffortChild"  target="createWorkEffortAndAssoc" title="" type="single"
+    <form name="EditWorkEffortPartyAssign" extends="EditWorkEffortPartyAssign" extends-resource="component://workeffort/widget/WorkEffortPartyAssignForms.xml"
+        target="createWorkEffortPartyAssign">
+        <actions>
+            <entity-condition entity-name="PartyRoleDetailAndPartyDetail" list-name="listMaintParties">
+                <condition-expr field-name="parentTypeId" value="FAM_ASSIGNEE"/>
+            </entity-condition>
+            <entity-condition entity-name="RoleType" list-name="listMaintRoles">
+                <condition-expr field-name="parentTypeId" value="FAM_ASSIGNEE"/>
+            </entity-condition>
+        </actions>
+        <field name="roleTypeId">
+            <drop-down>
+                <list-options list-name="listMaintRoles" key-name="roleTypeId" description="${description}"/>
+            </drop-down>
+        </field>
+        <field name="fromDate"><date-time default-value="${nowTimestamp}"/></field>
+        <field name="partyId">
+            <drop-down>
+                <list-options list-name="listMaintParties" key-name="partyId" description="${firstName} ${middleName} ${lastName} ${groupName}"/>
+            </drop-down>
+        </field>
+        <field name="expectationEnumId"><ignored/></field>
+        <field name="facilityId"><hidden value="${facilityId}"/></field>
+    </form>
+
+    <form name="ListWorkEffortPartyAssigns" extends="ListWorkEffortPartyAssigns" extends-resource="component://workeffort/widget/WorkEffortPartyAssignForms.xml"
+        header-row-style="header-row-2" default-table-style="basic-table">
+        <field name="partyId">
+            <display-entity entity-name="PartyNameView" description="${firstName} ${middleName} ${lastName} ${groupName}"/>
+        </field>
+        <field name="statusDateTime"><ignored/></field>
+        <field name="expectationEnumId"><ignored/></field>
+        <field name="facilityId"><ignored/></field>
+        <field name="mustRsvp"><ignored/></field>
+        <field name="comments"><ignored/></field>
+    </form>
+
+    <form name="AddWorkEffortChild" target="createWorkEffortAndAssoc" type="single"
         header-row-style="header-row" default-table-style="basic-table">
         <field name="fixedAssetId"><hidden/></field>
         <field name="maintHistSeqId"><hidden/></field>
         <field name="workEffortIdTo"><hidden/></field>
-        <field name="workEffortIdFrom"><hidden/></field>
+        <field name="workEffortIdFrom"><hidden value="${workEffortId}"/></field>
         <field name="workEffortTypeId"><hidden value="TASK"/></field>
+        <field name="description"><hidden value="${workEffort.description}"/></field>
 
         <field name="workEffortAssocTypeId" title="${uiLabelMap.WorkEffortWorkEffortAssocTypeId}">
             <drop-down>
@@ -79,9 +129,9 @@
             </drop-down>
         </field>
         <field name="sequenceNum"><text/></field>
-        <field name="fromDate"><date-time/></field>
+        <field name="fromDate"><date-time default-value="${nowTimestamp}"/></field>
         <field name="thruDate"><date-time/></field>
-        <field name="workEffortName" position="1" title="${uiLabelMap.CommonName}*"><text size="30"/></field>
+        <field name="workEffortName" title="${uiLabelMap.CommonName}"><text size="30"/></field>
         <field name="currentStatusId" title="${uiLabelMap.CommonStatus}">
             <drop-down>
                 <entity-options entity-name="StatusItem" key-field-name="statusId" description="${description}">
@@ -105,49 +155,27 @@
         <field name="submitButton" title="${uiLabelMap.CommonAdd}"><submit button-type="button"/></field>
     </form>
     
-    <form name="WorkEffortChildren" target="updateWorkEffortAndAssoc" title="" type="list" separate-columns="true"
-        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
+    <form name="ListWorkEffortChildren" type="list"
+        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table">
         <actions>
             <entity-condition entity-name="WorkEffortAssocView">
-                <condition-expr field-name="workEffortIdFrom" operator="equals" env-name="workEffortIdFrom"/>
+                <condition-expr field-name="workEffortIdFrom" operator="equals" env-name="workEffortId"/>
             </entity-condition>
         </actions>
-        <field name="workEffortTypeId"><hidden/></field>
-        <field name="fixedAssetId"><hidden/></field>
-        <field name="maintHistSeqId"><hidden/></field>
-        <field name="workEffortIdTo"><hidden/></field>
-        <field name="workEffortIdFrom"><hidden/></field>
-        <field name="fromDate"><hidden/></field>
-        <field name="workEffortId" entry-name="workEffortIdTo"><hidden/></field>
-        <field name="workEffortName" entry-name="workEffortToName" position="1" title="${uiLabelMap.CommonName}*"><text size="30"/></field>
+        <field name="workEffortName" entry-name="workEffortToName" title="${uiLabelMap.CommonName}">
+            <hyperlink also-hidden="false" description="${workEffortToName}" target="EditWorkEfforts?workEffortId=${workEffortIdTo}&amp;workEffortIdFrom=${workEffortId}&amp;fromDate=${fromDate}&amp;workEffortAssocTypeId=${workEffortAssocTypeId}"/>
+        </field>
         <field name="workEffortAssocTypeId" title="${uiLabelMap.WorkEffortWorkEffortAssocTypeId}">
-            <drop-down>
-                <entity-options entity-name="WorkEffortAssocType" description="${description}">
-                    <entity-order-by field-name="description"/>
-                </entity-options>
-            </drop-down>
+            <display-entity entity-name="WorkEffortAssocType" description="${description}"/>
         </field>
-        <field name="currentStatusId" entry-name="workEffortToCurrentStatusId">
-            <drop-down>
-                <entity-options entity-name="StatusItem" key-field-name="statusId" description="${description}">
-                    <entity-constraint name="statusTypeId" value="TASK_STATUS"/>
-                    <entity-order-by field-name="description"/>
-                </entity-options>
-                <entity-options entity-name="StatusItem" key-field-name="statusId" description="${description}">
-                    <entity-constraint name="statusId" value="CAL_CANCELLED"/>
-                </entity-options>
-            </drop-down>
+        <field name="currentStatusId" entry-name="workEffortToCurrentStatusId" title="${uiLabelMap.CommonStatus}">
+            <display-entity entity-name="StatusItem" description="${description}" key-field-name="statusId"/>
         </field>
         <field name="workEffortPurposeTypeId" entry-name="workEffortToWorkEffortPurposeTypeId" title="${uiLabelMap.CommonPurpose}">
-            <drop-down allow-empty="true">
-                <entity-options description="${description}" entity-name="WorkEffortPurposeType" key-field-name="workEffortPurposeTypeId">
-                    <entity-order-by field-name="description"/>
-                </entity-options>
-            </drop-down>
+            <display-entity entity-name="WorkEffortPurposeType" description="${description}"/>
         </field>
-        <field name="actualStartDate" entry-name="workEffortToActualStartDate" title="${uiLabelMap.WorkEffortActualStartDate}"><date-time/></field>
-        <field name="actualCompletionDate"  entry-name="workEffortToActualCompletionDate" title="${uiLabelMap.WorkEffortActualCompletionDate}"><date-time/></field>
-        <field name="submitButton" title="${uiLabelMap.CommonUpdate}"><submit button-type="button"/></field>
+        <field name="actualStartDate" entry-name="workEffortToActualStartDate" title="${uiLabelMap.WorkEffortActualStartDate}"><display/></field>
+        <field name="actualCompletionDate"  entry-name="workEffortToActualCompletionDate" title="${uiLabelMap.WorkEffortActualCompletionDate}"><display/></field>
     </form>
 
     <!-- TimeEntry -->