Author: bpapez
Date: Wed Jun  6 17:46:18 2007
New Revision: 698

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D698&repname=
=3Dcorporate_portal_templates_v2
Log:
issue TEMPLATES-212: 4.2 (certainly 5.x): adding a new blog could not be di=
rectly done by the users =

(url: http://www.jahia.net/jira/browse/TEMPLATES-212)

* add validation to blog container (title and date must be mandatory)
* set proper ACLs on adding blog pages for users
* make containerlist action menu available only to admins
* TEMPLATES-213, TEMPLATES-218: Make trackbacks work

Modified:
    branches/JAHIA-5-0-SP-BRANCH/src/jsp/blogs/definitions.inc
    branches/JAHIA-5-0-SP-BRANCH/src/jsp/blogs/eventlistener.inc
    branches/JAHIA-5-0-SP-BRANCH/src/jsp/blogs/list.inc

Modified: branches/JAHIA-5-0-SP-BRANCH/src/jsp/blogs/definitions.inc
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/src/jsp/blogs/definitions.inc&rev=3D698&repname=3Dcorporate_portal_=
templates_v2
=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/src/jsp/blogs/definitions.inc (original)
+++ branches/JAHIA-5-0-SP-BRANCH/src/jsp/blogs/definitions.inc Wed Jun  6 1=
7:46:18 2007
@@ -14,7 +14,10 @@
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
---%><content:declareContainerList name=3D"blogEntries" title=3D"List of en=
tries">
+--%>
+<content:declareContainerList name=3D"blogEntries" title=3D"List of entrie=
s"
+    containerBeanName=3D"jahiatemplates.org.jahia.corporateportal.validati=
on.beans.BlogValidationBean"
+    validatorKey=3D"blogValidationBean">
 <content:declareContainer>
     <content:declareField name=3D"blogTitle" title=3D"Title" type=3D"Small=
Text"
         titleKey=3D"blog.title" bundleKey=3D"<%=3DresBundleID%>"/>

Modified: branches/JAHIA-5-0-SP-BRANCH/src/jsp/blogs/eventlistener.inc
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/src/jsp/blogs/eventlistener.inc&rev=3D698&repname=3Dcorporate_porta=
l_templates_v2
=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/src/jsp/blogs/eventlistener.inc (original)
+++ branches/JAHIA-5-0-SP-BRANCH/src/jsp/blogs/eventlistener.inc Wed Jun  6=
 17:46:18 2007
@@ -14,7 +14,12 @@
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. =

 See the License for the specific language governing permissions and =

 limitations under the License.
---%><%
+--%>
+<[EMAIL PROTECTED] import=3D"org.jahia.services.acl.JahiaBaseACL"%>
+<[EMAIL PROTECTED] import=3D"org.jahia.services.acl.ACLInfo"%>
+<[EMAIL PROTECTED] import=3D"org.jahia.hibernate.model.JahiaAclEntry"%>
+<[EMAIL PROTECTED] 
import=3D"org.jahia.services.usermanager.JahiaGroupManagerService"=
%>
+<%
 if ( "blogs".equals(theContainer.getDefinition().getName()) ){
     if ( "addContainerEngineAfterInit".equals(eventName) ) {
         logger.debug("Start eventlistner for event addContainerEngineAfter=
Init for blogs");
@@ -69,6 +74,23 @@
             }
         }
     } else if ( "containerAdded".equals(eventName) ) {
+        JahiaBaseACL theACL =3D new JahiaBaseACL(theContainer.getAclID());
+                =

+        theACL.setInheritance(ACLInfo.NO_INHERITANCE);
+            =

+        JahiaAclEntry readPermission =3D new JahiaAclEntry();
+        readPermission.setPermission(JahiaBaseACL.READ_RIGHTS, JahiaAclEnt=
ry.ACL_YES);
+        theACL.setGroupEntry(ServicesRegistry.getInstance().getJahiaGroupM=
anagerService().lookupGroup(
+                JahiaGroupManagerService.GUEST_GROUPNAME + ":" + jParams.g=
etSiteID()), readPermission);
+
+        JahiaAclEntry adminPermission =3D new JahiaAclEntry();
+        adminPermission.setPermission(JahiaBaseACL.READ_RIGHTS, JahiaAclEn=
try.ACL_YES);
+        adminPermission.setPermission(JahiaBaseACL.WRITE_RIGHTS, JahiaAclE=
ntry.ACL_YES);
+        adminPermission.setPermission(JahiaBaseACL.ADMIN_RIGHTS, JahiaAclE=
ntry.ACL_YES);
+        theACL.setUserEntry(jParams.getUser(), adminPermission);
+               =

+    =

+    =

         JahiaPage blogPage =3D (JahiaPage) theContainer.getFieldObject("bl=
ogPage");
         if (blogPage !=3D null) {
             logger.debug("Activate blogPage ["+blogPage.getID()+"]");
@@ -122,33 +144,47 @@
     } else if ( "containerAdded".equals(eventName) ) {
         logger.debug("Activate container ["+theContainer.getID()+"]");
         // container validation
-        Set languageCodes =3D new HashSet();
-        languageCodes.add(ContentObject.SHARED_LANGUAGE);
-        languageCodes.add(jParams.getLocale().toString());
-
-        JahiaSaveVersion saveVersion =3D
-            ServicesRegistry.getInstance().getJahiaVersionService().
-                getSiteSaveVersion(jParams.getSiteID());
-
-        StateModificationContext smc =3D new StateModificationContext(
-            new ContentContainerKey(theContainer.getID()), languageCodes);
-        smc.setDescendingInSubPages(false);
-
-        Enumeration childs =3D theContainer.getFields();
-        while (childs.hasMoreElements()) {
-            JahiaField child =3D (JahiaField)childs.nextElement();
-            ContentField field =3D child.getContentField();
-            if (field !=3D null) {
-                field.activate(languageCodes, saveVersion.getVersionID(),j=
Params, smc);
+        boolean substitutedElr =3D false;
+        try {
+            if (jParams.getEntryLoadRequest().isCurrent()) {
+                substitutedElr =3D true;
+                EntryLoadRequest elr =3D new EntryLoadRequest(EntryLoadReq=
uest.STAGING_WORKFLOW_STATE, 0,
+                        jParams.getEntryLoadRequest().getLocales());
+                jParams.setSubstituteEntryLoadRequest(elr);
+            }            =

+        // container validation
+            Set languageCodes =3D new HashSet();
+            languageCodes.add(ContentObject.SHARED_LANGUAGE);
+            languageCodes.add(jParams.getLocale().toString());
+
+            JahiaSaveVersion saveVersion =3D
+                ServicesRegistry.getInstance().getJahiaVersionService().
+                    getSiteSaveVersion(jParams.getSiteID());
+
+            StateModificationContext smc =3D new StateModificationContext(
+                   new ContentContainerKey(theContainer.getID()), languageCo=
des);
+            smc.setDescendingInSubPages(false);
+
+            Enumeration childs =3D theContainer.getFields();
+            while (childs.hasMoreElements()) {
+                JahiaField child =3D (JahiaField)childs.nextElement();
+                ContentField field =3D child.getContentField();
+                if (field !=3D null) {
+                    field.activate(languageCodes, saveVersion.getVersionID=
(),jParams, smc);
+                }
             }
-        }
-        JahiaContainersService jahiaContainersService =3D
-            ServicesRegistry.getInstance().getJahiaContainersService();
-        if (jahiaContainersService !=3D null) {
-            ActivationTestResults atr =3D jahiaContainersService.activateS=
tagedContainer(languageCodes,theContainer.getID(),
-                jParams.getUser(), saveVersion, jParams, smc);
-            logger.debug("ActivationTestResults is " + atr.toString());
-        }
+            JahiaContainersService jahiaContainersService =3D
+                ServicesRegistry.getInstance().getJahiaContainersService();
+            if (jahiaContainersService !=3D null) {
+                ActivationTestResults atr =3D jahiaContainersService.activ=
ateStagedContainer(languageCodes,theContainer.getID(),
+                           jParams.getUser(), saveVersion, jParams, smc);
+                logger.debug("ActivationTestResults is " + atr.toString());
+            }
+        } finally {
+              if (substitutedElr)
+                  jParams.resetSubstituteEntryLoadRequest();
+        }                =

+
     }
 }
 %>
\ No newline at end of file

Modified: branches/JAHIA-5-0-SP-BRANCH/src/jsp/blogs/list.inc
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/src/jsp/blogs/list.inc&rev=3D698&repname=3Dcorporate_portal_templat=
es_v2
=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/src/jsp/blogs/list.inc (original)
+++ branches/JAHIA-5-0-SP-BRANCH/src/jsp/blogs/list.inc Wed Jun  6 17:46:18=
 2007
@@ -39,9 +39,15 @@
     <td class=3D"boxcontentborder1">
 =

         <content:containerList name=3D'blogs' id=3D"blogs">
-            <jahiaHtml:actionMenu name=3D"blogs" namePostFix=3D""
-                resourceBundle=3D"jahiatemplates.Corporate_portal_template=
s_v2">
-            <%
+            <% =

+            // if user is admin -> can access list action menu            =

+            ContainerListBean blogsBean =3D (ContainerListBean) pageContex=
t.findAttribute("blogs");
+            =

+            if (jParams.getUser().isAdminMember( jParams.getSiteID() )) { =

+                jData.gui().html().drawBeginActionMenu(blogsBean ,
+                        null, null, true, "", "jahiatemplates.Corporate_po=
rtal_templates", null, out);            =

+            }
+
             // get all pages with template definition name "Blog"
             JahiaPageDefinition pageDef =3D
                 ServicesRegistry.getInstance().getJahiaPageTemplateService=
()
@@ -75,8 +81,6 @@
                 }
             }
 =

-            ContainerListBean blogsBean =3D (ContainerListBean) pageContex=
t.findAttribute("blogs");
-
             boolean hasWriteAccessOnContainerList =3D blogsBean.getJahiaCo=
ntainerList().getID() =3D=3D 0 ?
                 jData.page().checkWriteAccess(jParams.getUser()) :
                 blogsBean.getJahiaContainerList().checkWriteAccess(jParams=
.getUser());
@@ -145,7 +149,12 @@
             %>
             </li>
             </ul>
-            </jahiaHtml:actionMenu>
+            <%
+            if (jParams.getUser().isAdminMember( jParams.getSiteID() )) { =

+                jData.gui().html().drawEndActionMenu(blogsBean ,
+                        null, null, true, "", "jahiatemplates.Corporate_po=
rtal_templates", null, out);            =

+            }
+            %>
         </content:containerList>
         </td>
 </tr>

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

Reply via email to