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
