Author: hansbak
Date: Fri Jan 18 05:30:02 2008
New Revision: 613157

URL: http://svn.apache.org/viewvc?rev=613157&view=rev
Log:
extend the functionality of the projectmgr resources tab, not perfect yet but 
it is getting better

Modified:
    
ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/controller.xml
    ofbiz/trunk/specialpurpose/projectmgr/widget/CommonScreens.xml
    ofbiz/trunk/specialpurpose/projectmgr/widget/Menus.xml
    ofbiz/trunk/specialpurpose/projectmgr/widget/ProjectScreens.xml
    ofbiz/trunk/specialpurpose/projectmgr/widget/forms/ProjectForms.xml

Modified: 
ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/controller.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/controller.xml?rev=613157&r1=613156&r2=613157&view=diff
==============================================================================
--- 
ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/controller.xml 
(original)
+++ 
ofbiz/trunk/specialpurpose/projectmgr/webapp/projectmgr/WEB-INF/controller.xml 
Fri Jan 18 05:30:02 2008
@@ -24,7 +24,7 @@
     <include 
location="component://accounting/webapp/accounting/WEB-INF/controller.xml"/>    
     <include 
location="component://workeffort/webapp/workeffort/WEB-INF/controller.xml"/>
     <include 
location="component://humanres/webapp/humanres/WEB-INF/controller.xml"/>
-
+    
     <description>Project Management Component Site Configuration 
File</description>
 
     <request-map uri="main">
@@ -584,12 +584,207 @@
         <response name="success" type="view" value="RequestList"/>
         <response name="error" type="view" value="RequestList"/>
     </request-map>
+    <request-map uri="editperson"><security https="true" 
auth="true"/><response name="success" type="view" 
value="EditPerson"/></request-map>
+    <request-map uri="updatePerson">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="updatePerson"/>
+        <response name="success" type="request-redirect" value="viewprofile"/>
+        <response name="error" type="view" value="EditPerson"/>
+    </request-map>
+    <request-map uri="AddPartyNote"><security https="true" 
auth="true"/><response name="success" type="view" 
value="AddPartyNote"/></request-map>
+    <request-map uri="createPartyNote">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="createPartyNote"/>
+        <response name="success" type="view" value="viewprofile"/>
+        <response name="error" type="view" value="AddPartyNote"/>
+    </request-map>
+    <request-map uri="editcontactmech"><security https="true" 
auth="true"/><response name="success" type="view" 
value="editcontactmech"/></request-map>
+    <request-map uri="createContactMech">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="createPartyContactMech"/>
+        <response name="success" type="view" value="editcontactmech"/>
+        <response name="error" type="view" value="editcontactmech"/>
+    </request-map>
+    <request-map uri="updateContactMech">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="updatePartyContactMech"/>
+        <response name="success" type="view" value="editcontactmech"/>
+        <response name="error" type="view" value="editcontactmech"/>
+    </request-map>
+    <request-map uri="deleteContactMech">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="deletePartyContactMech"/>
+        <response name="success" type="view" value="editcontactmech"/>
+        <response name="error" type="view" value="editcontactmech"/>
+    </request-map>
+    <request-map uri="createEmailAddress">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="createPartyEmailAddress"/>
+        <response name="success" type="view" value="editcontactmech"/>
+        <response name="error" type="view" value="editcontactmech"/>
+    </request-map>
+    <request-map uri="updateEmailAddress">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="updatePartyEmailAddress"/>
+        <response name="success" type="view" value="editcontactmech"/>
+        <response name="error" type="view" value="editcontactmech"/>
+    </request-map>
+    <request-map uri="EditCommunicationEvent"><security https="true" 
auth="true"/>
+        <response name="success" type="view" value="EditCommunicationEvent"/>
+    </request-map>
+    <request-map uri="EditPartyRates"><security https="true" 
auth="true"/><response name="success" type="view" 
value="EditPartyRates"/></request-map>
+    <request-map uri="createPartyRate">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="createPartyRate"/>
+        <response name="success" type="view" value="EditPartyRates"/>
+        <response name="error" type="view" value="EditPartyRates"/>
+    </request-map>
+    <request-map uri="updatePartyRate">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="updatePartyRate"/>
+        <response name="success" type="view" value="EditPartyRates"/>
+        <response name="error" type="view" value="EditPartyRates"/>
+    </request-map>
+    <request-map uri="deletePartyRate">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="deletePartyRate"/>
+        <response name="success" type="view" value="EditPartyRates"/>
+        <response name="error" type="view" value="EditPartyRates"/>
+    </request-map>
+    <request-map uri="createnewlogin"><security https="true" 
auth="true"/><response name="success" type="view" 
value="createnewlogin"/></request-map>
+    <request-map uri="createUserLogin">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="createUserLogin"/>
+        <response name="success" type="view" value="viewprofile"/>
+        <response name="error" type="view" value="createnewlogin"/>
+    </request-map>
+    <request-map uri="showvisits"><security https="true" 
auth="true"/><response name="success" type="view" 
value="showvisits"/></request-map>
+    <request-map uri="visitdetail"><security https="true" 
auth="true"/><response name="success" type="view" 
value="visitdetail"/></request-map>
+    <request-map uri="editlogin"><security https="true" auth="true"/><response 
name="success" type="view" value="EditUserLogin"/></request-map>
+    <request-map uri="updatePassword">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="updatePassword"/>
+        <response name="success" type="view" value="EditUserLogin"/>
+        <response name="error" type="view" value="EditUserLogin"/>
+    </request-map>
+    <request-map uri="updateUserLoginSecurity">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="updateUserLoginSecurity"/>
+        <response name="success" type="view" value="EditUserLogin"/>
+        <response name="error" type="view" value="EditUserLogin"/>
+    </request-map>
+    
+    <request-map uri="EditUserLoginSecurityGroups"><security https="true" 
auth="true"/><response name="success" type="view" 
value="EditUserLoginSecurityGroups"/></request-map>
+    <request-map uri="userLogin_addUserLoginToSecurityGroup">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="addUserLoginToSecurityGroup"/>
+        <response name="success" type="view" 
value="EditUserLoginSecurityGroups"/>
+        <response name="error" type="view" 
value="EditUserLoginSecurityGroups"/>
+    </request-map>
+    <request-map uri="userLogin_updateUserLoginToSecurityGroup">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="updateUserLoginToSecurityGroup"/>
+        <response name="success" type="view" 
value="EditUserLoginSecurityGroups"/>
+        <response name="error" type="view" 
value="EditUserLoginSecurityGroups"/>
+    </request-map>
+    <request-map uri="userLogin_removeUserLoginFromSecurityGroup">
+        <security https="true" auth="true"/>
+        <event type="service" path="" 
invoke="removeUserLoginFromSecurityGroup"/>
+        <response name="success" type="view" 
value="EditUserLoginSecurityGroups"/>
+        <response name="error" type="view" 
value="EditUserLoginSecurityGroups"/>
+    </request-map>
+    <request-map uri="addWorkEffortPartyAssign">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="assignPartyToWorkEffort"/>
+        <response name="success" type="view" value="listResourcesProject"/>
+        <response name="error" type="view" value="listResourcesProject"/>
+    </request-map>
+    <request-map uri="addTaskPartyAssign">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="assignPartyToWorkEffort"/>
+        <response name="success" type="view" value="listResourcesTask"/>
+        <response name="error" type="view" value="listResourcesTask"/>
+    </request-map>
+    <request-map uri="updateResourcesTaskAssigment">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="updateTaskAssigment"/>
+        <response name="success" type="view" value="listResourcesTask"/>
+        <response name="error" type="view" value="listResourcesTask"/>
+    </request-map>
+    <request-map uri="editpartygroup"><security https="true" 
auth="true"/><response name="success" type="view" 
value="EditPartyGroup"/></request-map>
+    <request-map uri="createPartyGroup">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="createPartyGroup"/>
+        <response name="success" type="request-redirect" value="viewprofile"/>
+        <response name="error" type="view" value="EditPartyGroup"/>
+    </request-map>
+    <request-map uri="updatePartyGroup">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="updatePartyGroup"/>
+        <response name="success" type="request-redirect" value="viewprofile"/>
+        <response name="error" type="view" value="EditPartyGroup"/>
+    </request-map>
+    <request-map uri="editperson"><security https="true" 
auth="true"/><response name="success" type="view" 
value="EditPerson"/></request-map>
+    <request-map uri="createPerson">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="createPerson"/>
+        <response name="success" type="request-redirect" value="viewprofile"/>
+        <response name="error" type="view" value="EditPerson"/>
+    </request-map>
+    <request-map uri="updatePerson">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="updatePerson"/>
+        <response name="success" type="request-redirect" value="viewprofile"/>
+        <response name="error" type="view" value="EditPerson"/>
+    </request-map>
+    <request-map uri="createnewlogin"><security https="true" 
auth="true"/><response name="success" type="view" 
value="createnewlogin"/></request-map>
+    <request-map uri="createUserLogin">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="createUserLogin"/>
+        <response name="success" type="view" value="viewprofile"/>
+        <response name="error" type="view" value="createnewlogin"/>
+    </request-map>
+    <request-map uri="showvisits"><security https="true" 
auth="true"/><response name="success" type="view" 
value="showvisits"/></request-map>
+    <request-map uri="AddPartyNote"><security https="true" 
auth="true"/><response name="success" type="view" 
value="AddPartyNote"/></request-map>
+    <request-map uri="createPartyNote">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="createPartyNote"/>
+        <response name="success" type="view" value="viewprofile"/>
+        <response name="error" type="view" value="AddPartyNote"/>
+    </request-map>
+    <request-map uri="EditPartyRates"><security https="true" 
auth="true"/><response name="success" type="view" 
value="EditPartyRates"/></request-map>
+    <request-map uri="createPartyRate">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="createPartyRate"/>
+        <response name="success" type="view" value="EditPartyRates"/>
+        <response name="error" type="view" value="EditPartyRates"/>
+    </request-map>
+    <request-map uri="updatePartyRate">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="updatePartyRate"/>
+        <response name="success" type="view" value="EditPartyRates"/>
+        <response name="error" type="view" value="EditPartyRates"/>
+    </request-map>
+    <request-map uri="deletePartyRate">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="deletePartyRate"/>
+        <response name="success" type="view" value="EditPartyRates"/>
+        <response name="error" type="view" value="EditPartyRates"/>
+    </request-map>
+    
     <!-- end of request mappings -->
 
     <!-- View Mappings -->
     <view-map name="viewprofile" type="screen" 
page="component://projectmgr/widget/ProjectScreens.xml#viewprofile"/>
     <view-map name="listResourcesTask" type="screen" 
page="component://projectmgr/widget/ProjectScreens.xml#listResourcesTask"/>
     <view-map name="listResourcesProject" type="screen" 
page="component://projectmgr/widget/ProjectScreens.xml#listResourcesProject"/>
+    <view-map name="EditPartyGroup" type="screen" 
page="component://projectmgr/widget/ProjectScreens.xml#EditPartyGroup"/>
+    <view-map name="EditPerson" type="screen" 
page="component://projectmgr/widget/ProjectScreens.xml#EditPerson"/>
+    <view-map name="createnewlogin" type="screen" 
page="component://projectmgr/widget/ProjectScreens.xml#CreateUserLogin"/>
+    <view-map name="showvisits" type="screen" 
page="component://projectmgr/widget/ProjectScreens.xml#showvisits"/>
+    <view-map name="AddPartyNote" type="screen" 
page="component://projectmgr/widget/ProjectScreens.xml#AddPartyNote"/>
+    <view-map name="editcontactmech" type="screen" 
page="component://projectmgr/widget/ProjectScreens.xml#editcontactmech"/>
+    <view-map name="EditPartyRates" type="screen" 
page="component://projectmgr/widget/ProjectScreens.xml#EditPartyRates"/>
     
     <view-map name="main" type="screen" 
page="component://projectmgr/widget/CommonScreens.xml#Main"/>
     <view-map name="ganttChart" type="screen" 
page="component://projectmgr/widget/ProjectScreens.xml#ganttChart"/>    

Modified: ofbiz/trunk/specialpurpose/projectmgr/widget/CommonScreens.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/widget/CommonScreens.xml?rev=613157&r1=613156&r2=613157&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/projectmgr/widget/CommonScreens.xml (original)
+++ ofbiz/trunk/specialpurpose/projectmgr/widget/CommonScreens.xml Fri Jan 18 
05:30:02 2008
@@ -366,8 +366,27 @@
                 <entity-one entity-name="Party" value-name="party"/>
                 <entity-one entity-name="Person" value-name="lookupPerson"/>
                 <entity-one entity-name="PartyGroup" value-name="lookupGroup"/>
+                <set field="communicationEventId" 
from-field="parameters.communicationEventId"/>
+                <entity-one entity-name="CommunicationEvent" 
value-name="communicationEvent"/>
+                <set field="okayToUpdate" value="true" type="Boolean" 
global="true"/>
             </actions>
             <widgets>
+                <section>
+                    <condition>
+                        <and>
+                            <not><if-empty 
field-name="communicationEvent.statusId"/></not>
+                            <or>
+                                <if-compare 
field-name="communicationEvent.statusId" operator="equals" type="String" 
value="COM_COMPLETE"/>
+                                <if-compare 
field-name="communicationEvent.statusId" operator="equals" type="String" 
value="COM_RESOLVED"/>
+                                <if-compare 
field-name="communicationEvent.statusId" operator="equals" type="String" 
value="COM_REFERRED"/>
+                            </or>
+                        </and>
+                    </condition>
+                    <actions>
+                        <set field="okayToUpdate" value="false" type="Boolean" 
global="true"/>
+                    </actions>
+                    <widgets/>
+                </section>
                 <decorator-screen name="main-decorator" 
location="${parameters.mainDecoratorLocation}">
                     <decorator-section name="body">
                         <section>

Modified: ofbiz/trunk/specialpurpose/projectmgr/widget/Menus.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/widget/Menus.xml?rev=613157&r1=613156&r2=613157&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/projectmgr/widget/Menus.xml (original)
+++ ofbiz/trunk/specialpurpose/projectmgr/widget/Menus.xml Fri Jan 18 05:30:02 
2008
@@ -335,6 +335,9 @@
         <menu-item name="listResourcesTask"  title="Task">
             <link target="listResourcesTask?partyId=${partyId}"></link>
         </menu-item>
+        <menu-item name="EditPartyRates"  title="Rates">
+            <link target="EditPartyRates?partyId=${partyId}"></link>
+        </menu-item>
     </menu>
     <menu name="RequestTabBar">
         <menu-item name="viewRequest" title="${uiLabelMap.ProjectMgrView}">

Modified: ofbiz/trunk/specialpurpose/projectmgr/widget/ProjectScreens.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/widget/ProjectScreens.xml?rev=613157&r1=613156&r2=613157&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/projectmgr/widget/ProjectScreens.xml (original)
+++ ofbiz/trunk/specialpurpose/projectmgr/widget/ProjectScreens.xml Fri Jan 18 
05:30:02 2008
@@ -742,9 +742,7 @@
                                 <include-screen name="Party" 
location="component://party/widget/partymgr/ProfileScreens.xml"/>
                                 <include-screen name="Contact" 
location="component://party/widget/partymgr/ProfileScreens.xml"/>
                                 <include-screen name="UserLogin" 
location="component://party/widget/partymgr/ProfileScreens.xml"/>
-                                <include-screen name="Attributes" 
location="component://party/widget/partymgr/ProfileScreens.xml"/>
                                 <include-screen name="Visits" 
location="component://party/widget/partymgr/ProfileScreens.xml"/>
-                                <include-screen name="ShipperAccount" 
location="component://party/widget/partymgr/ProfileScreens.xml"/>
                                 <include-screen name="Notes" 
location="component://party/widget/partymgr/ProfileScreens.xml"/>               
                
                             </widgets>
                             <fail-widgets>
@@ -770,6 +768,14 @@
                     <field-map field-name="partyId" 
env-name="parameters.partyId"/>
                     <order-by field-name="workEffortId"/>
                 </entity-and>
+                <set field="projectId" from-field="parameters.projectId" 
default-value="${parameters.workEffortId}"/>
+                <service service-name="getProject" result-map-name="result">
+                    <field-map field-name="projectId" env-name="projectId"/>
+                </service>
+                <set field="project" from-field="result.projectInfo"/>
+                <set field="workEffortId" from-field="parameters.projectId" 
default-value="parameters.workEffortId"/>
+                <set field="projectId" from-field="workEffortId"/>
+                <entity-one entity-name="WorkEffortPartyAssignment" 
value-name="workEffortPartyAssignment"/>
                 <set field="viewIndex" from-field="parameters.VIEW_INDEX" 
type="Integer"/>
                 <set field="viewSize" from-field="parameters.VIEW_SIZE" 
type="Integer" default-value="10"/>
             </actions>
@@ -786,6 +792,12 @@
                                         <include-form 
name="listResourcesProjects" 
location="component://projectmgr/widget/forms/ProjectForms.xml"/>               
                     
                                     </container>
                                 </container>
+                                <container style="screenlet">
+                                    <container 
style="screenlet-title-bar"><label 
style="boxhead">${uiLabelMap.PageTitleAddProject}</label></container>           
                     
+                                    <container style="screenlet-body"> 
+                                        <include-form 
name="AddResourceProjectParty" 
location="component://projectmgr/widget/forms/ProjectForms.xml"/>
+                                    </container>
+                                </container>
                             </widgets>
                         </section>             
                     </decorator-section>
@@ -800,10 +812,14 @@
                 <set field="tabButtonItem" value="listResourcesTask"/>
                 <set field="titleProperty" value="List Task by Party"/>
                 <set field="workEffortId" from-field="parameters.projectId"/>
-                <entity-and entity-name="ProjectAndPhaseAndTaskParty" 
list-name="tasks">
+                <entity-and entity-name="WorkEffortAndPartyAssign" 
list-name="tasks">
                     <field-map field-name="partyId" 
env-name="parameters.partyId"/>
+                    <field-map field-name="workEffortTypeId" value="TASK"/>
+                    <field-map field-name="statusId" 
value="PRTYASGN_ASSIGNED"/>
                     <order-by field-name="workEffortId"/>
                 </entity-and>
+                <set field="projectId" from-field="parameters.projectId" 
default-value="${parameters.workEffortId}"/>
+                <set field="partyId" from-field="parameters.partyId"/>
                 <set field="viewIndex" from-field="parameters.VIEW_INDEX" 
type="Integer"/>
                 <set field="viewSize" from-field="parameters.VIEW_SIZE" 
type="Integer" default-value="10"/>
             </actions>
@@ -820,10 +836,357 @@
                                         <include-form 
name="listResourcesTasks" 
location="component://projectmgr/widget/forms/ProjectForms.xml"/>
                                     </container>
                                 </container>
+                                <container style="screenlet">
+                                    <container 
style="screenlet-title-bar"><label 
style="boxhead">${uiLabelMap.PageTitleAddTask}</label></container>              
                  
+                                    <container style="screenlet-body"> 
+                                        <include-form 
name="AddResourceTaskParty" 
location="component://projectmgr/widget/forms/ProjectForms.xml"/>
+                                    </container>
+                                </container>
                             </widgets>
                         </section>
                     </decorator-section>
                 </decorator-screen>                   
+            </widgets>
+        </section>
+    </screen>
+    
+    <screen name="EditPerson">
+        <section>
+            <actions>
+                <set field="titleProperty" 
value="PageTitleEditPersonalInformation"/>
+                <set field="tabButtonItem" value="viewprofile"/>
+                <set field="headerItem" value="create"/>
+                <set field="labelTitleProperty" 
value="PageTitleEditPersonalInformation"/>
+                
+                <set field="donePage" from-field="parameters.DONE_PAGE" 
default-value="viewprofile"/>
+                <set field="partyId" from-field="parameters.partyId"/>
+                <entity-one entity-name="PartyAndPerson" value-name="person"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="CommonListResourceDecorator" 
location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <include-form name="EditPerson" 
location="component://party/webapp/partymgr/party/PartyForms.xml"/>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+    
+    <screen name="AddPartyNote">
+        <section>
+            <actions>
+                <set field="titleProperty" value="PageTitleNewPartyNote"/>
+                <set field="tabButtonItem" value="viewprofile"/>
+                <set field="labelTitleProperty" value="PageTitleNewPartyNote"/>
+                
+                <set field="donePage" from-field="parameters.DONE_PAGE" 
default-value="viewprofile"/>
+                <set field="partyId" from-field="parameters.partyId"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="CommonListResourceDecorator" 
location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <container><label 
text="${uiLabelMap.PageTitleNewPartyNote}" style="head2"/></container>
+                        <include-form name="AddPartyNote" 
location="component://party/webapp/partymgr/party/PartyForms.xml"/>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+    
+    <screen name="editcontactmech">
+        <section>
+            <actions>
+                <set field="titleProperty" value="PageTitleEditContactMech"/>
+                <set field="headerItem" value="find"/>
+                <set field="tabButtonItem" value="editcontactmech"/>
+                
+                <set field="labelTitleProperty" 
value="PageTitleEditContactMech"/>
+                
+                <script 
location="component://party/webapp/partymgr/WEB-INF/actions/HasPartyPermissions.bsh"/>
+                <script 
location="component://party/webapp/partymgr/WEB-INF/actions/party/editcontactmech.bsh"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="CommonListResourceDecorator" 
location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <section>
+                            <condition>
+                                <or>
+                                    <if-compare field-name="hasViewPermission" 
operator="equals" value="true" type="Boolean"/>
+                                    <if-compare 
field-name="hasPcmCreatePermission" operator="equals" value="true" 
type="Boolean"/>
+                                    <if-compare 
field-name="hasPcmUpdatePermission" operator="equals" value="true" 
type="Boolean"/>
+                                    <not><if-empty 
field-name="mechMap.partyContactMech"/></not>
+                                </or>
+                            </condition>
+                            <widgets>
+                                <platform-specific>
+                                    <html><html-template 
location="component://party/webapp/partymgr/party/editcontactmech.ftl"/></html>
+                                </platform-specific>
+                            </widgets>
+                            <fail-widgets>
+                                <container>
+                                    <label 
style="head3">${uiLabelMap.PartyMsgContactNotBelongToYou}</label>
+                                </container>
+                                <container>
+                                    <link target="authview/${donePage}" 
text="[${uiLabelMap.CommonBack}]" style="smallSubmit"/>
+                                </container>
+                            </fail-widgets>
+                        </section>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+    
+    <screen name="EditCommunicationEvent">
+        <section>
+            <actions>
+                <set field="titleProperty" value="PageTitleEditCommunication"/>
+                <set field="tabButtonItem" value="PartyCommEvents"/>
+                <set field="subTabButtonItem" value="CommunicationEvent"/>
+                <set field="entityName" value="CommunicationEvent"/>
+                
+                <set field="communicationEventId" 
from-field="parameters.communicationEventId"/>
+                <set field="parentCommEventId" 
from-field="parameters.parentCommEventId"/>
+                
+                <set field="partyId" from-field="parameters.partyId"/>
+                <set field="partyIdFrom" from-field="parameters.partyIdFrom" 
default-value="${userLogin.partyId}"/>
+                <set field="partyIdTo" from-field="parameters.partyIdTo"/>
+                <set field="contactMechIdFrom" 
from-field="parameters.contactMechIdFrom"/>
+                <set field="contactMechIdTo" 
from-field="parameters.contactMechIdTo"/>
+                <set field="contactMechTypeId" 
from-field="parameters.contactMechTypeId"/>
+                
+                <entity-one entity-name="Party" use-cache="true" 
value-name="party"/>
+                <entity-one entity-name="Person" use-cache="true" 
value-name="lookupPerson"/>
+                <entity-one entity-name="CommunicationEvent" 
value-name="communicationEvent"/>
+                <script 
location="component://party/webapp/partymgr/WEB-INF/actions/communication/findCommEventContactMechs.bsh"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="CommonListResourceDecorator" 
location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <section>
+                            <widgets>
+                                <section>
+                                    <condition>
+                                        <not><if-empty 
field-name="communicationEvent"/></not>
+                                    </condition>
+                                    <widgets>
+                                        <label style="head1" 
text="${uiLabelMap.PartyEditCommunicationEvent}"/>
+                                    </widgets>
+                                    <fail-widgets>
+                                        <label style="head1" 
text="${uiLabelMap.PartyNewCommunication}"/>
+                                    </fail-widgets>
+                                </section>
+                                <section>
+                                    <widgets>
+                                        <container>
+                                            <link style="smallSubmit" 
target="EditCommunicationEvent?partyId=${partyId}&amp;partyIdFrom=${partyId}" 
text="${uiLabelMap.PartyNewCommunication}"/>
+                                            <link style="smallSubmit" 
target="EditCommunicationEvent?partyId=${partyId}&amp;parentCommEventId=${communicationEventId}"
 text="${uiLabelMap.PartyReply}"/>
+                                            <!--<link style="smallSubmit" 
target="EditCommunicationEvent?communicationEventTypeId=${communicationEvent.communicationEventTypeId}&amp;contactMechIdTo=${communicationEvent.contactMechIdFrom}&amp;contactMechIdFrom=${communicationEvent.contactMechIdTo}&amp;partyId=${partyId}&amp;partyIdTo=${partyId}&amp;partyIdFrom=${userLogin.partyId}&amp;parentCommEventId=${communicationEventId}&amp;toString=${communicationEvent.fromString}"
 text="${uiLabelMap.PartyReply}"/>-->
+                                        </container>
+                                    </widgets>
+                                </section>
+                                <section>
+                                    <condition>
+                                        <if-compare field-name="okayToUpdate" 
operator="equals" value="true" type="Boolean"/>
+                                    </condition>
+                                    <widgets>
+                                        <container style="widget-container">
+                                            <include-form 
location="component://party/webapp/partymgr/communication/CommForms.xml" 
name="EditCommEvent"/>
+                                        </container>
+                                        <container style="widget-container">
+                                            <include-form 
location="component://party/webapp/partymgr/communication/CommForms.xml" 
name="ListChildCommEvents"/>
+                                        </container>
+                                    </widgets>
+                                    <fail-widgets>
+                                        <container style="widget-container">
+                                            <include-form 
location="component://party/webapp/partymgr/communication/CommForms.xml" 
name="ViewCommEvent"/>
+                                        </container>
+                                        <container style="widget-container">
+                                            <include-form 
location="component://party/webapp/partymgr/communication/CommForms.xml" 
name="ListChildCommEvents"/>
+                                        </container>
+                                    </fail-widgets>
+                                </section>
+                            </widgets>
+                        </section>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+    
+    <screen name="EditPartyRates">
+        <section>
+            <actions>
+                <set field="titleProperty" value="PageTitleEditPartyRates"/>
+                <set field="headerItem" value="find"/>
+                <set field="tabButtonItem" value="EditPartyRates"/>
+                <set field="labelTitleProperty" 
value="PageTitleEditPartyRates"/>
+                
+                <set field="partyId" from-field="parameters.partyId"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="CommonListResourceDecorator" 
location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <container><label style="head1" 
text="${uiLabelMap.PageTitleEditPartyRates}"/></container>
+                        <include-form name="ListPartyRates" 
location="component://party/webapp/partymgr/party/PartyForms.xml"/>
+                        <include-form name="AddPartyRate" 
location="component://party/webapp/partymgr/party/PartyForms.xml"/>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+    
+    <screen name="CreateUserLogin">
+        <section>
+            <actions>
+                <set field="titleProperty" value="PartyCreateUserLogin"/>
+                <set field="tabButtonItem" value="viewprofile"/>
+                <set field="labelTitleProperty" value="PartyCreateUserLogin"/>
+                
+                <set field="donePage" from-field="parameters.DONE_PAGE" 
default-value="viewprofile"/>
+                <set field="partyId" from-field="parameters.partyId"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="CommonListResourceDecorator" 
location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <container><label 
text="${uiLabelMap.PartyCreateUserLogin}" style="head2"/></container>
+                        <include-form name="AddUserLogin" 
location="component://party/webapp/partymgr/party/PartyForms.xml"/>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+    
+    <screen name="showvisits">
+        <section>
+            <actions>
+                <set field="titleProperty" value="PageTitleVisitList"/>
+                <set field="headerItem" value="visits"/>
+                <set field="tabButtonItem" value="showvisits"/>
+                
+                <script 
location="component://party/webapp/partymgr/WEB-INF/actions/visit/showvisits.bsh"/>
                
+            </actions>
+            <widgets>
+                <decorator-screen name="CommonListResourceDecorator" 
location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <section>
+                            <!-- do check for PARTYMGR, _VIEW permission -->
+                            <condition>
+                                <if-has-permission permission="PARTYMGR" 
action="_VIEW"/>
+                            </condition>
+                            <widgets>
+                                <platform-specific>
+                                    <html><html-template 
location="component://party/webapp/partymgr/visit/showvisits.ftl"/></html>
+                                </platform-specific>
+                            </widgets>
+                            <fail-widgets>
+                                <label 
style="head3">${uiLabelMap.PartyMgrViewPermissionError}</label>
+                            </fail-widgets>
+                        </section>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+    <screen name="visitdetail">
+        <section>
+            <actions>
+                <set field="titleProperty" value="PageTitleVisitDetail"/>
+                <set field="headerItem" value="visits"/>
+                <set field="tabButtonItem" value="visitdetail"/>
+                
+                <script 
location="component://party/webapp/partymgr/WEB-INF/actions/visit/visitdetail.bsh"/>
                
+            </actions>
+            <widgets>
+                <decorator-screen name="CommonListResourceDecorator" 
location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <section>
+                            <!-- do check for PARTYMGR, _VIEW permission -->
+                            <condition>
+                                <if-has-permission permission="PARTYMGR" 
action="_VIEW"/>
+                            </condition>
+                            <widgets>
+                                <platform-specific>
+                                    <html><html-template 
location="component://party/webapp/partymgr/visit/visitdetail.ftl"/></html>
+                                </platform-specific>
+                            </widgets>
+                            <fail-widgets>
+                                <label 
style="head3">${uiLabelMap.PartyMgrViewPermissionError}</label>
+                            </fail-widgets>
+                        </section>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+    
+    <screen name="EditUserLogin">
+        <section>
+            <actions>
+                <set field="titleProperty" 
value="PageTitleEditGroupInformation"/>
+                <set field="tabButtonItem" value="viewprofile"/>
+                <set field="labelTitleProperty" 
value="PageTitleEditGroupInformation"/>
+                
+                <set field="donePage" from-field="parameters.DONE_PAGE" 
default-value="viewprofile"/>
+                <set field="partyId" from-field="parameters.partyId"/>
+                <set field="userLoginId" from-field="parameters.userLoginId"/>
+                <entity-one entity-name="UserLogin" 
value-name="editUserLogin"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="CommonListResourceDecorator" 
location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <container><label 
text="${uiLabelMap.PartyUserLoginChangePassword}" style="head2"/></container>
+                        <include-form name="updatePassword" 
location="component://party/webapp/partymgr/party/PartyForms.xml"/>
+                        <container><label 
text="${uiLabelMap.PartyUserLoginUpdateSecuritySettings}" 
style="head2"/></container>
+                        <include-form name="updateUserLoginSecurity" 
location="component://party/webapp/partymgr/party/PartyForms.xml"/>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+    
+    <screen name="EditUserLoginSecurityGroups">
+        <section>
+            <actions>
+                <set field="titleProperty" 
value="PageTitleEditUserLoginSecurityGroups"/>
+                <set field="tabButtonItem" value="viewprofile"/>
+                <set field="labelTitleProperty" 
value="PageTitleEditUserLoginSecurityGroups"/>
+                
+                <set field="userLoginId" from-field="parameters.userLoginId"/>
+                <entity-one entity-name="UserLogin" 
value-name="editUserLogin"/>
+                <set field="partyId" from-field="parameters.partyId" 
default-value="${editUserLogin.partyId}"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="CommonListResourceDecorator" 
location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <container><label style="head2" 
text="${uiLabelMap.PageTitleEditUserLoginSecurityGroups}"/></container>
+                        <include-form name="ListUserLoginSecurityGroups" 
location="component://party/widget/partymgr/SecurityForms.xml"/>
+                        <container><label style="head2" 
text="${uiLabelMap.PartyAddUserLoginToSecurityGroup}"/></container>
+                        <include-form name="AddUserLoginSecurityGroup" 
location="component://party/widget/partymgr/SecurityForms.xml"/>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+    
+    <screen name="EditPartyGroup">
+        <section>
+            <actions>
+                <set field="titleProperty" 
value="PageTitleEditGroupInformation"/>
+                <set field="tabButtonItem" value="viewprofile"/>
+                <set field="headerItem" value="create"/>                
+                <set field="labelTitleProperty" 
value="PageTitleEditGroupInformation"/>
+                
+                <set field="donePage" from-field="parameters.DONE_PAGE" 
default-value="viewprofile"/>
+                <set field="partyId" from-field="parameters.partyId"/>
+                <entity-one entity-name="PartyAndGroup" 
value-name="partyGroup"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="CommonListResourceDecorator" 
location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <include-form name="EditPartyGroup" 
location="component://party/webapp/partymgr/party/PartyForms.xml"/>
+                    </decorator-section>
+                </decorator-screen>
             </widgets>
         </section>
     </screen>

Modified: ofbiz/trunk/specialpurpose/projectmgr/widget/forms/ProjectForms.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/widget/forms/ProjectForms.xml?rev=613157&r1=613156&r2=613157&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/projectmgr/widget/forms/ProjectForms.xml 
(original)
+++ ofbiz/trunk/specialpurpose/projectmgr/widget/forms/ProjectForms.xml Fri Jan 
18 05:30:02 2008
@@ -417,27 +417,26 @@
         <field name="workEffortId"><hidden/></field>
         <field name="noteParty" title="${uiLabelMap.CommonBy}" 
widget-style="tabletext"><display 
description="${bsh:org.ofbiz.party.party.PartyHelper.getPartyName(delegator, 
noteParty, true)} at ${bsh: 
org.ofbiz.base.util.UtilDateTime.timeStampToString(noteDateTime, 
&quot;dd-MM-yyyy HH:mm&quot;, TimeZone.getDefault(), 
context.get(&quot;locale&quot;))}"/></field>
     </form>
-    <form name="listResourcesTasks" type="list" list-name="tasks" 
paginate-target="listResourcesTask">
+    <form name="listResourcesTasks" type="list" list-name="tasks" 
paginate-target="listResourcesTask" target="updateResourcesTaskAssigment">
         <row-actions>
+            <service service-name="getProjectIdAndName" 
result-map-name="resultProject">
+                <field-map field-name="taskId" env-name="workEffortId"/>
+            </service>
             <service service-name="getProjectTask" result-map-name="result">
                 <field-map field-name="taskId" env-name="workEffortId"/>
             </service>
             <set field="currentStatusId" 
from-field="result.taskInfo.currentStatusId"/>
             <set field="plannedHours" 
from-field="result.taskInfo.plannedHours"/>
             <set field="actualHours" from-field="result.taskInfo.actualHours"/>
+            <set field="statusId" from-field="result.statusId"/>
         </row-actions>
-        <field entry-name="workEffortName" name="taskName" 
parameter-name="workEffortName" title="${uiLabelMap.CommonName}" 
widget-style="buttontext">
-            <hyperlink target="taskView?workEffortId=${workEffortId}" 
description="${workEffortName}[${workEffortId}]"/>
-        </field>
-        <field name="phaseName" title="phase name" widget-style="buttontext" 
widget-area-style="tabletextcenter">
-            <hyperlink target="FindPhase?projectId=${projectId}" 
description="${phaseName}"/>
-        </field>
-        <field name="projectName" title="project name" 
widget-style="buttontext">
-            <hyperlink target="projectView?projectId=${projectId}" 
description="${projectName}"/>
-        </field>
-        <field name="currentStatusId" title="${uiLabelMap.CommonStatus}">
-            <display-entity entity-name="StatusItem" key-field-name="statusId" 
description="${description}"/>
+        <field name="workEffortName" title="${uiLabelMap.ProjectMgrTaskName}" 
widget-style="buttontext">
+            <hyperlink also-hidden="false" description="${workEffortName}" 
target="taskView?workEffortId=${workEffortId}"/>
         </field>
+        <field name="phaseName" 
title="${uiLabelMap.ProjectMgrPhaseName}"><display 
description="${resultProject.phaseName}"/></field>
+        <field name="projectName" 
title="${uiLabelMap.ProjectMgrProjectName}"><hyperlink 
target="projectView?projectId=${resultProject.projectId}" 
description="${resultProject.projectName}"/></field>
+        <field entry-name="currentStatusId" 
name="currentStatusId"><display-entity entity-name="StatusItem" 
key-field-name="statusId" description="${description}"/></field>
+        <field entry-name="statusId" name="Status"><display-entity 
entity-name="StatusItem" key-field-name="statusId" 
description="${description}"/></field>
         <field name="workEffortId"><hidden value="${workEffortId}"/></field>
         <field name="priority" title="${uiLabelMap.CommonPriority}" 
widget-area-style="tabletextcenter">
             <display description="${priority}"/>
@@ -448,6 +447,8 @@
         <field name="actualCompletionDate" 
title="${uiLabelMap.ProjectMgrWorkEffortActualCompletionDate}" 
widget-area-style="tabletextcenter"><display type="date"/></field>
         <field name="plannedHours" 
widget-area-style="tabletextcenter"><display/></field>
         <field name="actualHours" 
widget-area-style="tabletextcenter"><display/></field>
+        <field name="remove" title="${uiLabelMap.CommonRemove}"><hyperlink 
target="updateResourcesTaskAssigment?workEffortId=${workEffortId}&amp;partyId=${partyId}&amp;roleTypeId=${roleTypeId}&amp;fromDate=${fromDate}&amp;statusId=PAS_ENDED"
 description="${uiLabelMap.CommonRemove}"/></field>
+        <field name="toComplete" 
title="${uiLabelMap.CommonStatustoComplete}"><hyperlink 
target="updateResourcesTaskAssigment?workEffortId=${workEffortId}&amp;partyId=${partyId}&amp;roleTypeId=${roleTypeId}&amp;fromDate=${fromDate}&amp;statusId=PAS_COMPLETED"
 description="${uiLabelMap.CommonStatustoComplete}"/></field>
     </form>
     <form name="listResourcesProjects" type="list" list-name="parties" 
default-title-style="tableheadtext">
         <row-actions>
@@ -478,5 +479,57 @@
         <field name="plannedHours" 
widget-area-style="tabletextcenter"><display/></field>
         <field name="actualHours" 
widget-area-style="tabletextcenter"><display/></field>
         <field name="CreatedStamp" title="CreatedStamp"><display 
type="date"/></field>
+    </form>
+    <form name="AddResourceProjectParty" target="addWorkEffortPartyAssign" 
title="" type="single">
+        <field name="projectId"><hidden/></field>
+        <field name="statusId"><hidden value="PRTYASGN_ASSIGNED"/></field>
+        <field name="workEffortId"><hidden value="${workEffortId}"/></field>
+        <field name="partyId"><hidden/></field>
+        <field use-when="workEffortId==projectId" name="workEffortId" 
entry-name="test" title="${uiLabelMap.ProjectMgrProjectName}"><!-- project 
level --> 
+            <drop-down allow-empty="false">
+                <entity-options entity-name="WorkEffort" 
description="${workEffortName}" key-field-name="workEffortId">
+                    <entity-constraint name="workEffortTypeId" 
value="PROJECT"/>
+                    <entity-constraint name="workEffortId" 
operator="not-equals" env-name="projectId"/>                    
+                </entity-options>
+            </drop-down>
+        </field>
+        <field use-when="project==null" name="currentStatusId"><hidden 
value="_NA_"/></field>
+        <field entry-name="test" name="roleTypeId" 
title="${uiLabelMap.PartyRoleType}">
+            <drop-down>
+                <entity-options entity-name="RoleType" 
description="${description}">
+                    <entity-constraint name="parentTypeId" 
value="PROJECT_TEAM"/>
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field entry-name="test" name="fromDate"><date-time 
type="date"/></field>
+        <field entry-name="test" name="thruDate"><date-time 
type="date"/></field>
+        <field name="submitButton" title="${uiLabelMap.CommonAdd}" 
widget-style="smallSubmit"><submit button-type="button"/></field>
+    </form>
+    <form name="AddResourceTaskParty" target="addTaskPartyAssign" title="" 
type="single">
+        <field name="projectId"><hidden/></field>
+        <field name="statusId"><hidden value="PRTYASGN_ASSIGNED"/></field>
+        <field name="workEffortId"><hidden value="${workEffortId}"/></field>
+        <field name="partyId"><hidden/></field>
+        <field entry-name="test" name="workEffortId" 
title="${uiLabelMap.ProjectMgrTaskName}"><!-- task level -->
+            <drop-down allow-empty="false">
+                <entity-options entity-name="ProjectPartyAndPhaseAndTask" 
description="${workEffortName} (${phaseName}-${projectName})">
+                    <entity-constraint name="partyId" 
env-name="parameters.partyId"/>
+                    <entity-constraint name="workEffortTypeId" value="TASK"/>
+                    <entity-constraint name="currentStatusId" 
operator="equals" value="PTS_CREATED"/>
+                </entity-options>                
+            </drop-down>
+        </field>
+        <field entry-name="test" name="roleTypeId" 
title="${uiLabelMap.PartyRoleType}">
+            <drop-down>
+                <entity-options entity-name="RoleType" 
description="${description}">
+                    <entity-constraint name="parentTypeId" 
value="PROJECT_TEAM"/>
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field entry-name="test" name="fromDate"><date-time 
type="date"/></field>
+        <field entry-name="test" name="thruDate"><date-time 
type="date"/></field>
+        <field name="submitButton" title="${uiLabelMap.CommonAdd}" 
widget-style="smallSubmit"><submit button-type="button"/></field>
     </form>
 </forms>


Reply via email to