[OFBiz] SVN: r6742 - in trunk/applications/content: entitydef script/org/ofbiz/content/compdoc servicedef webapp/content/WEB-INF widget/compdoc

byersa@svn.ofbiz.org byersa at svn.ofbiz.org
Wed Feb 15 11:39:31 CST 2006


Author: byersa
Date: 2006-02-15 11:39:20 -0600 (Wed, 15 Feb 2006)
New Revision: 6742

Modified:
   trunk/applications/content/entitydef/entitygroup.xml
   trunk/applications/content/entitydef/entitymodel.xml
   trunk/applications/content/script/org/ofbiz/content/compdoc/CompDocServices.xml
   trunk/applications/content/servicedef/services.xml
   trunk/applications/content/webapp/content/WEB-INF/controller.xml
   trunk/applications/content/widget/compdoc/CompDocForms.xml
   trunk/applications/content/widget/compdoc/CompDocMenus.xml
   trunk/applications/content/widget/compdoc/CompDocScreens.xml
   trunk/applications/content/widget/compdoc/CompDocTemplateTree.xml
Log:
Improved maintenance of compdoc entities - adding dataResource records in prep for uploading content.
Improvements on forms, screens and menus.
Added ContentAssocRevisionItemView to help find instance of a compdoc template part.


Modified: trunk/applications/content/entitydef/entitygroup.xml
===================================================================
--- trunk/applications/content/entitydef/entitygroup.xml	2006-02-15 07:44:43 UTC (rev 6741)
+++ trunk/applications/content/entitydef/entitygroup.xml	2006-02-15 17:39:20 UTC (rev 6742)
@@ -122,6 +122,7 @@
   <!-- ========================================================= -->
 
     <entity-group group="org.ofbiz" entity="AssocRevisionItemView" />
+    <entity-group group="org.ofbiz" entity="ContentAssocRevisionItemView" />
     <entity-group group="org.ofbiz" entity="MaxRevisionItemView" />
     <entity-group group="org.ofbiz" entity="ContentAssocOptViewFrom" />
     <entity-group group="org.ofbiz" entity="MaxContentApprovalView" />

Modified: trunk/applications/content/entitydef/entitymodel.xml
===================================================================
--- trunk/applications/content/entitydef/entitymodel.xml	2006-02-15 07:44:43 UTC (rev 6741)
+++ trunk/applications/content/entitydef/entitymodel.xml	2006-02-15 17:39:20 UTC (rev 6742)
@@ -1387,6 +1387,31 @@
       </view-link>
     </view-entity>
     
+    <view-entity entity-name="ContentAssocRevisionItemView"
+                package-name="org.ofbiz.content.compdoc"
+                title="Latest Revision Children">
+      <member-entity entity-alias="C" entity-name="Content"/>
+      <member-entity entity-alias="CRI" entity-name="ContentRevisionItem"/>
+      <member-entity entity-alias="CA" entity-name="ContentAssoc"/>
+      <alias entity-alias="C" name="instanceOfContentId" group-by="true"/>
+      <alias entity-alias="CA" name="contentId" group-by="true"/>
+      <alias entity-alias="CA" name="contentIdTo" group-by="true"/>
+      <alias entity-alias="CA" name="contentAssocTypeId" group-by="true"/>
+      <alias entity-alias="CA" name="thruDate" group-by="true"/>
+      <alias entity-alias="CA" name="fromDate" group-by="true"/>
+      <alias entity-alias="CA" name="sequenceNum" group-by="true"/>
+      <alias entity-alias="CRI" name="rootRevisionContentId" field="contentId" group-by="true"/>
+      <alias entity-alias="CRI" name="itemContentId" group-by="true"/>
+      <alias entity-alias="CRI" name="contentRevisionSeqId" group-by="false"/>
+      <alias entity-alias="CRI" name="maxRevisionSeqId" field="contentRevisionSeqId" function="max"/>
+      <view-link entity-alias="C" rel-entity-alias="CA">
+        <key-map field-name="contentId" rel-field-name="contentId"/>
+      </view-link>
+      <view-link entity-alias="CA" rel-entity-alias="CRI">
+        <key-map field-name="contentId" rel-field-name="itemContentId"/>
+      </view-link>
+    </view-entity>
+    
     <view-entity entity-name="MaxRevisionItemView"
                 package-name="org.ofbiz.content.compdoc"
                 title="Latest Revision Children">
@@ -1400,13 +1425,18 @@
     <view-entity entity-name="MaxContentApprovalView"
                 package-name="org.ofbiz.content.compdoc"
                 title="Latest ContentApproval">
+      <member-entity entity-alias="C" entity-name="Content"/>
       <member-entity entity-alias="CA" entity-name="ContentApproval"/>
+      <alias entity-alias="C" name="contentTypeId"  group-by="true"/>
       <alias entity-alias="CA" name="contentId"  group-by="true"/>
       <alias entity-alias="CA" name="partyId"  group-by="true"/>
       <alias entity-alias="CA" name="roleTypeId" group-by="true"/>
       <alias entity-alias="CA" name="sequenceNum" group-by="false"/>
       <alias entity-alias="CA" name="contentRevisionSeqId" group-by="false"/>
       <alias entity-alias="CA" name="maxContentRevisionSeqId" field="contentRevisionSeqId" function="max"/>
+      <view-link entity-alias="C" rel-entity-alias="CA">
+        <key-map field-name="contentId" rel-field-name="contentId"/>
+      </view-link>
     </view-entity>
     
     <view-entity entity-name="ContentAssocOptViewFrom"

Modified: trunk/applications/content/script/org/ofbiz/content/compdoc/CompDocServices.xml
===================================================================
--- trunk/applications/content/script/org/ofbiz/content/compdoc/CompDocServices.xml	2006-02-15 07:44:43 UTC (rev 6741)
+++ trunk/applications/content/script/org/ofbiz/content/compdoc/CompDocServices.xml	2006-02-15 17:39:20 UTC (rev 6742)
@@ -36,6 +36,8 @@
             <field-map field-name="contentId" env-name="parameters.instanceOfContentId"/>
         </entity-one>
         <log message="genCompDocInstance> rootTemplateContent: ${rootTemplateContent}" level="info"/>
+        
+        <!--  if not passed in, get latest template contentRevisionSeqId from db -->
         <if-empty field-name="parameters.contentRevisionSeqId">
             <entity-condition entity-name="ContentRevision" list-name="contentRevisionList">
                 <condition-list>
@@ -58,8 +60,9 @@
         <make-value entity-name="Content" value-name="rootInstanceContent"/>        
         <if-empty field-name="parameters.rootInstanceContentId">
             <make-next-seq-id seq-field-name="contentId" value-name="rootInstanceContent"/>
-        <log message="genCompDocInstance 2> rootInstanceContent: ${rootInstanceContent}"/>
+            <log message="genCompDocInstance 2> rootInstanceContent: ${rootInstanceContent}"/>
             <else>
+                <!--  check to see if it already exists, error if so -->
                 <entity-one entity-name="Content" value-name="existingContent">
                     <field-map field-name="contentId" env-name="parameters.rootInstanceContentId"/>
                 </entity-one>
@@ -72,6 +75,8 @@
                 <set from-field="parameters.rootInstanceContentId" field="rootInstanceContent.contentId"/>
             </else>
         </if-empty>
+        
+        <!--  populate fields -->
         <set from-field="parameters.contentName" field="rootInstanceContent.contentName" default-value="${rootTemplateContent.contentName}"/>
         <now-timestamp-to-env env-name="nowTimestamp"/>
         <set from-field="parameters.instanceOfContentId" field="rootInstanceContent.instanceOfContentId"/>
@@ -158,6 +163,36 @@
         
         <!--  create the compdoc Content entity -->
         <set-service-fields service-name="persistContentAndAssoc" map-name="parameters" to-map-name="persistMap"/>
+        <if-not-empty field-name="parameters.mimeTypeId">
+        <if>
+            <condition>
+              <or>
+                <if-compare field-name="parameters.mimeTypeId" operator="equals" value="application/msword"/>
+                <if-compare field-name="parameters.mimeTypeId" operator="equals" value="application/pdf"/>
+                <if-compare field-name="parameters.mimeTypeId" operator="equals" value="application/octet-stream"/>
+              </or>
+            </condition>
+            <then>
+                <set value="ELECTRONIC_TEXT" field="persistMap.dataResourceTypeId"/>
+            </then>
+            <else-if>
+                <condition>
+                  <or>
+                    <if-compare field-name="parameters.mimeTypeId" operator="equals" value="image/jpeg"/>
+                    <if-compare field-name="parameters.mimeTypeId" operator="equals" value="image/gif"/>
+                    <if-compare field-name="parameters.mimeTypeId" operator="equals" value="image/tiff"/>
+                    <if-compare field-name="parameters.mimeTypeId" operator="equals" value="image/png"/>
+                  </or>
+                </condition>
+                <then>
+                    <set value="IMAGE_OBJECT" field="persistMap.dataResourceTypeId"/>
+                </then>
+            </else-if>
+            <else>
+                <set value="ELECTRONIC_TEXT" field="persistMap.dataResourceTypeId"/>
+            </else>
+        </if>
+        </if-not-empty>
         <set from-field="parameters.userLogin" field="persistMap.userLogin"/>
         <log level="info" message="persistMap : ${persistMap}"/>
         <call-service service-name="persistContentAndAssoc" in-map-name="persistMap">
@@ -452,10 +487,8 @@
         <log level="info" message="contentApprovalList2: ${contentApprovalList2}"/>
             <if-not-empty field-name="contentApprovalList2">
                 <set from-field="contentApprovalList2[0].contentApprovalId" field="contentApprovalId"/>
-                <entity-one entity-name="ContentApproval" value-name="contentApproval">
-                    <field-map env-name="contentApprovalId"/>
-                </entity-one>
-         <log level="info" message="contentApproval: ${contentApproval}"/>
+                <set from-field="contentApprovalList2[0]" field="contentApproval"/>
+                <log level="info" message="contentApproval: ${contentApproval}"/>
                 <set field="contentApprovalList[]" from-field="contentApproval"/>
             </if-not-empty>
             <!-- 
@@ -528,6 +561,7 @@
                 </else-if>
                 <else-if>
                     <condition>
+                        <and>
                         <if-compare field-name="approvalStatusId" operator="equals" value="CNTAP_APPROVED"/>
                         <not>
                             <or>
@@ -535,6 +569,7 @@
                                 <if-compare field-name="primaryApprovalStatusId" operator="equals" value="CNTAP_REJECTED"/>
                             </or>
                         </not>
+                        </and>
                     </condition>
                     <then>
                         <set from-field="approvalStatusId" field="primaryApprovalStatusId"/>
@@ -768,4 +803,61 @@
         </if-not-empty>
      </simple-method>
     
+     <simple-method method-name="checkForWaitingApprovals" short-description="Check to see if any approval conditions exist for the passed in user">
+        <set from-field="userLogin.partyId" field="partyId"/>
+        <entity-and entity-name="PartyRole" list-name="partyRoleList">
+            <field-map field-name="partyId" env-name="partyId"/>
+        </entity-and>
+        <log level="info" message="userLogin.partyId: ${partyId}"/>        
+        <iterate list-name="partyRoleList" entry-name="partyRole">
+            <set from-field="partyRole.roleTypeId" field="roles[]" />
+        </iterate>
+        <log level="info" message="roles: ${roles}"/>        
+        
+        <entity-condition entity-name="MaxContentApprovalView" list-name="compdocApprovalList" use-cache="false">
+            <condition-list>
+                <condition-expr field-name="contentRevisionSeqId" env-name="parameters.contentRevisionSeqId" operator="less-equals" ignore-if-empty="true"/>
+                <condition-expr field-name="contentTypeId" operator="equals" value="COMPDOC_INSTANCE"/>
+                <condition-expr field-name="roleTypeId" operator="in" env-name="roles"/>
+            </condition-list>
+            <select-field field-name="contentId"/>
+            <select-field field-name="partyId"/>
+            <select-field field-name="roleTypeId"/>
+            <select-field field-name="maxContentRevisionSeqId"/>
+        </entity-condition>
+        <log level="info" message="compdocApprovalList: ${compdocApprovalList}"/>        
+        
+        <iterate list-name="compdocApprovalList" entry-name="maxContentApproval">
+            <log level="info" message="maxContentApproval: ${maxContentApproval}"/>
+            <entity-condition entity-name="ContentApproval" list-name="contentApprovalList2" use-cache="false">
+                <condition-list>
+                    <condition-expr field-name="contentId" env-name="maxContentApproval.contentId" operator="equals"/>
+                    <condition-expr field-name="contentRevisionSeqId" env-name="maxContentApproval.maxContentRevisionSeqId" operator="equals"/>
+                    <condition-expr field-name="partyId" env-name="maxContentApproval.partyId" operator="equals" ignore-if-empty="true"/>
+                    <condition-expr field-name="roleTypeId" env-name="maxContentApproval.roleTypeId" operator="equals" ignore-if-empty="true"/>
+                </condition-list>
+                <order-by field-name="-sequenceNum"/>
+            </entity-condition>
+            <log level="info" message="contentApprovalList2: ${contentApprovalList2}"/>
+            <if-not-empty field-name="contentApprovalList2">
+                <set from-field="contentApprovalList2[0].contentApprovalId" field="contentApprovalId"/>
+                <log level="info" message="contentApproval: ${contentApproval}"/>
+                <set field="contentApprovalIdList[]" from-field="contentApprovalId"/>
+            </if-not-empty>
+        </iterate>
+        <log level="info" message="contentApprovalIdList: ${contentApprovalIdList}"/>        
+        
+        <entity-condition entity-name="ContentApproval" list-name="contentApprovalList">
+            <condition-list combine="and">
+                <condition-expr field-name="contentApprovalId" operator="in" env-name="contentApprovalIdList"/>
+                <condition-list combine="or">
+                    <condition-expr field-name="partyId" operator="equals" env-name="partyId"/>
+                    <condition-expr field-name="roleTypeId" operator="in" env-name="roles"/>
+                </condition-list>
+            </condition-list>
+        </entity-condition>
+        <log level="info" message="contentApprovalList: ${contentApprovalList}"/>        
+        
+        <field-to-result result-name="contentApprovalList"/>
+     </simple-method>
 </simple-methods>

Modified: trunk/applications/content/servicedef/services.xml
===================================================================
--- trunk/applications/content/servicedef/services.xml	2006-02-15 07:44:43 UTC (rev 6741)
+++ trunk/applications/content/servicedef/services.xml	2006-02-15 17:39:20 UTC (rev 6742)
@@ -1333,4 +1333,12 @@
         <attribute name="contentRevisionSeqId" type="String" mode="IN" optional="false"/>
         <attribute name="contentId" type="String" mode="IN" optional="false"/>
     </service>
+    
+    <service name="checkForWaitingApprovals" engine="simple"
+        location="org/ofbiz/content/compdoc/CompDocServices.xml"
+        invoke="checkForWaitingApprovals" auth="true">
+        <description>Check to see if there are any ContentApproval records awaiting this user's action</description>
+        <attribute name="thisUserLogin" type="org.ofbiz.entity.GenericValue" mode="IN" optional="true"/>
+        <attribute name="contentApprovalList" type="List" mode="OUT" optional="true"/>
+    </service>
 </services>

Modified: trunk/applications/content/webapp/content/WEB-INF/controller.xml
===================================================================
--- trunk/applications/content/webapp/content/WEB-INF/controller.xml	2006-02-15 07:44:43 UTC (rev 6741)
+++ trunk/applications/content/webapp/content/WEB-INF/controller.xml	2006-02-15 17:39:20 UTC (rev 6742)
@@ -1009,14 +1009,6 @@
         <security auth="true" https="true"/>
         <response name="success" type="view" value="AddChildCompDocTemplate"/>
     </request-map>
-   <request-map uri="EditChildCompDocInstance">
-       <security auth="true" https="true"/>
-       <response name="success" type="view" value="EditChildCompDocInstance"/>
-   </request-map>
-   <request-map uri="EditChildCompDocTemplate">
-       <security auth="true" https="true"/>
-       <response name="success" type="view" value="EditChildCompDocTemplate"/>
-   </request-map>
    
     <request-map uri="createCompDocTemplate">
         <security auth="true" https="true"/>
@@ -1051,15 +1043,27 @@
    <request-map uri="createChildCompDocTemplate">
        <security auth="true" https="true"/>
         <event invoke="persistCompDoc"  path="" type="service"/>
-       <response name="success" type="view" value="EditChildCompDocTemplate"/>
+       <response name="success" type="view" value="EditCompDoc"/>
        <response name="error" type="view" value="AddChildCompDocTemplate"/>
    </request-map>
+   <request-map uri="createChildCompDocInstance">
+       <security auth="true" https="true"/>
+        <event invoke="persistCompDoc"  path="" type="service"/>
+       <response name="success" type="view" value="EditCompDoc"/>
+       <response name="error" type="view" value="AddChildCompDocInstance"/>
+   </request-map>
    <request-map uri="updateChildCompDocTemplate">
        <security auth="true" https="true"/>
         <event invoke="persistCompDoc"  path="" type="service"/>
-       <response name="success" type="view" value="EditChildCompDocTemplate"/>
-       <response name="error" type="view" value="EditChildCompDocTemplate"/>
+       <response name="success" type="view" value="EditCompDoc"/>
+       <response name="error" type="view" value="EditCompDoc"/>
    </request-map>
+   <request-map uri="updateChildCompDocInstance">
+       <security auth="true" https="true"/>
+        <event invoke="persistCompDoc"  path="" type="service"/>
+       <response name="success" type="view" value="EditCompDoc"/>
+       <response name="error" type="view" value="EditCompDoc"/>
+   </request-map>
    <request-map uri="genCompDocInstance">
        <security auth="true" https="true"/>
         <event invoke="genCompDocInstance"  path="" type="service"/>
@@ -1097,6 +1101,10 @@
         <security auth="true" https="true"/>
         <response name="success" type="view" value="ListContentApproval"/>
     </request-map>
+    <request-map uri="ListWaitingContentApproval">
+        <security auth="true" https="true"/>
+        <response name="success" type="view" value="ListWaitingContentApproval"/>
+    </request-map>
     <request-map uri="EditContentApproval">
         <security auth="true" https="true"/>
         <response name="success" type="view" value="EditContentApproval"/>
@@ -1707,6 +1715,7 @@
     <view-map name="ListContentRevisionItem" page="component://content/widget/compdoc/CompDocScreens.xml#ListContentRevisionItem" type="screen"/>
     <view-map name="EditContentRevisionItem" page="component://content/widget/compdoc/CompDocScreens.xml#EditContentRevisionItem" type="screen"/>
     <view-map name="ListContentApproval" page="component://content/widget/compdoc/CompDocScreens.xml#ListContentApproval" type="screen"/>
+    <view-map name="ListWaitingContentApproval" page="component://content/widget/compdoc/CompDocScreens.xml#ListWaitingContentApproval" type="screen"/>
     <view-map name="EditContentApproval" page="component://content/widget/compdoc/CompDocScreens.xml#EditContentApproval" type="screen"/>
 
     <view-map name="FindCompDoc" page="component://content/widget/compdoc/CompDocScreens.xml#FindCompDoc" type="screen"/>
@@ -1714,8 +1723,6 @@
     <view-map name="EditCompDoc" page="component://content/widget/compdoc/CompDocScreens.xml#EditCompDoc" type="screen"/>
     <view-map name="EditRootCompDoc" page="component://content/widget/compdoc/CompDocScreens.xml#EditRootCompDoc" type="screen"/>
 
-    <view-map name="EditChildCompDocInstance" page="component://content/widget/compdoc/CompDocScreens.xml#EditChildCompDocInstance" type="screen"/>
-    <view-map name="EditChildCompDocTemplate" page="component://content/widget/compdoc/CompDocScreens.xml#EditChildCompDocTemplate" type="screen"/>
     <view-map name="AddChildCompDocInstance" page="component://content/widget/compdoc/CompDocScreens.xml#AddChildCompDocInstance" type="screen"/>
     <view-map name="AddChildCompDocTemplate" page="component://content/widget/compdoc/CompDocScreens.xml#AddChildCompDocTemplate" type="screen"/>
 

Modified: trunk/applications/content/widget/compdoc/CompDocForms.xml
===================================================================
--- trunk/applications/content/widget/compdoc/CompDocForms.xml	2006-02-15 07:44:43 UTC (rev 6741)
+++ trunk/applications/content/widget/compdoc/CompDocForms.xml	2006-02-15 17:39:20 UTC (rev 6742)
@@ -390,33 +390,60 @@
         <field name="submitButton" title="Submit" widget-style="smallSubmit"><submit button-type="button"/></field>
     </form>
 
-    <form name="AddChildCompDocTemplate" default-map-name="" title="" type="single" target="createChildCompDocTemplate"
+    <form name="AddChildCompDoc" default-map-name="" title="" type="single" target="${childCompDocTarget}"
         extends="dummy"
         default-title-style="tableheadtext" default-tooltip-style="tabletext" default-widget-style="inputBox">
         
-        <field name="contentId"><text/></field>
+        <field name="contentId" entry-name="missing" map-name="empty"><text/></field>
         <field name="contentName"><text/></field>
-        <field name="contentTypeId" ><display description="Template"/></field>
-       <field name="contentIdTo" ><display/></field>
-       <field name="contentAssocTypeId"  ><display /></field>
-       <field name="fromDate" ><display/></field>
-       <field name="thruDate"   ><date-time/></field>
-       <field name="sequenceNum"   ><text/></field>
+        <field name="contentTypeId" ><display /></field>
+        <field name="instanceOfContentId" ><display/></field>
+        <field name="caContentIdTo" ><display/></field>
+        <field name="caContentAssocTypeId"  ><display /></field>
+        <field name="caFromDate" ><display/></field>
+        <field name="caThruDate"   ><date-time/></field>
+        <field name="caSequenceNum"   ><text/></field>
+        
+        <field name="caMimeTypeId" map-name="empty" title="Document Type">
+            <drop-down allow-empty="true">
+                <option key="application/msword" description="MS Word"/>
+                <option key="application/pdf" description="PDF Form"/>
+                <option key="survey" description="Survey"/>
+                <option key="image/jpeg" description="JPEG"/>
+                <option key="image/gif" description="GIF"/>
+                <option key="image/tiff" description="TIFF"/>
+                <option key="image/png" description="PNG"/>
+                <option key="application/octet-stream" description="Other"/>
+            </drop-down>
+        </field>
         <field name="submitButton" title="Submit" widget-style="smallSubmit"><submit button-type="button"/></field>
     </form>
 
-    <form name="EditChildCompDocTemplate" default-map-name="contentAssocView" title="" type="single" target="updateChildCompDocTemplate"
+    <form name="EditChildCompDoc" default-map-name="contentAssoc" title="" type="single" target="${childCompDocTarget}"
         extends="dummy"
         default-title-style="tableheadtext" default-tooltip-style="tabletext" default-widget-style="inputBox">
         
         <field name="contentId"><text/></field>
-        <field name="contentName"><text/></field>
-        <field name="contentTypeId" ><hidden value="TEMPLATE"/></field>
-        <field name="caContentIdTo" title="ContentId To" ><display/></field>
-        <field name="caContentAssocTypeId" title="Content Assoc Type Id"  ><display also-hidden="false"/></field>
-        <field name="caFromDate" title="From Date" ><display/></field>
-        <field name="caThruDate" title="Thru Date"   ><date-time/></field>
-        <field name="caSequenceNum" title="Sequence Num"   ><text/></field>
+        <field name="contentName" map-name="content"><text/></field>
+        <field name="contentTypeId" map-name="content" ><display /></field>
+        <field name="contentIdTo" title="ContentId To" ><display/></field>
+        <field name="contentAssocTypeId" title="Content Assoc Type Id"  ><display also-hidden="false"/></field>
+        <field name="fromDate" title="From Date" ><display/></field>
+        <field name="thruDate" title="Thru Date"   ><date-time/></field>
+        <field name="sequenceNum" title="Sequence Num"   ><text/></field>
+        
+        <field name="mimeTypeId" map-name="dataResource" title="Document Type">
+            <drop-down allow-empty="true">
+                <option key="application/msword" description="MS Word"/>
+                <option key="application/pdf" description="PDF Form"/>
+                <option key="survey" description="Survey"/>
+                <option key="image/jpeg" description="JPEG"/>
+                <option key="image/gif" description="GIF"/>
+                <option key="image/tiff" description="TIFF"/>
+                <option key="image/png" description="PNG"/>
+                <option key="application/octet-stream" description="Other"/>
+            </drop-down>
+        </field>
         <field name="submitButton" title="Submit" widget-style="smallSubmit"><submit button-type="button"/></field>
     </form>
 

Modified: trunk/applications/content/widget/compdoc/CompDocMenus.xml
===================================================================
--- trunk/applications/content/widget/compdoc/CompDocMenus.xml	2006-02-15 07:44:43 UTC (rev 6741)
+++ trunk/applications/content/widget/compdoc/CompDocMenus.xml	2006-02-15 17:39:20 UTC (rev 6742)
@@ -123,13 +123,13 @@
         selected-menuitem-context-field-name="currentMenuItemName"
         title="" type="simple">
         <menu-item name="edit-inplace" title="${contentName}[${contentId}]" >
-            <link target="EditRootCompDocTemplate?contentId=${contentId}&amp;contentRevisionSeqId=${contentRevisionSeqId}"/>
+            <link target="EditCompDoc?contentId=${contentId}&amp;contentRevisionSeqId=${contentRevisionSeqId}&amp;rootInstanceRevSeqId=${rootInstanceRevSeqId}&amp;rootTemplateRevSeqId=${rootTemplateRevSeqId}&amp;rootTemplateContentId=${rootTemplateContentId}&amp;rootInstanceContentId=${rootInstanceContentId}"/>
         </menu-item>
         <menu-item name="edit-link" title="Edit" >
-            <link target="EditRootCompDocTemplate?contentId=${contentId}&amp;contentRevisionSeqId=${contentRevisionSeqId}"/>
+            <link target="EditCompDoc?contentId=${contentId}&amp;contentRevisionSeqId=${contentRevisionSeqId}&amp;rootInstanceRevSeqId=${rootInstanceRevSeqId}&amp;rootTemplateRevSeqId=${rootTemplateRevSeqId}&amp;rootTemplateContentId=${rootTemplateContentId}&amp;rootInstanceContentId=${rootInstanceContentId}"/>
         </menu-item>
         <menu-item name="child" title="+Child" >
-            <link target="AddChildCompDocTemplate?contentIdTo=${contentId}&amp;sequenceNum=9999&amp;rootTemplateContentId=${rootTemplateContentId}"/>
+            <link target="AddChildCompDocTemplate?contentIdTo=${contentId}&amp;sequenceNum=9999&amp;rootInstanceRevSeqId=${rootInstanceRevSeqId}&amp;rootTemplateRevSeqId=${rootTemplateRevSeqId}&amp;rootTemplateContentId=${rootTemplateContentId}&amp;rootInstanceContentId=${rootInstanceContentId}"/>
         </menu-item>
         <menu-item name="viewinst" title="View Instances" >
             <link target="ViewInstances?contentId=${contentId}&amp;contentRevisionSeqId=${contentRevisionSeqId}&amp;rootTemplateContentId=${rootTemplateContentId}&amp;rootTemplateRevSeqId=${rootTemplateRevSeqId}&amp;rootInstanceContentId=${rootInstanceContentId}&amp;rootInstanceRevSeqId=${rootInstanceRevSeqId}"/>
@@ -148,10 +148,10 @@
         selected-menuitem-context-field-name="currentMenuItemName"
         title="" type="simple">
         <menu-item name="edit-inplace" title="${contentName}[${contentId}]" >
-            <link target="EditChildCompDocTemplate?contentId=${contentId}&amp;caContentIdTo=${contentIdTo}&amp;caContentAssocTypeId=${contentAssocTypeId}&amp;caFromDate=${fromDate}&amp;contentRevisionSeqId=${contentRevisionSeqId}&amp;rootTemplateContentId=${rootTemplateContentId}"/>
+            <link target="EditCompDoc?contentId=${contentId}&amp;caContentIdTo=${contentIdTo}&amp;caContentAssocTypeId=${contentAssocTypeId}&amp;caFromDate=${fromDate}&amp;contentRevisionSeqId=${contentRevisionSeqId}&amp;rootTemplateContentId=${rootTemplateContentId}"/>
         </menu-item>
         <menu-item name="edit-link" title="Edit" >
-            <link target="EditChildCompDocTemplate?contentId=${contentId}&amp;caContentIdTo=${contentIdTo}&amp;caContentAssocTypeId=${contentAssocTypeId}&amp;caFromDate=${fromDate}&amp;contentRevisionSeqId=${contentRevisionSeqId}&amp;rootTemplateContentId=${rootTemplateContentId}"/>
+            <link target="EditCompDoc?contentId=${contentId}&amp;caContentIdTo=${contentIdTo}&amp;caContentAssocTypeId=${contentAssocTypeId}&amp;caFromDate=${fromDate}&amp;contentRevisionSeqId=${contentRevisionSeqId}&amp;rootTemplateContentId=${rootTemplateContentId}"/>
         </menu-item>
         <!--  only one level for now 
         <menu-item name="child" title="+Child" >
@@ -159,13 +159,49 @@
         </menu-item>
         -->
         <menu-item name="bef" title="+Bef" >
-            <link target="AddChildCompDocTemplate?contentId=${contentId}&amp;caContentIdTo=${contentIdTo}&amp;caContentAssocTypeId=${contentAssocTypeId}&amp;caSequenceNum=${seqNumBefore}&amp;caFromDate=${fromDate}&amp;contentRevisionSeqId=${contentRevisionSeqId}"/>
+            <link target="AddChildCompDocTemplate?contentId=${contentId}&amp;caContentIdTo=${contentIdTo}&amp;caContentAssocTypeId=${contentAssocTypeId}&amp;caSequenceNum=${seqNumBefore}&amp;caFromDate=${fromDate}&amp;contentRevisionSeqId=${contentRevisionSeqId}&amp;rootTemplateContentId=${rootTemplateContentId}"/>
         </menu-item>
         <menu-item name="aft" title="+Aft" >
-            <link target="AddChildCompDocTemplate?contentId=${contentId}&amp;caContentIdTo=${contentIdTo}&amp;caContentAssocTypeId=${contentAssocTypeId}&amp;caSequenceNum=${seqNumAfter}&amp;caFromDate=${fromDate}&amp;contentRevisionSeqId=${contentRevisionSeqId}"/>
+            <link target="AddChildCompDocTemplate?contentId=${contentId}&amp;caContentIdTo=${contentIdTo}&amp;caContentAssocTypeId=${contentAssocTypeId}&amp;caSequenceNum=${seqNumAfter}&amp;caFromDate=${fromDate}&amp;contentRevisionSeqId=${contentRevisionSeqId}&amp;rootTemplateContentId=${rootTemplateContentId}"/>
         </menu-item>
     </menu>
         
+    <menu name="childInstanceLine" default-title-style="tabButton"
+        default-selected-style="tabButtonSelected"
+        default-menu-item-name="content"
+        orientation="horizontal"
+        menu-width="100%"
+        default-tooltip-style="tabletext" default-widget-style="tabButton"
+        selected-menuitem-context-field-name="currentMenuItemName"
+        title="" type="simple">
+        <menu-item name="edit-inplace" title="${contentName}[${assocRevisionItemView.itemContentId}]" >
+            <condition>
+                <not><if-empty field-name="assocRevisionItemView"/></not>
+            </condition>
+            <link target="EditCompDoc?contentId=${assocRevisionItemView.contentId}&amp;caContentIdTo=${assocRevisionItemView.contentIdTo}&amp;caContentAssocTypeId=${assocRevisionItemView.contentAssocTypeId}&amp;caFromDate=${assocRevisionItemView.fromDate}&amp;contentRevisionSeqId=${assocRevisionItemView.maxRevisionSeqId}&amp;rootTemplateContentId=${rootTemplateContentId}"/>
+        </menu-item>
+        <menu-item name="edit-link" title="Edit" >
+            <condition>
+                <not><if-empty field-name="assocRevisionItemView"/></not>
+            </condition>
+            <link target="EditCompDoc?contentId=${assocRevisionItemView.contentId}&amp;caContentIdTo=${assocRevisionItemView.contentIdTo}&amp;caContentAssocTypeId=${assocRevisionItemView.contentAssocTypeId}&amp;caFromDate=${assocRevisionItemView.fromDate}&amp;contentRevisionSeqId=${assocRevisionItemView.maxRevisionSeqId}&amp;rootTemplateContentId=${rootTemplateContentId}"/>
+        </menu-item>
+        
+        <menu-item name="edit-inplace-add" title="${contentName}[${assocRevisionItemView.itemContentId}]" >
+            <condition>
+                <if-empty field-name="assocRevisionItemView"/>
+            </condition>
+            <link target="AddChildCompDocInstance?contentId=${contentId}&amp;caSequenceNum=${sequenceNum}&amp;rootInstanceRevSeqId=${rootInstanceRevSeqId}&amp;rootTemplateRevSeqId=${rootTemplateRevSeqId}&amp;rootTemplateContentId=${rootTemplateContentId}&amp;rootInstanceContentId=${rootInstanceContentId}"/>
+        </menu-item>
+        <menu-item name="edit-link-add" title="Edit" >
+            <condition>
+                <if-empty field-name="assocRevisionItemView"/>
+            </condition>
+            <link target="AddChildCompDocInstance?contentId=${contentId}&amp;caSequenceNum=${sequenceNum}&amp;rootInstanceRevSeqId=${rootInstanceRevSeqId}&amp;rootTemplateRevSeqId=${rootTemplateRevSeqId}&amp;rootTemplateContentId=${rootTemplateContentId}&amp;rootInstanceContentId=${rootInstanceContentId}"/>
+        </menu-item>
+        
+    </menu>
+        
     <menu name="rootInstanceLine" default-title-style="tabButton"
         default-selected-style="tabButtonSelected"
         default-menu-item-name="content"

Modified: trunk/applications/content/widget/compdoc/CompDocScreens.xml
===================================================================
--- trunk/applications/content/widget/compdoc/CompDocScreens.xml	2006-02-15 07:44:43 UTC (rev 6741)
+++ trunk/applications/content/widget/compdoc/CompDocScreens.xml	2006-02-15 17:39:20 UTC (rev 6742)
@@ -51,12 +51,42 @@
                     <decorator-section name="body">
                         <include-form name="ListContentApproval" location="component://content/widget/compdoc/CompDocForms.xml"/>
                         <link target="EditContentApproval?contentId=${contentId}&amp;contentRevisionSeqId=${contentRevisionSeqId}&amp;rootTemplateContentId=${rootTemplateContentId}&amp;rootTemplateRevSeqId=${rootTemplateRevSeqId}&amp;rootInstanceContentId=${rootInstanceContentId}&amp;rootInstanceRevSeqId=${rootInstanceRevSeqId}" text="Create New Content Approval" style="buttontext"/>
+                        <link target="ListWaitingContentApproval?contentId=${contentId}&amp;contentRevisionSeqId=${contentRevisionSeqId}&amp;rootTemplateContentId=${rootTemplateContentId}&amp;rootTemplateRevSeqId=${rootTemplateRevSeqId}&amp;rootInstanceContentId=${rootInstanceContentId}&amp;rootInstanceRevSeqId=${rootInstanceRevSeqId}" text="View Waiting Approvals" style="buttontext"/>
                     </decorator-section>
                 </decorator-screen>
             </widgets>
         </section>
     </screen>
     
+    <screen name="ListWaitingContentApproval">
+        <section>
+            <condition>
+                <if-has-permission permission="CONTENTMGR" action="UPDATE"/>
+            </condition>
+            <actions>
+                <set field="menuName" value="tree"/>
+                <set field="currentMenuItemName" value="approval"/>
+                <script location="component://content/widget/getMenuContext.bsh"/>
+                <set field="title" value="Content Approvals"/>
+                <set field="titleProperty" value="PageTitleEditContent"/>
+                <set field="menuName" value="tree"/>
+                <set field="currentMenuItemName" value="approval"/>
+                <service service-name="checkForWaitingApprovals" result-map-name="result">
+                </service>
+                
+                <set field="contentApprovalList" from-field="result.contentApprovalList" />
+            </actions>
+            <widgets>
+                <decorator-screen name="commonCompDocDecorator" location="component://content/widget/CommonScreens.xml">
+                    <decorator-section name="body">
+                        <include-form name="ListContentApproval" location="component://content/widget/compdoc/CompDocForms.xml"/>
+                        <link target="EditContentApproval?contentId=${contentId}&amp;contentRevisionSeqId=${contentRevisionSeqId}&amp;rootTemplateContentId=${rootTemplateContentId}&amp;rootTemplateRevSeqId=${rootTemplateRevSeqId}&amp;rootInstanceContentId=${rootInstanceContentId}&amp;rootInstanceRevSeqId=${rootInstanceRevSeqId}" text="Create New Content Approval" style="buttontext"/>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+    
     <screen name="EditContentApproval">
         <section>
             <condition>
@@ -207,6 +237,7 @@
                     <decorator-section name="body">
                         <include-form name="FindCompDoc" location="component://content/widget/compdoc/CompDocForms.xml"/>
                         <link target="AddRootCompDocTemplate?contentTypeId=COMPDOC_TEMPLATE" text="Create New Root CompDoc Template" style="buttontext"/>
+                        <link target="ListWaitingContentApproval?contentId=${contentId}&amp;contentRevisionSeqId=${contentRevisionSeqId}&amp;rootTemplateContentId=${rootTemplateContentId}&amp;rootTemplateRevSeqId=${rootTemplateRevSeqId}&amp;rootInstanceContentId=${rootInstanceContentId}&amp;rootInstanceRevSeqId=${rootInstanceRevSeqId}" text="View Waiting Approvals" style="buttontext"/>
                     </decorator-section>
                 </decorator-screen>
             </widgets>
@@ -290,6 +321,9 @@
                 <set from-field="parameters.contentId" default-value="${parameters.rootInstanceContentId}" field="contentId"/>
                 <set from-field="contentId" default-value="${parameters.rootTemplateContentId}" field="contentId"/>
                 <entity-one entity-name="Content" value-name="content"/>
+                <entity-one entity-name="DataResource" value-name="dataResource">
+                    <field-map field-name="dataResourceId" env-name="content.dataResourceId"/>
+                </entity-one>
                 <entity-condition entity-name="ContentAssoc" list-name="contentAssocList">
                     <condition-list>
                         <condition-expr field-name="contentId" operator="equals" env-name="content.contentId"/>
@@ -301,6 +335,7 @@
                         </condition-list>
                     </condition-list>
                 </entity-condition>
+                <set from-field="contentAssocList[0]" field="contentAssoc"/>
                 <set from-field="content.contentTypeId" field="dummy.contentTypeId"/>
             </actions>
              
@@ -346,10 +381,14 @@
                             <if-compare field-name="content.contentTypeId" operator="equals" value="TEMPLATE"/>
                         </and>
                     </condition>
+                    <actions>
+                        <set value="updateChildCompDocTemplate" field="childCompDocTarget"/>
+                        <set value="TEMPLATE" field="content.contentTypeId"/>
+                    </actions>
                     <widgets>
                         <decorator-screen name="commonCompDocDecorator" location="component://content/widget/CommonScreens.xml">
                             <decorator-section name="body">
-                                <include-form name="EditChildCompDocTemplate" location="component://content/widget/compdoc/CompDocForms.xml"/>
+                                <include-form name="EditChildCompDoc" location="component://content/widget/compdoc/CompDocForms.xml"/>
                             </decorator-section>
                         </decorator-screen>
                     </widgets>
@@ -360,10 +399,28 @@
                             <if-compare field-name="content.contentTypeId" operator="equals" value="DOCUMENT"/>
                         </and>
                     </condition>
+                    <actions>
+                        <set value="updateChildCompDocInstance" field="childCompDocTarget"/>
+                        <set value="DOCUMENT" field="content.contentTypeId"/>
+                        <set from-field="parameters.caContentIdTo" field="rootInstanceContentId"/>
+                        <entity-condition entity-name="MaxRevisionItemView" list-name="rootRevList" use-cache="false" >
+                           <condition-list combine="and">
+                                <condition-expr field-name="rootRevisionContentId" operator="equals" env-name="rootInstanceContentId" />
+                                <condition-expr field-name="itemContentId" operator="equals" env-name="contentId" />
+                           </condition-list> 
+                          
+                           <select-field field-name="rootRevisionContentId"/>
+                           <select-field field-name="itemContentId"/>
+                           <select-field field-name="maxRevisionSeqId"/>
+                           
+                           <order-by field-name="-maxRevisionSeqId"/>
+                        </entity-condition>
+                        <set from-field="rootRevList[0].maxRevisionSeqId" field="rootInstanceRevSeqId"/>
+                    </actions>
                     <widgets>
                         <decorator-screen name="commonCompDocDecorator" location="component://content/widget/CommonScreens.xml">
                             <decorator-section name="body">
-                                <include-form name="EditChildCompDocInstance" location="component://content/widget/compdoc/CompDocForms.xml"/>
+                                <include-form name="EditChildCompDoc" location="component://content/widget/compdoc/CompDocForms.xml"/>
                             </decorator-section>
                         </decorator-screen>
                     </widgets>
@@ -403,6 +460,7 @@
                 <set field="menuName" value="tree"/>
                 <set field="title" value="Composite Document Instance Add Page"/>
                 <set value="COMPDOC_TEMPLATE" field="dummy.contentTypeId"/>
+                <set value="createChildCompDocTemplate" field="createChildCompDoc"/>
             </actions>
             <widgets>
                 <decorator-screen name="commonCompDocDecorator" location="component://content/widget/CommonScreens.xml">
@@ -422,15 +480,20 @@
             <actions>
                 <set field="menuName" value="tree"/>
                 <set field="title" value="Composite Document Instance Add Page"/>
-                <set from-field="parameters.contentId" field="contentIdTo" />
-                <set from-field="nowTimestamp" field="fromDate" />
-                <set value="COMPDOC_PART" field="contentAssocTypeId" />
-                <set value="9999" field="sequenceNum" />
+                <set from-field="parameters.rootInstanceContentId" field="caContentIdTo" />
+                <set from-field="nowTimestamp" field="caFromDate" />
+                <set from-field="parameters.contentId" field="instanceOfContentId" />
+                <entity-one entity-name="Content" value-name="itemContent"/>
+                <set from-field="itemContent.contentName" field="contentName"/>
+                <set value="COMPDOC_PART" field="caContentAssocTypeId" />
+                <set value="DOCUMENT" field="contentTypeId" />
+                <set from-field="parameters.caSequenceNum" field="sequenceNum" default-value="${parameters.sequenceNum}"/>
+                <set value="createChildCompDocInstance" field="childCompDocTarget"/>
             </actions>
             <widgets>
                 <decorator-screen name="commonCompDocDecorator" location="component://content/widget/CommonScreens.xml">
                     <decorator-section name="body">
-                        <include-form name="AddChildCompDocInstance" location="component://content/widget/compdoc/CompDocForms.xml"/>
+                        <include-form name="AddChildCompDoc" location="component://content/widget/compdoc/CompDocForms.xml"/>
                     </decorator-section>
                 </decorator-screen>
             </widgets>
@@ -445,55 +508,25 @@
             <actions>
                 <set field="menuName" value="tree"/>
                 <set field="title" value="Composite Document Instance Add Page"/>
-                <set from-field="parameters.contentId" field="contentIdTo" />
+                <set from-field="parameters.caContentIdTo" default-value="${parameters.contentIdTo}" field="contentIdTo" />
                 <set from-field="nowTimestamp" field="fromDate" />
                 <set value="COMPDOC_PART" field="contentAssocTypeId" />
-                <set value="9999" field="sequenceNum" />
+                <set from-field="parameters.caSequenceNum" field="sequenceNum" default-value="${parameters.sequenceNum}"/>
                 <set value="TEMPLATE" field="contentTypeId" />
                 <set value="" field="rootInstanceContentId" />
+                <set value="" field="contentId" />
+                <set value="createChildCompDocTemplate" field="childCompDocTarget"/>
             </actions>
             <widgets>
                 <decorator-screen name="commonCompDocDecorator" location="component://content/widget/CommonScreens.xml">
                     <decorator-section name="body">
-                        <include-form name="AddChildCompDocTemplate" location="component://content/widget/compdoc/CompDocForms.xml"/>
+                        <include-form name="AddChildCompDoc" location="component://content/widget/compdoc/CompDocForms.xml"/>
                     </decorator-section>
                 </decorator-screen>
             </widgets>
         </section>
     </screen>
             
-     <screen name="EditChildCompDocTemplate">
-        <section>
-             <condition>
-                <if-has-permission permission="CONTENTMGR" action="CREATE"/>
-            </condition>
-            <actions>
-                <set field="menuName" value="tree"/>
-                <set field="title" value="Composite Document Template Edit Page"/>
-                <set from-field="parameters.rootTemplateContentId" default-value="${parameters.caContentIdTo}" field="rootTemplateContentId" />
-                <set value="" field="rootInstanceContentId" />
-                <!-- 
-                <entity-one entity-name="Content" value-name="content" use-cache="true"/>
-                -->
-                <entity-one entity-name="ContentAssocViewFrom" value-name="contentAssocView" use-cache="true">
-                    <field-map field-name="contentId" env-name="parameters.contentId"/>
-                    <field-map field-name="caContentId" env-name="parameters.contentId"/>
-                    <field-map field-name="caContentIdTo" env-name="parameters.caContentIdTo"/>
-                    <field-map field-name="caContentAssocTypeId" env-name="parameters.caContentAssocTypeId"/>
-                    <field-map field-name="caFromDate" env-name="parameters.caFromDate"/>
-                    <field-map field-name="contentIdStart" env-name="parameters.caContentIdTo"/>
-                </entity-one>
-            </actions>
-            <widgets>
-                <decorator-screen name="commonCompDocDecorator" location="component://content/widget/CommonScreens.xml">
-                    <decorator-section name="body">
-                        <include-form name="EditChildCompDocTemplate" location="component://content/widget/compdoc/CompDocForms.xml"/>
-                    </decorator-section>
-                </decorator-screen>
-            </widgets>
-        </section>
-    </screen>
-            
     <screen name="ViewCompDocTree">
         <section>
             <widgets>
@@ -569,7 +602,10 @@
                 <set field="menuName" value="tree"/>
                 <set field="titleProperty" value="PageTitleEditContent"/>
                 <set field="currentMenuItemName" value="viewtree2"/>
-                 <entity-condition entity-name="ContentRevision" list-name="contentRevisions" use-cache="true">
+                <entity-one entity-name="Content" value-name="content" use-cache="true">
+                    <field-map field-name="contentId" env-name="parameters.rootInstanceContentId"/>
+                </entity-one>
+                <entity-condition entity-name="ContentRevision" list-name="contentRevisions" use-cache="true">
                     <condition-list combine="and">
                         <condition-expr field-name="contentId" env-name="parameters.rootInstanceContentId" operator="equals"/>
                         <condition-expr field-name="contentRevisionSeqId" env-name="parameters.contentRevisionSeqId" operator="less-equals" ignore-if-empty="true"/>
@@ -578,14 +614,20 @@
                 </entity-condition>
                 <set  field="rootInstanceRevSeqId" from-field="parameters.rootInstanceRevSeqId" default-value="${contentRevisions[0].contentRevisionSeqId}"/>
 
-                <entity-one entity-name="Content" value-name="content" use-cache="true">
-                    <field-map field-name="contentId" env-name="parameters.rootInstanceContentId"/>
-                </entity-one>
                 <set field="rootTemplateContentId" from-field="content.instanceOfContentId"/>
                <set  field="contentRevisionSeqId" from-field="parameters.rootInstanceRevSeqId" default-value="${contentRevisions[0].contentRevisionSeqId}"/>
                <set  field="contentId" from-field="parameters.rootTemplateContentId" />
                <set field="title" value="Composite Document Root Instance View Page for Id: ${parameters.rootInstanceContentId} instance of ${rootTemplateContentId}"/>
+                <entity-condition entity-name="ContentRevision" list-name="contentTemplateRevisions" use-cache="true">
+                    <condition-list combine="and">
+                        <condition-expr field-name="contentId" env-name="rootTemplateContentId" operator="equals"/>
+                        <condition-expr field-name="contentRevisionSeqId" env-name="parameters.contentRevisionSeqId" operator="less-equals" ignore-if-empty="true"/>
+                    </condition-list>
+                    <order-by field-name="-contentRevisionSeqId"/>
+                </entity-condition>
+                <set  field="rootTemplateRevSeqId" from-field="contentTemplateRevisions[0].contentRevisionSeqId"/>
 
+
             </actions>
             <widgets>
                 <decorator-screen name="commonCompDocDecorator" location="component://content/widget/CommonScreens.xml">
@@ -633,6 +675,46 @@
             </widgets>
         </section>
     </screen>
+    <screen name="childInstanceLine">
+        <section>
+            <actions>
+                <script location="component://content/webapp/content/WEB-INF/actions/content/prepseqno.bsh"/>
+                <!--  find the most recent ContentAssoc/ContentRevisionItem view using the rootInstanceContentId
+                      as the contentId value and rootInstanceRevSeqId for the revision
+                      and the contentId of the current template part as the itemContentId
+                      -->
+                <entity-condition entity-name="ContentAssocRevisionItemView" use-cache="false" list-name="assocRevisionItemViewList" >
+                   <condition-list combine="and">
+                        <condition-expr field-name="contentIdTo" operator="equals" env-name="rootInstanceContentId" />
+                        <condition-expr field-name="rootRevisionContentId" operator="equals" env-name="rootInstanceContentId" />
+                        <condition-expr field-name="instanceOfContentId" operator="equals" env-name="contentId" />
+                        <condition-expr field-name="contentAssocTypeId" operator="equals" value="COMPDOC_PART" />
+                        <condition-expr field-name="contentRevisionSeqId" operator="less-equals" env-name="rootInstanceRevSeqId" />
+                        <condition-expr field-name="fromDate" operator="less-equals" env-name="nowTimestamp"/>
+                        <condition-list combine="or">
+                            <condition-expr field-name="thruDate" operator="equals" value=""/>
+                            <condition-expr field-name="thruDate" operator="greater"  env-name="nowTimestamp"/>
+                        </condition-list>
+                   </condition-list> 
+                   
+                   <select-field field-name="rootRevisionContentId"/>
+                   <select-field field-name="itemContentId"/>
+                   <select-field field-name="maxRevisionSeqId"/>
+                   <select-field field-name="contentId"/>
+                   <select-field field-name="contentIdTo"/>
+                   <select-field field-name="contentAssocTypeId"/>
+                   <select-field field-name="fromDate"/>
+                   <select-field field-name="sequenceNum"/>
+
+                   <order-by field-name="-sequenceNum"/>
+                </entity-condition>
+                <set from-field="assocRevisionItemViewList[0]" field="assocRevisionItemView"/>
+            </actions>
+            <widgets>
+                <include-menu name="childInstanceLine" location="component://content/widget/compdoc/CompDocMenus.xml"/>
+            </widgets>
+        </section>
+    </screen>
     <screen name="responseInstanceLine">
         <section>
             <actions>

Modified: trunk/applications/content/widget/compdoc/CompDocTemplateTree.xml
===================================================================
--- trunk/applications/content/widget/compdoc/CompDocTemplateTree.xml	2006-02-15 07:44:43 UTC (rev 6741)
+++ trunk/applications/content/widget/compdoc/CompDocTemplateTree.xml	2006-02-15 17:39:20 UTC (rev 6742)
@@ -16,7 +16,11 @@
                         <condition-expr field-name="rootRevisionContentId" operator="equals" env-name="rootTemplateContentId" />
                         <condition-expr field-name="contentRevisionSeqId" operator="less-equals" env-name="rootTemplateRevSeqId" />
                         <condition-expr field-name="contentAssocTypeId" operator="equals" value="COMPDOC_PART" />
-                        <condition-expr field-name="thruDate" operator="equals" value=""/>
+                        <condition-expr field-name="fromDate" operator="less-equals" env-name="nowTimestamp"/>
+                        <condition-list combine="or">
+                            <condition-expr field-name="thruDate" operator="equals" value=""/>
+                            <condition-expr field-name="thruDate" operator="greater"  env-name="nowTimestamp"/>
+                        </condition-list>
                    </condition-list> 
                   
                    <select-field field-name="rootRevisionContentId"/>
@@ -47,7 +51,11 @@
                         <condition-expr field-name="rootRevisionContentId" operator="equals" env-name="rootTemplateContentId" />
                         <condition-expr field-name="contentAssocTypeId" operator="equals" value="COMPDOC_PART" />
                         <condition-expr field-name="contentRevisionSeqId" operator="less-equals" env-name="rootTemplateRevSeqId" />
-                        <condition-expr field-name="thruDate" operator="equals" value=""/>
+                        <condition-expr field-name="fromDate" operator="less-equals" env-name="nowTimestamp"/>
+                        <condition-list combine="or">
+                            <condition-expr field-name="thruDate" operator="equals" value=""/>
+                            <condition-expr field-name="thruDate" operator="greater"  env-name="nowTimestamp"/>
+                        </condition-list>
                    </condition-list> 
                    
                    <select-field field-name="rootRevisionContentId"/>
@@ -78,9 +86,13 @@
                    <condition-list combine="and">
                         <condition-expr field-name="contentIdTo" operator="equals" env-name="rootTemplateContentId" />
                         <condition-expr field-name="rootRevisionContentId" operator="equals" env-name="rootTemplateContentId" />
-                        <condition-expr field-name="contentRevisionSeqId" operator="less-equals" env-name="rootInstanceRevSeqId" />
+                        <condition-expr field-name="contentRevisionSeqId" operator="less-equals" env-name="rootTemplateRevSeqId" />
                         <condition-expr field-name="contentAssocTypeId" operator="equals" value="COMPDOC_PART" />
-                        <condition-expr field-name="thruDate" operator="equals" value=""/>
+                        <condition-expr field-name="fromDate" operator="less-equals" env-name="nowTimestamp"/>
+                        <condition-list combine="or">
+                            <condition-expr field-name="thruDate" operator="equals" value=""/>
+                            <condition-expr field-name="thruDate" operator="greater"  env-name="nowTimestamp"/>
+                        </condition-list>
                    </condition-list> 
                   
                    <select-field field-name="rootRevisionContentId"/>
@@ -92,8 +104,9 @@
                    <select-field field-name="contentAssocTypeId"/>
                    <select-field field-name="fromDate"/>
                    <select-field field-name="sequenceNum"/>
+                   
+                   <order-by field-name="-sequenceNum"/>
                   
-                   <order-by field-name="-sequenceNum"/>
                 </entity-condition>
             </sub-node>
         </node>
@@ -109,8 +122,12 @@
                         <condition-expr field-name="contentIdTo" operator="equals" env-name="contentId" />
                         <condition-expr field-name="rootRevisionContentId" operator="equals" env-name="rootTemplateContentId" />
                         <condition-expr field-name="contentAssocTypeId" operator="equals" value="COMPDOC_PART" />
-                        <condition-expr field-name="contentRevisionSeqId" operator="less-equals" env-name="rootInstanceRevSeqId" />
-                        <condition-expr field-name="thruDate" operator="equals" value=""/>
+                        <condition-expr field-name="contentRevisionSeqId" operator="less-equals" env-name="rootTemplateRevSeqId" />
+                        <condition-expr field-name="fromDate" operator="less-equals" env-name="nowTimestamp"/>
+                        <condition-list combine="or">
+                            <condition-expr field-name="thruDate" operator="equals" value=""/>
+                            <condition-expr field-name="thruDate" operator="greater"  env-name="nowTimestamp"/>
+                        </condition-list>
                    </condition-list> 
                    
                    <select-field field-name="rootRevisionContentId"/>
@@ -121,10 +138,11 @@
                    <select-field field-name="contentAssocTypeId"/>
                    <select-field field-name="fromDate"/>
                    <select-field field-name="sequenceNum"/>
-                   
+
                    <order-by field-name="-sequenceNum"/>
                 </entity-condition>
            </sub-node>
         </node>
     </tree>
+    
 </trees>



More information about the Svn mailing list