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(


Reply via email to