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
