svn commit: r790373 - in /ofbiz/trunk/applications/workeffort: config/ script/org/ofbiz/workeffort/permission/ webapp/workeffort/WEB-INF/ widget/

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

svn commit: r790373 - in /ofbiz/trunk/applications/workeffort: config/ script/org/ofbiz/workeffort/permission/ webapp/workeffort/WEB-INF/ widget/

adrianc
Author: adrianc
Date: Wed Jul  1 20:55:09 2009
New Revision: 790373

URL: http://svn.apache.org/viewvc?rev=790373&view=rev
Log:
UI for iCalendar. I set it up so the iCalendar screens can be reused in another application - a user's Home Page for example.

Modified:
    ofbiz/trunk/applications/workeffort/config/WorkEffortUiLabels.xml
    ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/permission/WorkEffortPermissionServices.xml
    ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml
    ofbiz/trunk/applications/workeffort/widget/WorkEffortForms.xml
    ofbiz/trunk/applications/workeffort/widget/WorkEffortMenus.xml
    ofbiz/trunk/applications/workeffort/widget/WorkEffortScreens.xml
    ofbiz/trunk/applications/workeffort/widget/WorkEffortTrees.xml

Modified: ofbiz/trunk/applications/workeffort/config/WorkEffortUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/config/WorkEffortUiLabels.xml?rev=790373&r1=790372&r2=790373&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/config/WorkEffortUiLabels.xml (original)
+++ ofbiz/trunk/applications/workeffort/config/WorkEffortUiLabels.xml Wed Jul  1 20:55:09 2009
@@ -1921,6 +1921,36 @@
         <value xml:lang="th">มาตรฐานที่ดี</value>
         <value xml:lang="zh">良好标准</value>
     </property>
+    <property key="WorkEffortICalendar">
+        <value xml:lang="en">iCalendar</value>
+    </property>
+    <property key="WorkEffortICalendarAdd">
+        <value xml:lang="en">Add iCalendar</value>
+    </property>
+    <property key="WorkEffortICalendarAddParty">
+        <value xml:lang="en">Add iCalendar Party</value>
+    </property>
+    <property key="WorkEffortICalendarAddFixedAsset">
+        <value xml:lang="en">Add iCalendar Fixed Asset</value>
+    </property>
+    <property key="WorkEffortICalendarEdit">
+        <value xml:lang="en">Edit iCalendar</value>
+    </property>
+    <property key="WorkEffortICalendarFind">
+        <value xml:lang="en">Find iCalendars</value>
+    </property>
+    <property key="WorkEffortICalendarName">
+        <value xml:lang="en">Calendar Name</value>
+    </property>
+    <property key="WorkEffortICalendarOwner">
+        <value xml:lang="en">Calendar Owner</value>
+    </property>
+    <property key="WorkEffortICalendarUrl">
+        <value xml:lang="en">iCalendar Url</value>
+    </property>
+    <property key="WorkEffortICalendarVisibility">
+        <value xml:lang="en">Calendar Visibility</value>
+    </property>
     <property key="WorkEffortIdMissing">
         <value xml:lang="en">Work Effort ID is missing.</value>
         <value xml:lang="fr">La réf. de tâche est manquante</value>

Modified: ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/permission/WorkEffortPermissionServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/permission/WorkEffortPermissionServices.xml?rev=790373&r1=790372&r2=790373&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/permission/WorkEffortPermissionServices.xml (original)
+++ ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/permission/WorkEffortPermissionServices.xml Wed Jul  1 20:55:09 2009
@@ -318,6 +318,7 @@
                     <condition-list combine="and">
                         <condition-expr field-name="workEffortId" from-field="workEffortId"/>
                         <condition-expr field-name="partyId" from-field="userLogin.partyId"/>
+                        <condition-expr field-name="statusId" value="PRTYASGN_ASSIGNED"/>
                         <condition-list combine="or">
                             <condition-expr field-name="roleTypeId" value="CAL_OWNER"/>
                             <condition-expr field-name="roleTypeId" value="CAL_ORGANIZER"/>

Modified: ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml?rev=790373&r1=790372&r2=790373&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/workeffort/webapp/workeffort/WEB-INF/controller.xml Wed Jul  1 20:55:09 2009
@@ -125,6 +125,64 @@
         <response name="success" type="view-home" value="ListWorkEfforts"/>
         <response name="error" type="view" value="ListWorkEfforts"/>
     </request-map>
+    
+    <!-- iCalendar requests and events -->
+    <request-map uri="EditICalendar">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="EditICalendar"/>
+    </request-map>
+    <request-map uri="ICalendarChildren">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="ICalendarChildren"/>
+    </request-map>
+    <request-map uri="ICalendarParties">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="ICalendarParties"/>
+    </request-map>
+    <request-map uri="ICalendarFixedAssets">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="ICalendarFixedAssets"/>
+    </request-map>
+    <request-map uri="FindICalendars">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="FindICalendars"/>
+    </request-map>
+    <request-map uri="createICalendar">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="createWorkEffort"/>
+        <response name="success" type="view-home" value="EditICalendar"/>
+        <response name="error" type="view" value="EditICalendar"/>
+    </request-map>
+    <request-map uri="updateICalendar">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="updateWorkEffort"/>
+        <response name="success" type="view-home" value="EditICalendar"/>
+        <response name="error" type="view" value="EditICalendar"/>
+    </request-map>
+    <request-map uri="createICalendarPartyAssign">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="assignPartyToWorkEffort"/>
+        <response name="success" type="view-home" value="ICalendarParties"/>
+        <response name="error" type="view-home" value="ICalendarParties"/>
+    </request-map>
+    <request-map uri="updateICalendarPartyAssign">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="updatePartyToWorkEffortAssignment"/>
+        <response name="success" type="view" value="ICalendarParties"/>
+        <response name="error" type="view" value="ICalendarParties"/>
+    </request-map>
+    <request-map uri="createICalendarFixedAssetAssign">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="createWorkEffortFixedAssetAssign"/>
+        <response name="success" type="view" value="ICalendarFixedAssets"/>
+        <response name="error" type="view" value="ICalendarFixedAssets"/>
+    </request-map>
+    <request-map uri="updateICalendarFixedAssetAssign">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="updateWorkEffortFixedAssetAssign"/>
+        <response name="success" type="view" value="ICalendarFixedAssets"/>
+        <response name="error" type="view" value="ICalendarFixedAssets"/>
+    </request-map>
 
     <request-map uri="ListWorkEffortFixedAssetAssigns">
         <security https="true" auth="true"/>
@@ -689,6 +747,12 @@
     <view-map name="EditWorkEffortAssoc" type="screen" page="component://workeffort/widget/WorkEffortScreens.xml#EditWorkEffortAssoc"/>
     <view-map name="AddWorkEffortAssoc" type="screen" page="component://workeffort/widget/WorkEffortScreens.xml#AddWorkEffortAssoc"/>
 
+    <view-map name="EditICalendar" type="screen" page="component://workeffort/widget/WorkEffortScreens.xml#EditICalendar"/>
+    <view-map name="ICalendarChildren" type="screen" page="component://workeffort/widget/WorkEffortScreens.xml#ICalendarChildren"/>
+    <view-map name="ICalendarParties" type="screen" page="component://workeffort/widget/WorkEffortScreens.xml#ICalendarParties"/>
+    <view-map name="ICalendarFixedAssets" type="screen" page="component://workeffort/widget/WorkEffortScreens.xml#ICalendarFixedAssets"/>
+    <view-map name="FindICalendars" type="screen" page="component://workeffort/widget/WorkEffortScreens.xml#FindICalendars"/>
+
     <view-map name="ListWorkEffortEventReminders" type="screen" page="component://workeffort/widget/WorkEffortScreens.xml#ListWorkEffortEventReminders"/>
     <view-map name="ListWorkEffortFixedAssetAssigns" type="screen" page="component://workeffort/widget/WorkEffortScreens.xml#ListWorkEffortFixedAssetAssigns"/>
     <view-map name="ListWorkEffortPartyAssigns" type="screen" page="component://workeffort/widget/WorkEffortScreens.xml#ListWorkEffortPartyAssigns"/>

Modified: ofbiz/trunk/applications/workeffort/widget/WorkEffortForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/widget/WorkEffortForms.xml?rev=790373&r1=790372&r2=790373&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/widget/WorkEffortForms.xml (original)
+++ ofbiz/trunk/applications/workeffort/widget/WorkEffortForms.xml Wed Jul  1 20:55:09 2009
@@ -1335,4 +1335,100 @@
         <field name="submitButton" title="${uiLabelMap.CommonAdd}" widget-style="smallSubmit"><submit button-type="button"/></field>
     </form>
 
+    <form name="EditICalendar" default-map-name="workEffort" target="updateICalendar" type="single">
+        <alt-target target="createICalendar" use-when="workEffort==null"/>
+        <field name="workEffortTypeId"><hidden value="PUBLISH_PROPS"></hidden></field>
+        <field name="currentStatusId"><hidden value="CAL_CANCELLED"></hidden></field>
+        <field name="quickAssignPartyId" title="${uiLabelMap.WorkEffortICalendarOwner}" use-when="workEffort==null @and workEffortId==null"><lookup target-form-name="LookupPartyName"/></field>
+        <field name="workEffortId" use-when="workEffort!=null" title="${uiLabelMap.WorkEffortICalendarUrl}"><display description="/iCalendar/${workEffortId}/"/></field>
+        <field name="workEffortName" title="${uiLabelMap.WorkEffortICalendarName}" widget-style="required" tooltip="${uiLabelMap.CommonRequired}"><text/></field>
+        <field name="scopeEnumId" title="${uiLabelMap.WorkEffortICalendarVisibility}">
+            <drop-down no-current-selected-key="WES_PRIVATE">
+                <entity-options entity-name="Enumeration" key-field-name="enumId" description="${description}">
+                    <entity-constraint name="enumTypeId" value="WORK_EFF_SCOPE"/>
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="actualStartDate" title="${uiLabelMap.CommonFrom}" position="2"><date-time/></field>
+        <field name="actualCompletionDate" title="${uiLabelMap.CommonTo}" position="3"><date-time/></field>
+        <field name="submitButton" title="${uiLabelMap.CommonSave}" widget-style="smallSubmit"><submit button-type="button"/></field>
+    </form>
+
+    <form name="EditICalendarPartyAssign" target="createICalendarPartyAssign" type="single">
+        <actions>
+            <!-- Clear parameters from prior create/update event -->
+            <set field="parameters.partyId" value=""/>
+            <set field="parameters.roleTypeId" value=""/>
+            <set field="parameters.fromDate" value=""/>
+            <set field="parameters.thruDate" value=""/>
+            <set field="parameters.comments" value=""/>
+            <entity-condition list="roleList" entity-name="RoleType">
+                <condition-list combine="or">
+                    <condition-expr field-name="roleTypeId" operator="equals" value="CAL_DELEGATE"/>
+                    <condition-expr field-name="roleTypeId" operator="equals" value="ICAL_MEMBER"/>
+                </condition-list>
+            </entity-condition>
+        </actions>
+        <field name="workEffortId"><hidden/></field>
+        <field name="statusId"><hidden value="PRTYASGN_ASSIGNED"/></field>
+        <field name="partyId"><lookup target-form-name="LookupPartyName"/></field>
+        <field name="roleTypeId" title="${uiLabelMap.PartyRoleType}">
+            <drop-down allow-empty="false">
+                <list-options list-name="roleList" key-name="roleTypeId" description="${description}"/>
+            </drop-down>
+        </field>
+        <field name="fromDate"><date-time/></field>
+        <field name="thruDate"><date-time/></field>
+        <field name="comments"><text size="60" maxlength="255"/></field>
+        <field name="submitButton" title="${uiLabelMap.CommonAdd}" widget-style="smallSubmit"><submit button-type="button"/></field>
+    </form>
+
+    <form name="ListICalendarPartyAssigns" extends="ListWorkEffortPartyAssigns" target="updateICalendarPartyAssign"
+        extends-resource="component://workeffort/widget/WorkEffortPartyAssignForms.xml" header-row-style="header-row-2">
+        <field name="statusDateTime"><ignored/></field>
+        <field name="availabilityStatusId"><ignored/></field>
+        <field name="expectationEnumId"><ignored/></field>
+        <field name="delegateReasonEnumId"><ignored/></field>
+        <field name="facilityId"><ignored/></field>
+        <field name="mustRsvp"><ignored/></field>
+    </form>
+
+    <form name="ListIcalendars" list-name="listIt" type="list"
+        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
+        <actions>
+            <entity-and entity-name="WorkEffortAndPartyAssign" list="listIt">
+                <field-map field-name="workEffortTypeId" value="PUBLISH_PROPS"/>
+                <field-map field-name="partyId" from-field="userLogin.partyId"/>
+                <field-map field-name="statusId" value="PRTYASGN_ASSIGNED"/>
+            </entity-and>
+        </actions>
+        <field name="workEffortId" title="${uiLabelMap.WorkEffortICalendarUrl}">
+            <hyperlink also-hidden="false" description="/iCalendar/${workEffortId}/" target="EditICalendar" target-type="plain">
+                <parameter param-name="workEffortId"/>
+            </hyperlink>
+        </field>
+        <field name="workEffortName" title="${uiLabelMap.WorkEffortICalendarName}"><display/></field>
+    </form>
+
+    <form name="EditICalendarFixedAssetAssign" extends="EditWorkEffortFixedAssetAssign" target="createICalendarFixedAssetAssign">
+        <actions>
+            <!-- Clear parameters from prior create/update event -->
+            <set field="parameters.fixedAssetId" value=""/>
+            <set field="parameters.fromDate" value=""/>
+            <set field="parameters.thruDate" value=""/>
+            <set field="parameters.comments" value=""/>
+        </actions>
+        <field name="statusId"><ignored/></field>
+        <field name="availabilityStatusId"><ignored/></field>
+        <field name="allocatedCost"><ignored/></field>
+    </form>
+
+    <form name="ListICalendarFixedAssetAssigns" extends="ListWorkEffortFixedAssetAssigns" target="updateICalendarFixedAssetAssign">
+        <field name="statusId"><ignored/></field>
+        <field name="availabilityStatusId"><ignored/></field>
+        <field name="allocatedCost"><ignored/></field>
+        <field name="deleteLink"><ignored/></field>
+    </form>
+
 </forms>

Modified: ofbiz/trunk/applications/workeffort/widget/WorkEffortMenus.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/widget/WorkEffortMenus.xml?rev=790373&r1=790372&r2=790373&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/widget/WorkEffortMenus.xml (original)
+++ ofbiz/trunk/applications/workeffort/widget/WorkEffortMenus.xml Wed Jul  1 20:55:09 2009
@@ -29,6 +29,7 @@
         <menu-item name="workeffort" title="${uiLabelMap.WorkEffortWorkEffort}"><link target="FindWorkEffort"/></menu-item>
         <menu-item name="timesheet" title="${uiLabelMap.WorkEffortTimesheet}"><link target="FindTimesheet"/></menu-item>
         <menu-item name="userJobs" title="${uiLabelMap.WorkEffortJobList}"><link target="UserJobs"/></menu-item>
+        <menu-item name="WorkEffortICalendar" title="${uiLabelMap.WorkEffortICalendar}"><link target="FindICalendars"/></menu-item>
     </menu>
     <menu name="WorkEffortTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml"
           default-menu-item-name="WorkEffort">
@@ -211,4 +212,30 @@
             </condition>
         </menu-item>
     </menu>
+
+    <menu name="ICalendarTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml"
+          default-menu-item-name="WorkEffort">
+        <menu-item name="WorkEffort" title="${uiLabelMap.WorkEffortICalendar}">
+            <link target="EditICalendar">
+                <parameter param-name="workEffortId"/>
+            </link>
+        </menu-item>
+        <menu-item name="WorkEffortAssocs" title="${uiLabelMap.CommonEntityChildren}">
+            <link target="ICalendarChildren">
+                <parameter param-name="workEffortId"/>
+                <parameter param-name="trail" from-field="workEffortId"/>
+            </link>
+        </menu-item>
+        <menu-item name="WorkEffortPartyAssigns" title="${uiLabelMap.WorkEffortParties}">
+            <link target="ICalendarParties">
+                <parameter param-name="workEffortId"/>
+            </link>
+        </menu-item>
+        <menu-item name="WorkEffortFixedAssetAssigns" title="${uiLabelMap.AccountingFixedAssets}">
+            <link target="ICalendarFixedAssets">
+                <parameter param-name="workEffortId"/>
+            </link>
+        </menu-item>
+    </menu>
+
 </menus>

Modified: ofbiz/trunk/applications/workeffort/widget/WorkEffortScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/widget/WorkEffortScreens.xml?rev=790373&r1=790372&r2=790373&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/widget/WorkEffortScreens.xml (original)
+++ ofbiz/trunk/applications/workeffort/widget/WorkEffortScreens.xml Wed Jul  1 20:55:09 2009
@@ -828,4 +828,187 @@
             </widgets>
         </section>
     </screen>
+
+    <screen name="iCalendarDecorator">
+        <section>
+            <actions>
+                <set field="headerItem" value="WorkEffortICalendar"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <section>
+                            <condition>
+                                <or>
+                                    <if-service-permission service-name="workEffortICalendarPermission" main-action="CREATE" context-map="parameters"/>
+                                    <if-service-permission service-name="workEffortICalendarPermission" main-action="UPDATE" context-map="parameters"/>
+                                </or>
+                            </condition>
+                            <widgets>
+                                <section>
+                                    <condition>
+                                        <not><if-empty field="workEffort"/></not>
+                                    </condition>
+                                    <widgets>
+                                        <include-menu name="ICalendarTabBar" location="component://workeffort/widget/WorkEffortMenus.xml"/>
+                                    </widgets>
+                                </section>
+                                <container style="h1">
+                                    <label text="${title}"/>
+                                </container>
+                                <decorator-section-include name="body"/>
+                            </widgets>
+                            <fail-widgets>
+                                <label style="h3">${uiLabelMap.WorkEffortViewPermissionError}</label>
+                            </fail-widgets>
+                        </section>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+
+    <screen name="FindICalendars">
+        <section>
+            <actions>
+                <set field="headerItem" value="WorkEffortICalendar"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <section>
+                            <condition>
+                                <if-service-permission service-name="workEffortManagerPermission" main-action="VIEW"/>
+                            </condition>
+                            <widgets>
+                                <container style="h1">
+                                    <label text="${uiLabelMap.WorkEffortICalendarFind}"/>
+                                </container>
+                                <container style="button-bar">
+                                    <link text="${uiLabelMap.CommonCreate}" target="EditICalendar" style="buttontext"/>
+                                </container>
+                                <include-form name="ListIcalendars" location="component://workeffort/widget/WorkEffortForms.xml"/>
+                            </widgets>
+                            <fail-widgets>
+                                <label style="h3">${uiLabelMap.WorkEffortViewPermissionError}</label>
+                            </fail-widgets>
+                        </section>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+
+    <screen name="EditICalendar">
+        <section>
+            <actions>
+                <property-map resource="WorkEffortUiLabels" map-name="uiLabelMap"/>
+                <set field="tabButtonItem" value="WorkEffort"/>
+                <set field="workEffortId" from-field="parameters.workEffortId"/>
+                <entity-one entity-name="WorkEffort" value-field="workEffort"/>
+                <set field="title" value="${uiLabelMap.WorkEffortICalendarEdit} - ${workEffort.workEffortName}"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="iCalendarDecorator" location="${parameters.iCalendarDecoratorLocation}">
+                    <decorator-section name="body">
+                        <section>
+                            <widgets>
+                                <section>
+                                    <condition>
+                                        <if-empty field="workEffort"/>
+                                    </condition>
+                                    <actions>
+                                        <set field="quickAssignPartyId" from-field="userLogin.partyId"/>
+                                        <set field="title" value="${uiLabelMap.WorkEffortICalendarAdd}"/>
+                                    </actions>
+                                    <widgets>
+                                        <include-form name="EditICalendar" location="component://workeffort/widget/WorkEffortForms.xml"/>
+                                    </widgets>
+                                    <fail-widgets>
+                                        <container style="button-bar">
+                                            <link text="${uiLabelMap.CommonCreate}" target="EditICalendar" style="buttontext"/>
+                                        </container>
+                                        <include-form name="EditICalendar" location="component://workeffort/widget/WorkEffortForms.xml"/>
+                                    </fail-widgets>
+                                </section>
+                            </widgets>
+                        </section>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+
+    <screen name="ICalendarChildren">
+        <section>
+            <actions>
+                <property-map resource="WorkEffortUiLabels" map-name="uiLabelMap"/>
+                <set field="tabButtonItem" value="WorkEffortAssocs"/>
+                <set field="workEffortId" from-field="parameters.workEffortId"/>
+                <set field="trail" from-field="requestParameters.trail"/>
+                <entity-one entity-name="WorkEffort" value-field="workEffort"/>
+                <set field="title" value="${uiLabelMap.PageTitleTreeWorkEfforts} - ${workEffort.workEffortName}"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="iCalendarDecorator" location="${parameters.iCalendarDecoratorLocation}">
+                    <decorator-section name="body">
+                        <section>
+                            <widgets>
+                                <include-tree name="ICalendarTree" location="component://workeffort/widget/WorkEffortTrees.xml"/>
+                            </widgets>
+                        </section>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+
+    <screen name="ICalendarParties">
+        <section>
+            <actions>
+                <property-map resource="WorkEffortUiLabels" map-name="uiLabelMap"/>
+                <set field="tabButtonItem" value="WorkEffortPartyAssigns"/>
+                <set field="workEffortId" from-field="parameters.workEffortId"/>
+                <entity-one entity-name="WorkEffort" value-field="workEffort"/>
+                <set field="title" value="${uiLabelMap.WorkEffortICalendarAddParty} - ${workEffort.workEffortName}"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="iCalendarDecorator" location="${parameters.iCalendarDecoratorLocation}">
+                    <decorator-section name="body">
+                        <section>
+                            <widgets>
+                                <include-form name="EditICalendarPartyAssign" location="component://workeffort/widget/WorkEffortForms.xml"/>
+                                <include-form name="ListICalendarPartyAssigns" location="component://workeffort/widget/WorkEffortForms.xml"/>
+                            </widgets>
+                        </section>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+
+    <screen name="ICalendarFixedAssets">
+        <section>
+            <actions>
+                <property-map resource="WorkEffortUiLabels" map-name="uiLabelMap"/>
+                <set field="tabButtonItem" value="WorkEffortFixedAssetAssigns"/>
+                <set field="workEffortId" from-field="parameters.workEffortId"/>
+                <entity-one entity-name="WorkEffort" value-field="workEffort"/>
+                <set field="title" value="${uiLabelMap.WorkEffortICalendarAddFixedAsset} - ${workEffort.workEffortName}"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="iCalendarDecorator" location="${parameters.iCalendarDecoratorLocation}">
+                    <decorator-section name="body">
+                        <section>
+                            <widgets>
+                                <include-form name="EditICalendarFixedAssetAssign" location="component://workeffort/widget/WorkEffortForms.xml"/>
+                                <include-form name="ListICalendarFixedAssetAssigns" location="component://workeffort/widget/WorkEffortForms.xml"/>
+                            </widgets>
+                        </section>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+
 </screens>

Modified: ofbiz/trunk/applications/workeffort/widget/WorkEffortTrees.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/widget/WorkEffortTrees.xml?rev=790373&r1=790372&r2=790373&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/widget/WorkEffortTrees.xml (original)
+++ ofbiz/trunk/applications/workeffort/widget/WorkEffortTrees.xml Wed Jul  1 20:55:09 2009
@@ -46,4 +46,30 @@
             </sub-node>
         </node>
     </tree>
+
+    <!-- A read-only tree of child work efforts. Mainly used to check if iCalendar events and
+        tasks are being saved as work efforts. -->
+    <tree name="ICalendarTree" root-node-name="node-root" entity-name="WorkEffort" expand-collapse-request="ICalendarChildren?workEffortId=${workEffortId}"
+        default-render-style="expand-collapse" default-wrap-style="treeWrapper">
+        <node name="node-root"  entity-name="WorkEffort" >
+            <entity-one entity-name="WorkEffort" value-field="workEffort"/>
+            <sub-node node-name="node-list">
+                <entity-condition entity-name="WorkEffortAssoc">
+                    <condition-expr field-name="workEffortIdFrom" operator="equals" from-field="workEffortId"/>
+                </entity-condition>
+            </sub-node>
+        </node>
+        <node name="node-list" entry-name="workEffortAssoc" entity-name="WorkEffortAssoc" join-field-name="workEffortIdTo">
+            <entity-one entity-name="WorkEffort" value-field="workEffort">
+                <field-map field-name="workEffortId" from-field="workEffortAssoc.workEffortIdTo"/>
+            </entity-one>
+            <label text="${workEffort.workEffortName} - ${workEffort.description} [${workEffort.workEffortId}]"/>
+            <sub-node node-name="node-list">
+                <entity-condition entity-name="WorkEffortAssoc">
+                    <condition-expr field-name="workEffortIdFrom" operator="equals" from-field="workEffortAssoc.workEffortIdTo"/>
+                </entity-condition>
+            </sub-node>
+        </node>
+    </tree>
+
 </trees>