Author: knguyen
Date: Mon Aug  6 14:26:55 2007
New Revision: 18136

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18136&repname=
=3Djahia
Log:
display timebasedpublishing status icon for link page as well.

Modified:
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/gui/HTMLToolBox.ja=
va

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/gui/HTMLTool=
Box.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/gui/HTMLToolBox.java&rev=3D18136&repname=3D=
jahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/gui/HTMLToolBox.ja=
va (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/gui/HTMLToolBox.ja=
va Mon Aug  6 14:26:55 2007
@@ -32,6 +32,7 @@
 import org.jahia.bin.Jahia;
 import org.jahia.content.ContentObject;
 import org.jahia.content.ContentPageKey;
+import org.jahia.content.ObjectKey;
 import org.jahia.data.applications.ApplicationBean;
 import org.jahia.data.beans.ContainerBean;
 import org.jahia.data.beans.ContentBean;
@@ -62,6 +63,9 @@
 import org.jahia.services.pages.JahiaPageDefinition;
 import org.jahia.services.usermanager.JahiaUser;
 import org.jahia.services.webdav.DAVFileAccess;
+import org.jahia.hibernate.manager.JahiaObjectDelegate;
+import org.jahia.hibernate.manager.JahiaObjectManager;
+import org.jahia.hibernate.manager.SpringContextSingleton;
 =

 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.jsp.JspWriter;
@@ -1341,12 +1345,13 @@
         // compute workflow stuff
         String objectKey =3D objectType + "_" + objectID;
         String realObjectKey =3D objectKey;
+        boolean tbpCheckForPageLink =3D false;
         if (showWorkflow && (! PageBean.TYPE.equals(objectType))) {
             logger.debug("displaying workflow state");
 =

             if (ContainerBean.TYPE.equals(objectType)) {
                 final ContentContainer cont =3D (ContentContainer) content=
Object.getContentObject();
-
+                tbpCheckForPageLink =3D true;
                 try {
                     int jahiaPageID =3D -1;
                     final Enumeration en =3D cont.getJahiaContainer(jParam=
s, jParams.getEntryLoadRequest()).getFields();
@@ -1400,19 +1405,84 @@
         }
 =

         // time based publishing status
+        String tbpObjectKey =3D objectKey;
         if (displayTimeBasedPublishing.booleanValue() &&
                 (ContainerBean.TYPE.equals(objectType) || PageBean.TYPE.eq=
uals(objectType))) {
+            if (!tbpCheckForPageLink){
+                try {
+                    ObjectKey objKey =3D ObjectKey.getInstance(tbpObjectKe=
y);
+                    if (ContainerBean.TYPE.equals(objectType)) {
+                        final ContentContainer cont =3D (ContentContainer)=
 contentObject.getContentObject();
+                        final JahiaObjectManager jahiaObjectManager =3D
+                                (JahiaObjectManager) SpringContextSingleto=
n.getInstance()
+                                        .getContext().getBean(JahiaObjectM=
anager.class.getName());
+                        JahiaObjectDelegate jahiaObjectDelegate =3D jahiaO=
bjectManager
+                                .getJahiaObjectDelegate(objKey);
+                        if ( jahiaObjectDelegate.getRule() =3D=3D null
+                                || jahiaObjectDelegate.getRule().getInheri=
ted().booleanValue() ){
+                            int jahiaPageID =3D -1;
+                            final Enumeration en =3D cont.getJahiaContaine=
r(jParams, jParams.getEntryLoadRequest()).getFields();
+                            while (en.hasMoreElements()) {
+                                final JahiaField field =3D (JahiaField) en=
.nextElement();
+                                if (field.getType() =3D=3D FieldTypes.PAGE=
) {
+                                    final JahiaPageField pageField =3D (Ja=
hiaPageField) field;
+
+                                    final JahiaPage dest =3D (JahiaPage) p=
ageField.getObject();
+                                    if (dest =3D=3D null) continue;
+
+                                    jahiaPageID =3D dest.getID();
+                                    logger.debug("PageField page ID: " + j=
ahiaPageID);
+                                    if (jahiaPageID > 0) break;
+                                }
+                            }
+                            if (jahiaPageID > 0) {
+                                tbpObjectKey =3D PageBean.TYPE + "_" + jah=
iaPageID;
+                            }
+                        }
+                    }
+                } catch (Throwable t){
+                    logger.debug("Error handling time based publishing for=
 page link, use local rule",t);
+                }
+
+                try {
+                    ObjectKey objKey =3D ObjectKey.getInstance(tbpObjectKe=
y);
+                    if (PageBean.TYPE.equals(objKey.getType())){
+                        ContentPage contentPage =3D (ContentPage)
+                            ContentPage.getContentObjectInstance(objKey);
+                        if ( contentPage.getPageType(jParams.getEntryLoadR=
equest())=3D=3DJahiaPage.TYPE_LINK ){
+                            int pageLinkId =3D contentPage.getPageLinkID(j=
Params);
+                            if ( pageLinkId > 0 ){
+                                ContentPage pageLink =3D ContentPage.getPa=
ge(pageLinkId);
+                                if (pageLink !=3D null){
+                                    final JahiaObjectManager jahiaObjectMa=
nager =3D
+                                            (JahiaObjectManager) SpringCon=
textSingleton.getInstance()
+                                                    .getContext().getBean(=
JahiaObjectManager.class.getName());
+                                    JahiaObjectDelegate jahiaObjectDelegat=
e =3D jahiaObjectManager
+                                            .getJahiaObjectDelegate(objKey=
);
+                                    if ( jahiaObjectDelegate.getRule() =3D=
=3D null
+                                            || jahiaObjectDelegate.getRule=
().getInherited().booleanValue() ){
+                                        tbpObjectKey =3D pageLink.getObjec=
tKey().toString();
+                                    }
+                                }
+                            }
+                        }
+                    }
+                } catch (Throwable t){
+                    logger.debug("Error handling time based publishing for=
 page link, use local rule",t);
+                }
+            }
             logger.debug("displaying TBP state");
+
             //todo port the code in ajax action here
             final String actionURL =3D contextPath + "/ajaxaction/GetTimeB=
asedPublishingState?params=3D/op/edit/pid/" +
-                    jParams.getPageID() + "&key=3D" + realObjectKey;
+                    jParams.getPageID() + "&key=3D" + tbpObjectKey;
 =

             String serverURL =3D actionURL + "&displayDialog=3Dtrue";
             String dialogTitle =3D JahiaResourceBundle.getEngineResource("=
org.jahia.engines.timebasedpublishing.dialogTitle",
                     jParams, jParams.getLocale(), "Informational");
             StringBuffer cmdBuffer =3D new StringBuffer("handleTimeBasedPu=
blishing(event,'");
             cmdBuffer.append(serverURL).append("','");
-            cmdBuffer.append(realObjectKey).append("',").append("'/op/edit=
/pid/")
+            cmdBuffer.append(tbpObjectKey).append("',").append("'/op/edit/=
pid/")
                     .append(jParams.getPageID()).append("','").append(dial=
ogTitle).append("')");
             out.print("<img class=3D\"timeBasedPublishingState\" id=3D\"");
             out.print("img_");

_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list

Reply via email to