svn commit: r799200 - in /ofbiz/trunk/applications/workeffort: entitydef/entitymodel_view.xml src/org/ofbiz/workeffort/workeffort/WorkEffortServices.java

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

svn commit: r799200 - in /ofbiz/trunk/applications/workeffort: entitydef/entitymodel_view.xml src/org/ofbiz/workeffort/workeffort/WorkEffortServices.java

hansbak-2
Author: hansbak
Date: Thu Jul 30 08:31:54 2009
New Revision: 799200

URL: http://svn.apache.org/viewvc?rev=799200&view=rev
Log:
calendar not showing public events as reported in the mailing list

Modified:
    ofbiz/trunk/applications/workeffort/entitydef/entitymodel_view.xml
    ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortServices.java

Modified: ofbiz/trunk/applications/workeffort/entitydef/entitymodel_view.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/entitydef/entitymodel_view.xml?rev=799200&r1=799199&r2=799200&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/entitydef/entitymodel_view.xml (original)
+++ ofbiz/trunk/applications/workeffort/entitydef/entitymodel_view.xml Thu Jul 30 08:31:54 2009
@@ -235,8 +235,52 @@
         <key-map field-name="roleTypeId"/>
       </relation>
     </view-entity>
-    <view-entity entity-name="WorkEffortPartyAssignAndRoleType"
-      package-name="org.ofbiz.workeffort.workeffort"
+  <view-entity entity-name="WorkEffortAndPartyAssignAndType"
+    package-name="org.ofbiz.workeffort.workeffort"
+    title="Work Effort And Party Assignment Entity">
+    <member-entity entity-alias="WE" entity-name="WorkEffort"/>
+    <member-entity entity-alias="WEPA" entity-name="WorkEffortPartyAssignment"/>
+    <member-entity entity-alias="WETY" entity-name="WorkEffortType"/>
+    <alias-all entity-alias="WE"/>
+    <alias-all entity-alias="WEPA">
+      <exclude field="facilityId"/>
+    </alias-all>
+    <alias entity-alias="WEPA" name="partyAssignFacilityId" field="facilityId"/>
+    <alias entity-alias="WETY" name="parentTypeId"/>
+    <view-link entity-alias="WE" rel-entity-alias="WEPA">
+      <key-map field-name="workEffortId"/>
+    </view-link>
+    <view-link entity-alias="WE" rel-entity-alias="WETY">
+      <key-map field-name="workEffortTypeId"/>
+    </view-link>
+    <relation type="one-nofk" rel-entity-name="WorkEffort">
+      <key-map field-name="workEffortId"/>
+    </relation>
+    <relation type="one-nofk" rel-entity-name="WorkEffortPartyAssignment">
+      <key-map field-name="workEffortId"/>
+      <key-map field-name="partyId"/>
+      <key-map field-name="roleTypeId"/>
+      <key-map field-name="fromDate"/>
+    </relation>
+    <relation type="one-nofk" rel-entity-name="WorkEffortType">
+      <key-map field-name="workEffortTypeId"/>
+    </relation>
+    <relation type="one-nofk" rel-entity-name="Party">
+      <key-map field-name="partyId"/>
+    </relation>
+    <relation type="one-nofk" rel-entity-name="Person">
+      <key-map field-name="partyId"/>
+    </relation>
+    <relation type="one-nofk" rel-entity-name="PartyRole">
+      <key-map field-name="partyId"/>
+      <key-map field-name="roleTypeId"/>
+    </relation>
+    <relation type="one-nofk" rel-entity-name="RoleType">
+      <key-map field-name="roleTypeId"/>
+    </relation>
+  </view-entity>
+  <view-entity entity-name="WorkEffortPartyAssignAndRoleType"
+    package-name="org.ofbiz.workeffort.workeffort"
       title="Work Effort Party Assignment And Roletype">
       <description>To be able to have a dropdown listing with all roles a party has on this workeffort.</description>
       <member-entity entity-alias="WEPA" entity-name="WorkEffortPartyAssignment"/>

Modified: ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortServices.java?rev=799200&r1=799199&r2=799200&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortServices.java (original)
+++ ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortServices.java Thu Jul 30 08:31:54 2009
@@ -50,7 +50,6 @@
 import org.ofbiz.entity.condition.EntityJoinOperator;
 import org.ofbiz.entity.condition.EntityOperator;
 import org.ofbiz.entity.model.ModelEntity;
-import org.ofbiz.entity.model.ModelField;
 import org.ofbiz.entity.util.EntityListIterator;
 import org.ofbiz.entity.util.EntityUtil;
 import org.ofbiz.security.Security;
@@ -350,14 +349,27 @@
         return resultMap;
     }
 
-    private static List<EntityCondition> getDefaultWorkEffortExprList(Collection<String> partyIds, String facilityId, String fixedAssetId, String workEffortTypeId) {
+    private static List<EntityCondition> getDefaultWorkEffortExprList(Collection<String> partyIds, String facilityId, String fixedAssetId, String workEffortTypeId, List<EntityCondition> cancelledCheckAndList) {
         List<EntityCondition> entityExprList = UtilMisc.<EntityCondition>toList(EntityCondition.makeCondition("currentStatusId", EntityOperator.NOT_EQUAL, "CAL_CANCELLED"), EntityCondition.makeCondition("currentStatusId", EntityOperator.NOT_EQUAL, "PRUN_CANCELLED"));
         List<EntityExpr> typesList = FastList.newInstance();
         if (UtilValidate.isNotEmpty(workEffortTypeId)) {
             typesList.add(EntityCondition.makeCondition("workEffortTypeId", EntityOperator.EQUALS, workEffortTypeId));
         }
         if (UtilValidate.isNotEmpty(partyIds)) {
-            entityExprList.add(EntityCondition.makeCondition("partyId", EntityOperator.IN, partyIds));
+            // (non cancelled) public events, with a startdate
+            List<EntityCondition> publicEvents = UtilMisc.<EntityCondition>toList(
+             EntityCondition.makeCondition("scopeEnumId", EntityOperator.EQUALS, "WES_PUBLIC"),
+             EntityCondition.makeCondition("parentTypeId", EntityOperator.EQUALS, "EVENT")
+             );
+            
+            if (cancelledCheckAndList != null) {
+             publicEvents.addAll(cancelledCheckAndList);
+            }
+            entityExprList.add(
+             EntityCondition.makeCondition(UtilMisc.toList(
+             EntityCondition.makeCondition("partyId", EntityOperator.IN, partyIds),
+             EntityCondition.makeCondition(publicEvents, EntityJoinOperator.AND)
+             ), EntityJoinOperator.OR));
         }
         if (UtilValidate.isNotEmpty(facilityId)) {
             entityExprList.add(EntityCondition.makeCondition("facilityId", EntityOperator.EQUALS, facilityId));
@@ -501,16 +513,17 @@
             }
         }
 
-        List<EntityCondition> entityExprList = UtilGenerics.checkList(context.get("entityExprList"));
-        if (entityExprList == null) {
-            entityExprList = getDefaultWorkEffortExprList(partyIds, facilityId, fixedAssetId, workEffortTypeId);
-        }
-
         // cancelled status id's
     List<EntityCondition> cancelledCheckAndList = UtilMisc.<EntityCondition>toList(
      EntityCondition.makeCondition("currentStatusId", EntityOperator.NOT_EQUAL, "EVENT_CANCELLED"),
      EntityCondition.makeCondition("currentStatusId", EntityOperator.NOT_EQUAL, "CAL_CANCELLED"));
         
+
+        List<EntityCondition> entityExprList = UtilGenerics.checkList(context.get("entityExprList"));
+        if (entityExprList == null) {
+            entityExprList = getDefaultWorkEffortExprList(partyIdsToUse, facilityId, fixedAssetId, workEffortTypeId, cancelledCheckAndList);
+        }
+
         // should have at least a start date
     EntityCondition startDateRequired = EntityCondition.makeCondition(UtilMisc.<EntityCondition>toList(
  EntityCondition.makeCondition("estimatedStartDate", EntityOperator.NOT_EQUAL, null),
@@ -559,20 +572,9 @@
          recurringEvents.addAll(cancelledCheckAndList);
         }
 
-        // (non cancelled) public events, with a startdate
-        List<EntityCondition> publicEvents = UtilMisc.<EntityCondition>toList(
-         EntityCondition.makeCondition("scopeEnumId", EntityOperator.EQUALS, "WES_PUBLIC"),
-         startDateRequired
-         );
-        
-        if (filterOutCanceledEvents.booleanValue()) {
-         publicEvents.addAll(cancelledCheckAndList);
-        }
-        
         EntityCondition eclTotal = EntityCondition.makeCondition(UtilMisc.toList(
          EntityCondition.makeCondition(entityExprList, EntityJoinOperator.AND),
-         EntityCondition.makeCondition(recurringEvents, EntityJoinOperator.AND),
-         EntityCondition.makeCondition(publicEvents, EntityJoinOperator.AND)
+         EntityCondition.makeCondition(recurringEvents, EntityJoinOperator.AND)
          ), EntityJoinOperator.OR);
         
         List<String> orderByList = UtilMisc.toList("estimatedStartDate");
@@ -580,13 +582,8 @@
             try {
                 List<GenericValue> tempWorkEfforts = null;
                 if (UtilValidate.isNotEmpty(partyIdsToUse)) {
-                 EntityConditionList<EntityCondition> ecl =
-                 EntityCondition.makeCondition(UtilMisc.toList(
-                 eclTotal,
-                 EntityCondition.makeCondition("partyId", EntityOperator.IN, partyIdsToUse)
-                 ), EntityJoinOperator.AND);
-                 // Debug.log("=====conditions for party: " + ecl);
-                    tempWorkEfforts = EntityUtil.filterByDate(delegator.findList("WorkEffortAndPartyAssign", ecl, null, orderByList, null, false));
+                 Debug.log("=====conditions for party: " + eclTotal);
+                    tempWorkEfforts = EntityUtil.filterByDate(delegator.findList("WorkEffortAndPartyAssignAndType", eclTotal, null, orderByList, null, false));
                 } else if (UtilValidate.isNotEmpty(fixedAssetId)) {
                  EntityConditionList<EntityCondition> ecl =
                  EntityCondition.makeCondition(UtilMisc.toList(