Author: bpapez
Date: Fri Jun 15 14:33:39 2007
New Revision: 1201

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D1201&repname=
=3Dcorporate_portal_templates
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

Added:
    trunk/src/java/jahiatemplates/org/jahia/corporateportal/validation/bean=
s/BlogValidationBean.java
Modified:
    trunk/src/etc/struts/corporateportal-validation.xml
    trunk/src/view/jsp/eventlistener.jsp
    trunk/src/view/jsp/include/blog_definitions.inc
    trunk/src/view/jsp/include/blog_list.inc

Modified: trunk/src/etc/struts/corporateportal-validation.xml
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/src/etc/struts/=
corporateportal-validation.xml&rev=3D1201&repname=3Dcorporate_portal_templa=
tes
=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
--- trunk/src/etc/struts/corporateportal-validation.xml (original)
+++ trunk/src/etc/struts/corporateportal-validation.xml Fri Jun 15 14:33:39=
 2007
@@ -41,5 +41,13 @@
                 <arg0 key=3D"Last Name" resource=3D"false"/>
             </field>
         </form>
+        <form name=3D"blogValidationBean">
+            <field property=3D"blogTitle" depends=3D"required">
+                <arg0 key=3D"label.title"/>    =

+            </field>
+            <field property=3D"blogDate" depends=3D"required">
+                <arg0 key=3D"label.date"/>     =

+            </field>
+        </form>          =

     </formset>
 </form-validation>
\ No newline at end of file

Added: trunk/src/java/jahiatemplates/org/jahia/corporateportal/validation/b=
eans/BlogValidationBean.java
URL: https://svndev.jahia.net/websvn/filedetails.php?path=3D/trunk/src/java=
/jahiatemplates/org/jahia/corporateportal/validation/beans/BlogValidationBe=
an.java&rev=3D1201&repname=3Dcorporate_portal_templates
=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
--- trunk/src/java/jahiatemplates/org/jahia/corporateportal/validation/bean=
s/BlogValidationBean.java (added)
+++ trunk/src/java/jahiatemplates/org/jahia/corporateportal/validation/bean=
s/BlogValidationBean.java Fri Jun 15 14:33:39 2007
@@ -0,0 +1,6 @@
+package jahiatemplates.org.jahia.corporateportal.validation.beans;
+
+public interface BlogValidationBean {
+    public String getBlogTitle();
+    public String getBlogDate();
+}
\ No newline at end of file

Modified: trunk/src/view/jsp/eventlistener.jsp
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/src/view/jsp/ev=
entlistener.jsp&rev=3D1201&repname=3Dcorporate_portal_templates
=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
--- trunk/src/view/jsp/eventlistener.jsp (original)
+++ trunk/src/view/jsp/eventlistener.jsp Fri Jun 15 14:33:39 2007
@@ -34,6 +34,10 @@
 <%@ page import=3D"org.jahia.services.fields.*" %>
 <%@ page import=3D"org.jahia.services.pages.*" %>
 <%@ page import=3D"org.jahia.services.version.*" %>
+<[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"=
%>
 <jsp:useBean id=3D"eventsToTrap" class=3D"java.util.Vector" scope=3D"appli=
cation"/>
 <%// loads the events to trap
 if (eventsToTrap.size() =3D=3D 0) {
@@ -142,6 +146,21 @@
                 }
             }
         } 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, JahiaAc=
lEntry.ACL_YES);
+            theACL.setGroupEntry(ServicesRegistry.getInstance().getJahiaGr=
oupManagerService().lookupGroup(
+                    JahiaGroupManagerService.GUEST_GROUPNAME + ":" + jPara=
ms.getSiteID()), readPermission);
+
+            JahiaAclEntry adminPermission =3D new JahiaAclEntry();
+            adminPermission.setPermission(JahiaBaseACL.READ_RIGHTS, JahiaA=
clEntry.ACL_YES);
+            adminPermission.setPermission(JahiaBaseACL.WRITE_RIGHTS, Jahia=
AclEntry.ACL_YES);
+            adminPermission.setPermission(JahiaBaseACL.ADMIN_RIGHTS, Jahia=
AclEntry.ACL_YES);
+            theACL.setUserEntry(jParams.getUser(), adminPermission);
+               =

             JahiaPage blogPage =3D (JahiaPage) theContainer.getFieldObject=
("blogPage");
             if (blogPage !=3D null) {
                 logger.debug("Activate blogPage ["+blogPage.getID()+"]");
@@ -197,34 +216,46 @@
             }
         } else if ( "containerAdded".equals(eventName) ) {
             logger.debug("Activate container ["+theContainer.getID()+"]");
+            boolean substitutedElr =3D false;
+            try {
+                if (jParams.getEntryLoadRequest().isCurrent()) {
+                    substitutedElr =3D true;
+                    EntryLoadRequest elr =3D new EntryLoadRequest(EntryLoa=
dRequest.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()), languageCod=
es);
-            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);
+                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 StateModificationCont=
ext(
+                           new ContentContainerKey(theContainer.getID()), 
langua=
geCodes);
+                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.getVersi=
onID(),jParams, smc);
+                    }
                 }
-            }
-            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());
-            }
+                JahiaContainersService jahiaContainersService =3D
+                    ServicesRegistry.getInstance().getJahiaContainersServi=
ce();
+                if (jahiaContainersService !=3D null) {
+                    ActivationTestResults atr =3D jahiaContainersService.a=
ctivateStagedContainer(languageCodes,theContainer.getID(),
+                           jParams.getUser(), saveVersion, jParams, smc);
+                    logger.debug("ActivationTestResults is " + atr.toStrin=
g());
+                }
+            } finally {
+                  if (substitutedElr)
+                      jParams.resetSubstituteEntryLoadRequest();
+            }                =

         }
 =

 =


Modified: trunk/src/view/jsp/include/blog_definitions.inc
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/src/view/jsp/in=
clude/blog_definitions.inc&rev=3D1201&repname=3Dcorporate_portal_templates
=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
--- trunk/src/view/jsp/include/blog_definitions.inc (original)
+++ trunk/src/view/jsp/include/blog_definitions.inc Fri Jun 15 14:33:39 2007
@@ -14,7 +14,9 @@
 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 en=
tries"
+    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%>"/>
@@ -22,10 +24,10 @@
         titleKey=3D"blog.body" bundleKey=3D"<%=3DresBundleID%>"/>
     <content:declareField name=3D"blogAttachement" title=3D"Attachment ass=
ociated" type=3D"File"
         titleKey=3D"blog.attachement" bundleKey=3D"<%=3DresBundleID%>"/>
-    <content:declareField name=3D"blogDate" title=3D"Date" type=3D"Date" v=
alue=3D"<jahia_calendar[dd.MM.yyyy / hh:mm]>"
+    <content:declareField name=3D"blogDate" title=3D"Date" type=3D"Date" v=
alue=3D"<jahia_calendar[dd.MM.yyyy / HH:mm]>"
         titleKey=3D"blog.date" bundleKey=3D"<%=3DresBundleID%>"/>
     <content:declareField name=3D"blogAuthor" title=3D"Author" type=3D"Sha=
redSmallText"
-        value=3D"<%=3DjData.params().getUser().getUsername()%>"
+        value=3D'<jahia-expression expr=3D"currentUser.username" storeMark=
er=3D"false"/>'
         titleKey=3D"blog.author" bundleKey=3D"<%=3DresBundleID%>"/>
     <content:declareField name=3D"blogExcerpt"
             title=3D"The Excerpt of this post" type=3D"BigText"
@@ -36,16 +38,16 @@
 =

     <content:declareContainerList name=3D"comments" title=3D"List of comme=
nts">
     <content:declareContainer>
-        <content:declareField name=3D"commentAuthor" title=3D"Author" type=
=3D"SharedSmallText"
-            titleKey=3D"blog.author" bundleKey=3D"<%=3DresBundleID%>"
-            value=3D"<%=3DjData.params().getUser().getUsername()%>"/>
-        <content:declareField name=3D"commentTitle" title=3D"Title" type=
=3D"SmallText"
-            titleKey=3D"blog.title" bundleKey=3D"<%=3DresBundleID%>"/>
-        <content:declareField name=3D"commentBody" title=3D"Body" type=3D"=
BigText"
-            titleKey=3D"blog.body" bundleKey=3D"<%=3DresBundleID%>"/>
+        <content:declareField name=3D"commentAuthor" title=3D"Name of the =
author" type=3D"SharedSmallText"
+            titleKey=3D"blog.commentAuthor" bundleKey=3D"<%=3DresBundleID%=
>"
+            value=3D'<jahia-expression expr=3D"user/username" storeMarker=
=3D"false"/>'/>
+        <content:declareField name=3D"commentTitle" title=3D"Title of this=
 comment" type=3D"SmallText"
+            titleKey=3D"blog.commentTitle" bundleKey=3D"<%=3DresBundleID%>=
"/>
+        <content:declareField name=3D"commentBody" title=3D"Body of this c=
omment" type=3D"BigText"
+            titleKey=3D"blog.commentBody" bundleKey=3D"<%=3DresBundleID%>"=
/>
         <content:declareField name=3D"commentDate" title=3D"Date" type=3D"=
Date"
             value=3D"<jahia_calendar[dd.MM.yyyy / HH:mm]>"
-            titleKey=3D"blog.date" bundleKey=3D"<%=3DresBundleID%>"/>
+            titleKey=3D"blog.commentDate" bundleKey=3D"<%=3DresBundleID%>"=
/>
     </content:declareContainer>
     </content:declareContainerList>
 =


Modified: trunk/src/view/jsp/include/blog_list.inc
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/src/view/jsp/in=
clude/blog_list.inc&rev=3D1201&repname=3Dcorporate_portal_templates
=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
--- trunk/src/view/jsp/include/blog_list.inc (original)
+++ trunk/src/view/jsp/include/blog_list.inc Fri Jun 15 14:33:39 2007
@@ -41,9 +41,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">
-            <%
+            <% =

+            // 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=
()
@@ -77,8 +83,6 @@
                 }
             }
 =

-            ContainerListBean blogsBean =3D (ContainerListBean) pageContex=
t.findAttribute("blogs");
-
             boolean hasWriteAccess =3D blogsBean.getJahiaContainerList().g=
etID() =3D=3D 0 ?
                 jData.page().checkWriteAccess(jParams.getUser()) :
                 blogsBean.getJahiaContainerList().checkWriteAccess(jParams=
.getUser());
@@ -147,7 +151,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