svn commit: r690628 - in /ofbiz/trunk: applications/order/entitydef/ specialpurpose/mypage/config/ specialpurpose/mypage/widget/ specialpurpose/projectmgr/script/org/ofbiz/project/ specialpurpose/projectmgr/widget/forms/

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

svn commit: r690628 - in /ofbiz/trunk: applications/order/entitydef/ specialpurpose/mypage/config/ specialpurpose/mypage/widget/ specialpurpose/projectmgr/script/org/ofbiz/project/ specialpurpose/projectmgr/widget/forms/

hansbak-2
Author: hansbak
Date: Sat Aug 30 20:19:51 2008
New Revision: 690628

URL: http://svn.apache.org/viewvc?rev=690628&view=rev
Log:
allow contacts of the same customer account see each other customer requests

Modified:
    ofbiz/trunk/applications/order/entitydef/entitymodel_view.xml
    ofbiz/trunk/specialpurpose/mypage/config/MyPageUiLabels.xml
    ofbiz/trunk/specialpurpose/mypage/widget/CommonScreens.xml
    ofbiz/trunk/specialpurpose/mypage/widget/MyPageForms.xml
    ofbiz/trunk/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectPermissionServices.xml
    ofbiz/trunk/specialpurpose/projectmgr/widget/forms/TaskForms.xml

Modified: ofbiz/trunk/applications/order/entitydef/entitymodel_view.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/entitydef/entitymodel_view.xml?rev=690628&r1=690627&r2=690628&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/entitydef/entitymodel_view.xml (original)
+++ ofbiz/trunk/applications/order/entitydef/entitymodel_view.xml Sat Aug 30 20:19:51 2008
@@ -1270,18 +1270,26 @@
         <key-map field-name="workEffortId"/>
       </relation>
     </view-entity>
-    <view-entity entity-name="CustRequestInfoAndWorkEffort"
+    <view-entity entity-name="CustRequestInfoAndWorkEffortAndPartyRel"
             package-name="org.ofbiz.order.request"
             title="Customer Request And WorkEffort">
       <member-entity entity-alias="CR" entity-name="CustRequest"/>
       <member-entity entity-alias="CRW" entity-name="CustRequestWorkEffort"/>
+      <member-entity entity-alias="PR" entity-name="PartyRelationship"/>
       <alias-all entity-alias="CR"/>
       <alias-all entity-alias="CRW">
         <exclude field="custRequestId"/>
       </alias-all>
+      <alias entity-alias="PR" name="partyIdFrom"/>
+      <alias entity-alias="PR" name="roleTypeIdFrom"/>
+      <alias entity-alias="PR" name="partyIdTo"/>
+      <alias entity-alias="PR" name="roleTypeIdTo"/>
       <view-link entity-alias="CR" rel-entity-alias="CRW" rel-optional="true">
         <key-map field-name="custRequestId"/>
       </view-link>
+      <view-link entity-alias="CR" rel-entity-alias="PR" rel-optional="true">
+        <key-map field-name="fromPartyId" rel-field-name="partyIdTo"/>
+      </view-link>
       <relation type="one-nofk" rel-entity-name="WorkEffort">
         <key-map field-name="workEffortId"/>
       </relation>

Modified: ofbiz/trunk/specialpurpose/mypage/config/MyPageUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/mypage/config/MyPageUiLabels.xml?rev=690628&r1=690627&r2=690628&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/mypage/config/MyPageUiLabels.xml (original)
+++ ofbiz/trunk/specialpurpose/mypage/config/MyPageUiLabels.xml Sat Aug 30 20:19:51 2008
@@ -26,6 +26,10 @@
         <value xml:lang="en">All Communications</value>
         <value xml:lang="fr">Toutes les communications</value>
     </property>
+    <property key="CommunicationsOfParty">
+        <value xml:lang="en">Communications of party</value>
+        <value xml:lang="fr">Communications de l'acteur</value>
+    </property>
     <property key="EmailsFromKnownOrigin">
         <value xml:lang="en">Emails from known origin</value>
         <value xml:lang="fr">Courriel issue d'une origine connue</value>
@@ -114,9 +118,8 @@
         <value xml:lang="en">You do not have access to this information</value>
         <value xml:lang="fr">Vous n'avez pas accès à cette information</value>
     </property>
-    <property key="CommunicationsOfParty">
-        <value xml:lang="en">Communications of party</value>
-        <value xml:lang="fr">Communications de l'acteur</value>
+    <property key="OtherCompanyCustomerRequests">
+        <value xml:lang="en">Customer Requests from other contacts of my company</value>
     </property>
     <property key="TaskStatus">
         <value xml:lang="en">Task Status</value>

Modified: ofbiz/trunk/specialpurpose/mypage/widget/CommonScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/mypage/widget/CommonScreens.xml?rev=690628&r1=690627&r2=690628&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/mypage/widget/CommonScreens.xml (original)
+++ ofbiz/trunk/specialpurpose/mypage/widget/CommonScreens.xml Sat Aug 30 20:19:51 2008
@@ -281,7 +281,7 @@
                 <set field="partyId" from-field="userLogin.partyId"/>
                 <set field="status" from-field="parameters.status" default-value="open"/>
                 <set field="status" value="${bsh:&quot;all&quot;.equals(status)?&quot;%&quot;:&quot;open&quot;}"/>
-                <entity-condition list-name="custRequests" entity-name="CustRequestInfoAndWorkEffort">
+                <entity-condition list-name="custRequests" entity-name="CustRequestInfoAndWorkEffortAndPartyRel">
                     <condition-list combine="and">
                         <condition-expr field-name="fromPartyId" operator="equals" value="${userLogin.partyId}"/>
                         <condition-list combine="or">
@@ -292,13 +292,21 @@
                     <order-by field-name="+priority"/>
                     <order-by field-name="+custRequestDate"/>
                 </entity-condition>
-                <entity-condition list-name="custRequestsCompleted" entity-name="CustRequestInfoAndWorkEffort">
+                <entity-condition list-name="custRequestsCompleted" entity-name="CustRequestInfoAndWorkEffortAndPartyRel">
                     <condition-list combine="and">
                         <condition-expr field-name="fromPartyId" operator="equals" value="${userLogin.partyId}"/>
                         <condition-expr field-name="statusId" operator="equals" value="CRQ_COMPLETED"/>
                     </condition-list>
                     <order-by field-name="custRequestDate"/>
                 </entity-condition>
+                <script location="component://party/webapp/partymgr/WEB-INF/actions/party/GetMyCompany.groovy"/>                
+                <entity-condition list-name="companyCustRequests" entity-name="CustRequestInfoAndWorkEffortAndPartyRel">
+                    <condition-list combine="and">
+                        <condition-expr field-name="partyIdFrom" operator="equals" value="${myCompanyId}"/>
+                        <condition-expr field-name="fromPartyId" operator="not-equals" value="${userLogin.partyId}"/>
+                    </condition-list>
+                    <order-by field-name="custRequestDate"/>
+                </entity-condition>
                 <!-- only list internal notes to the customer do not show the incoming or outgoing emails: will confuse only -->
                 <entity-condition entity-name="CommunicationEventAndRole" list-name="commEvents">
                     <condition-list combine="and">
@@ -321,15 +329,21 @@
                 </screenlet>
                 <screenlet title="${uiLabelMap.MyCompletedCustomerRequests}" navigation-form-name="ListCustRequestsCompleted">
                     <include-form name="ListCustRequestsCompleted" location="component://mypage/widget/MyPageForms.xml"/>
-                    <!-- include-form name="ListCustRequestsCompletedTotal" location="component://mypage/widget/MyPageForms.xml"/-->
                 </screenlet>
+                <section>
+                    <condition>
+                        <not><if-empty field-name="companyCustRequests"/></not>
+                    </condition>
+                    <widgets>
+                        <screenlet title="${uiLabelMap.OtherCompanyCustomerRequests}" navigation-form-name="ListOtherCompanyRequests">
+                            <include-form name="ListOtherCompanyRequests" location="component://mypage/widget/MyPageForms.xml"/>
+                        </screenlet>
+                    </widgets>
+                </section>
                 <screenlet title="${uiLabelMap.CommunicationsOfParty}: ${partyName.firstName} ${partyName.middleName} ${partyName.lastName} ${partyName.groupName} [${partyId}] "
-                    navigation-menu-name="communicationsMenu" navigation-form-name="ListPartyCommEvents"
-                    name="myComms">
-                    <include-menu name="communicationsMenu"
-                        location="component://mypage/widget/MyPageMenus.xml" />
-                    <include-form name="ListPartyCommEvents"
-                        location="component://mypage/widget/MyPageForms.xml" />
+                    navigation-menu-name="communicationsMenu" navigation-form-name="ListPartyCommEvents" name="myComms">
+                    <include-menu name="communicationsMenu" location="component://mypage/widget/MyPageMenus.xml" />
+                    <include-form name="ListPartyCommEvents" location="component://mypage/widget/MyPageForms.xml" />
                 </screenlet>                
             </widgets>
         </section>

Modified: ofbiz/trunk/specialpurpose/mypage/widget/MyPageForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/mypage/widget/MyPageForms.xml?rev=690628&r1=690627&r2=690628&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/mypage/widget/MyPageForms.xml (original)
+++ ofbiz/trunk/specialpurpose/mypage/widget/MyPageForms.xml Sat Aug 30 20:19:51 2008
@@ -162,14 +162,12 @@
     <form name="ListCustRequestsCompleted" extends="ListCustRequests" list-name="custRequestsCompleted">
         <field name="priority"><display/></field>
         <field name="updateButton"><ignored/></field>
-        <field name="currentStatusId"><ignored/></field>
     </form>
 
-    <form name="ListCustRequestsCompletedTotal" type="single">
-        <actions>
-            <set field="TotalHoursThisMonth" value="33"/>
-        </actions>
-        <field name="TotalHoursThisMonth"><display/></field>
+    <form name="ListOtherCompanyRequests" extends="ListCustRequestsCompleted" list-name="companyCustRequests">
+        <field name="fromPartyId">
+            <display-entity entity-name="PartyNameView" key-field-name="partyId" description="${firstName} ${middleName} ${lastName} ${groupName} [${fromPartyId}])"/>
+        </field>
     </form>
 
     <form name="EditCustRequest" extends="EditCustRequest" extends-resource="component://projectmgr/widget/forms/RequestForms.xml">

Modified: ofbiz/trunk/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectPermissionServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectPermissionServices.xml?rev=690628&r1=690627&r2=690628&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectPermissionServices.xml (original)
+++ ofbiz/trunk/specialpurpose/projectmgr/script/org/ofbiz/project/ProjectPermissionServices.xml Sat Aug 30 20:19:51 2008
@@ -154,13 +154,29 @@
                 <field-map field-name="workEffortId" env-name="taskId"/>
             </entity-and>
             <first-from-list list-name="custRequests" entry-name="custRequest"/>
+            <entity-and entity-name="PartyRelationship" list-name="accounts">
+                <field-map field-name="roleTypeIdFrom" value="ACCOUNT"/>
+                <field-map field-name="roleTypeIdTo" value="CONTACT"/>
+                <field-map field-name="partyIdTo" env-name="custRequest.fromPartyId"/>
+            </entity-and>
+            <first-from-list list-name="accounts" entry-name="accountCustReq"/>
+            <entity-and entity-name="PartyRelationship" list-name="accounts">
+                <field-map field-name="roleTypeIdFrom" value="ACCOUNT"/>
+                <field-map field-name="roleTypeIdTo" value="CONTACT"/>
+                <field-map field-name="partyIdTo" env-name="parameters.userLogin.partyId"/>
+            </entity-and>
+            <first-from-list list-name="accounts" entry-name="accountLogin"/>
             <if>
                 <condition>
                     <or>
                         <and>
-                            <!-- allow a customer to look at his own tasks related to his own customer requests -->
                             <if-compare field="parameters.mainAction" value="VIEW" operator="equals"/>
-                            <if-compare operator="equals" value="${parameters.userLogin.partyId}" field="custRequest.fromPartyId"/>
+                            <or>
+                                <!-- allow a customer to look at his own tasks related to his own customer requests -->
+                                <if-compare operator="equals" value="${parameters.userLogin.partyId}" field="custRequest.fromPartyId"/>
+                                <!-- allow to view if the logged on party is a contact of the same account as the customer requester -->
+                                <if-compare operator="equals" value="${accountLogin.partyIdFrom}" field="accountCustReq.partyIdFrom"/>
+                            </or>
                         </and>
                         <and>
                             <!-- view a task with a null id is a null operation, so ok... -->

Modified: ofbiz/trunk/specialpurpose/projectmgr/widget/forms/TaskForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/projectmgr/widget/forms/TaskForms.xml?rev=690628&r1=690627&r2=690628&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/projectmgr/widget/forms/TaskForms.xml (original)
+++ ofbiz/trunk/specialpurpose/projectmgr/widget/forms/TaskForms.xml Sat Aug 30 20:19:51 2008
@@ -195,7 +195,7 @@
         <field name="estimatedStartDate" title="${uiLabelMap.CommonFromDate}"><date-find/></field>
         <field name="find" title="${uiLabelMap.CommonFind}"><submit/></field>
     </form>
-    <form name="ListTasks" type="list" separate-columns="true" title="Project List" list-name="listIt"  paginate-target="FindTask"
+    <form name="ListTasks" type="list" separate-columns="true" title="Task List" list-name="listIt"  paginate-target="FindTask"
         odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
         <actions>
             <service service-name="performFind" result-map-name="result" result-map-list-name="listIt">