From 63b2cb300447dcc296f4a21050b7697a162c3006 Mon Sep 17 00:00:00 2001 From: kenzaAmirat Date: Thu, 21 Jul 2022 23:54:36 +0200 Subject: [PATCH 1/3] affichage chapeau + tag sur rubrique billet --- .../lutece/plugins/blog/web/BlogJspBean.java | 4 +- .../blog/web/portlet/BlogPortletJspBean.java | 48 ++++++++++++++++++- 2 files changed, 49 insertions(+), 3 deletions(-) diff --git a/src/java/fr/paris/lutece/plugins/blog/web/BlogJspBean.java b/src/java/fr/paris/lutece/plugins/blog/web/BlogJspBean.java index 9c726858..1595fba0 100644 --- a/src/java/fr/paris/lutece/plugins/blog/web/BlogJspBean.java +++ b/src/java/fr/paris/lutece/plugins/blog/web/BlogJspBean.java @@ -530,7 +530,7 @@ public String doAddTag( HttpServletRequest request ) return JsonUtil.buildJsonResponse( new JsonResponse( RESPONSE_BLOG_LOCKED ) ); } - if ( RBACService.isAuthorized( Tag.PROPERTY_RESOURCE_TYPE, strIdTag, Tag.PERMISSION_CREATE, getUser( ) ) ) + if ( RBACService.isAuthorized( Tag.PROPERTY_RESOURCE_TYPE, strIdTag, Tag.PERMISSION_CREATE, getUser( ) == null ? AdminUserService.getAdminUser( request ) : getUser()) ) { String strTagName = request.getParameter( PARAMETER_TAG_NAME ); @@ -571,7 +571,7 @@ public String doRemoveTag( HttpServletRequest request ) return JsonUtil.buildJsonResponse( new JsonResponse( RESPONSE_BLOG_LOCKED ) ); } - if ( RBACService.isAuthorized( Tag.PROPERTY_RESOURCE_TYPE, strIdTag, Tag.PERMISSION_DELETE, getUser( ) ) ) + if ( RBACService.isAuthorized( Tag.PROPERTY_RESOURCE_TYPE, strIdTag, Tag.PERMISSION_DELETE, getUser( ) == null ? AdminUserService.getAdminUser( request ) : getUser() ) ) { Tag tag = _blog.getTag( ).stream( ).filter( tg -> tg.getIdTag( ) == Integer.parseInt( strIdTag ) ).collect( Collectors.toList( ) ).get( 0 ); _blog.deleteTag( tag ); diff --git a/src/java/fr/paris/lutece/plugins/blog/web/portlet/BlogPortletJspBean.java b/src/java/fr/paris/lutece/plugins/blog/web/portlet/BlogPortletJspBean.java index b665840b..48a10cdf 100644 --- a/src/java/fr/paris/lutece/plugins/blog/web/portlet/BlogPortletJspBean.java +++ b/src/java/fr/paris/lutece/plugins/blog/web/portlet/BlogPortletJspBean.java @@ -35,16 +35,23 @@ import fr.paris.lutece.plugins.blog.business.Blog; import fr.paris.lutece.plugins.blog.business.BlogHome; +import fr.paris.lutece.plugins.blog.business.DocContentHome; +import fr.paris.lutece.plugins.blog.business.Tag; +import fr.paris.lutece.plugins.blog.business.TagHome; import fr.paris.lutece.plugins.blog.business.portlet.BlogListPortletHome; import fr.paris.lutece.plugins.blog.business.portlet.BlogPortlet; import fr.paris.lutece.plugins.blog.business.portlet.BlogPortletHome; import fr.paris.lutece.plugins.blog.business.portlet.BlogPublicationHome; import fr.paris.lutece.plugins.blog.service.BlogService; +import fr.paris.lutece.plugins.blog.service.BlogServiceSession; import fr.paris.lutece.portal.business.portlet.PortletHome; +import fr.paris.lutece.portal.business.rbac.RBAC; import fr.paris.lutece.portal.web.portlet.PortletJspBean; +import fr.paris.lutece.util.ReferenceList; import fr.paris.lutece.util.html.HtmlTemplate; import fr.paris.lutece.portal.service.util.AppPathService; import fr.paris.lutece.portal.service.admin.AdminUserService; +import fr.paris.lutece.portal.service.rbac.RBACService; import fr.paris.lutece.portal.business.user.AdminUser; import javax.servlet.http.HttpServletRequest; @@ -68,6 +75,9 @@ public class BlogPortletJspBean extends PortletJspBean public static final String MARK_LIST_HTMLDOC = "blog_list"; public static final String MARK_LIST_PAGES = "pages_list"; public static final String MARK_BLOG_ID = "blog_id"; + public static final String MARK_BLOG = "blog"; + + public static final String MARK_LIST_IMAGE_TYPE = "image_type"; public static final String PARAMETER_CONTENT_ID = "content_id"; public static final String PARAMETER_HTML_CONTENT = "html_content"; @@ -77,6 +87,15 @@ public class BlogPortletJspBean extends PortletJspBean private static final String PARAMETER_PAGE_TEMPLATE_CODE = "page_template_code"; public static final String TEMPLATE_MODIFY_PORTLET = "admin/portlet/modify_portlet.html"; + public Blog blog; + + + protected static final String MESSAGE_CONFIRM_REMOVE_TAG = "blog.message.confirmRemoveTag"; + protected static final String MARK_PERMISSION_CREATE_TAG = "permission_manage_create_tag"; + protected static final String MARK_PERMISSION_MODIFY_TAG = "permission_manage_modify_tag"; + protected static final String MARK_PERMISSION_DELETE_TAG = "permission_manage_delete_tag"; + + protected static final String MARK_LIST_TAG = "list_tag"; /** * Returns the BlogPortlet form of creation @@ -96,11 +115,34 @@ public String getCreate( HttpServletRequest request ) model.put( MARK_WEBAPP_URL, AppPathService.getBaseUrl( request ) ); model.put( MARK_LIST_HTMLDOC, listBlog ); model.put( MARK_LIST_PAGES, BlogListPortletHome.loadPages( BlogPortlet.RESOURCE_ID ) ); + blog = ( blog != null && blog.getId( ) == 0 ) ? blog : new Blog( ); + BlogServiceSession blogServiceSession = BlogServiceSession.getInstance( ); + blogServiceSession.saveBlogInSession( request.getSession( ), blog ); + blog.getTag( ).sort( ( tg1, tg2 ) -> tg1.getPriority( ) - tg2.getPriority( ) ); + model.put( MARK_BLOG, blog); + boolean bPermissionCreate = RBACService.isAuthorized( Tag.PROPERTY_RESOURCE_TYPE, RBAC.WILDCARD_RESOURCES_ID, Tag.PERMISSION_CREATE, getUser( ) ); + model.put( MARK_LIST_IMAGE_TYPE, DocContentHome.getListContentType( ) ); + model.put( MARK_PERMISSION_CREATE_TAG, bPermissionCreate ); + model.put( MARK_BLOG, blog ); + model.put( MARK_LIST_TAG, getTageList( ) ); HtmlTemplate template = getCreateTemplate( strPageId, strPortletTypeId, model ); return template.getHtml( ); } + + private ReferenceList getTageList( ) + { + + ReferenceList BlogList = TagHome.getTagsReferenceList( ); + + for ( Tag tg : blog.getTag( ) ) + { + BlogList.removeIf( item -> item.getCode( ).equals( String.valueOf( tg.getIdTag( ) ) ) ); + + } + return BlogList; + } /** * Returns the BlogPortlet form for update @@ -143,11 +185,13 @@ public String doCreate( HttpServletRequest request ) AdminUser user = AdminUserService.getAdminUser( request ); String strSelectedBlog = request.getParameter( PARAMETER_HTMLDOC_SELECTED ); String strTemplateCode = request.getParameter( PARAMETER_PAGE_TEMPLATE_CODE ); + int nIdBlog = Integer.parseInt( request.getParameter( "id" ) ); + BlogServiceSession blogServiceSession = BlogServiceSession.getInstance( ); // recovers portlet specific attributes String strPageId = request.getParameter( PARAMETER_PAGE_ID ); int nPageId = Integer.parseInt( strPageId ); - Blog blog = new Blog( ); + Blog blog = blogServiceSession.getBlogFromSession( request.getSession( ), nIdBlog ) !=null ? blogServiceSession.getBlogFromSession( request.getSession( ), nIdBlog ) : new Blog( ); if ( strSelectedBlog == null || StringUtils.isEmpty( strSelectedBlog ) || !StringUtils.isNumeric( strSelectedBlog ) ) { blog.setContentLabel( request.getParameter( PARAMETER_PORTLET_NAME ) ); @@ -160,6 +204,8 @@ public String doCreate( HttpServletRequest request ) blog.setUser( user.getAccessCode( ) ); blog.setUserCreator( user.getAccessCode( ) ); BlogHome.addInitialVersion( blog ); + populate( blog, request ); + } else { From 806cdd1c200a72e025821ad0261f4a610f048690 Mon Sep 17 00:00:00 2001 From: kenzaAmirat Date: Fri, 22 Jul 2022 13:01:39 +0200 Subject: [PATCH 2/3] =?UTF-8?q?suppression=20import=20non=20utilis=C3=A9?= =?UTF-8?q?=20+=20ajout=20tag=20et=20chapeau=20sur=20creation=20billet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugins/blog/web/BlogPublicationJspBean.java | 1 - .../paris/lutece/plugins/blog/web/TagJspBean.java | 1 - .../blog/web/portlet/BlogPortletJspBean.java | 13 +++++++++++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/java/fr/paris/lutece/plugins/blog/web/BlogPublicationJspBean.java b/src/java/fr/paris/lutece/plugins/blog/web/BlogPublicationJspBean.java index df3d2019..76fb4451 100644 --- a/src/java/fr/paris/lutece/plugins/blog/web/BlogPublicationJspBean.java +++ b/src/java/fr/paris/lutece/plugins/blog/web/BlogPublicationJspBean.java @@ -70,7 +70,6 @@ import fr.paris.lutece.portal.util.mvc.commons.annotations.View; import fr.paris.lutece.util.ReferenceItem; import fr.paris.lutece.util.html.HtmlTemplate; -import fr.paris.lutece.api.user.User; /** * This class provides the user interface to manage HtmlDoc features ( manage, create, modify, remove ) diff --git a/src/java/fr/paris/lutece/plugins/blog/web/TagJspBean.java b/src/java/fr/paris/lutece/plugins/blog/web/TagJspBean.java index 45ca6ea9..353c661e 100644 --- a/src/java/fr/paris/lutece/plugins/blog/web/TagJspBean.java +++ b/src/java/fr/paris/lutece/plugins/blog/web/TagJspBean.java @@ -33,7 +33,6 @@ */ package fr.paris.lutece.plugins.blog.web; -import fr.paris.lutece.api.user.User; import java.util.Collections; import java.util.List; import java.util.Map; diff --git a/src/java/fr/paris/lutece/plugins/blog/web/portlet/BlogPortletJspBean.java b/src/java/fr/paris/lutece/plugins/blog/web/portlet/BlogPortletJspBean.java index 48a10cdf..79bc6b2b 100644 --- a/src/java/fr/paris/lutece/plugins/blog/web/portlet/BlogPortletJspBean.java +++ b/src/java/fr/paris/lutece/plugins/blog/web/portlet/BlogPortletJspBean.java @@ -61,6 +61,7 @@ import java.util.Date; import java.util.HashMap; import java.util.List; +import java.util.Map; /** * This class provides the user interface to manage BlogsPortlet features @@ -96,6 +97,7 @@ public class BlogPortletJspBean extends PortletJspBean protected static final String MARK_PERMISSION_DELETE_TAG = "permission_manage_delete_tag"; protected static final String MARK_LIST_TAG = "list_tag"; + public BlogServiceSession blogServiceSession = BlogServiceSession.getInstance( ); /** * Returns the BlogPortlet form of creation @@ -116,7 +118,6 @@ public String getCreate( HttpServletRequest request ) model.put( MARK_LIST_HTMLDOC, listBlog ); model.put( MARK_LIST_PAGES, BlogListPortletHome.loadPages( BlogPortlet.RESOURCE_ID ) ); blog = ( blog != null && blog.getId( ) == 0 ) ? blog : new Blog( ); - BlogServiceSession blogServiceSession = BlogServiceSession.getInstance( ); blogServiceSession.saveBlogInSession( request.getSession( ), blog ); blog.getTag( ).sort( ( tg1, tg2 ) -> tg1.getPriority( ) - tg2.getPriority( ) ); model.put( MARK_BLOG, blog); @@ -165,6 +166,14 @@ public String getModify( HttpServletRequest request ) model.put( MARK_LIST_PAGES, BlogListPortletHome.loadPages( BlogPortlet.RESOURCE_ID ) ); model.put( MARK_WEBAPP_URL, AppPathService.getBaseUrl( request ) ); model.put( MARK_BLOG_ID, blog.getId( ) ); + model.put( MARK_LIST_TAG, getTageList( ) ); + blog.getTag( ).sort( ( tg1, tg2 ) -> tg1.getPriority( ) - tg2.getPriority( ) ); + blog.getDocContent( ).sort( ( dc1, dc2 ) -> dc1.getPriority( ) - dc2.getPriority( ) ); + blogServiceSession.saveBlogInSession( request.getSession( ), blog ); + + boolean bPermissionCreate = RBACService.isAuthorized( Tag.PROPERTY_RESOURCE_TYPE, RBAC.WILDCARD_RESOURCES_ID, Tag.PERMISSION_CREATE, getUser( ) ); + model.put( MARK_PERMISSION_CREATE_TAG, bPermissionCreate ); + model.put( MARK_BLOG, blog ); HtmlTemplate template = getModifyTemplate( portlet, model ); @@ -203,7 +212,6 @@ public String doCreate( HttpServletRequest request ) blog.setEditComment( request.getParameter( PARAMETER_EDIT_COMMENT ) ); blog.setUser( user.getAccessCode( ) ); blog.setUserCreator( user.getAccessCode( ) ); - BlogHome.addInitialVersion( blog ); populate( blog, request ); } @@ -211,6 +219,7 @@ public String doCreate( HttpServletRequest request ) { blog = BlogHome.findByPrimaryKey( Integer.parseInt( strSelectedBlog ) ); } + BlogService.getInstance( ).createBlog( blog, blog.getDocContent( ) ); int nContentId = blog.getId( ); // get portlet common attributes From 080ebb6964d9bd7514d12d736d0fb6f78c77db5a Mon Sep 17 00:00:00 2001 From: kenzaAmirat <101133104+kenzaAmirat@users.noreply.github.com> Date: Tue, 26 Jul 2022 17:22:39 +0200 Subject: [PATCH 3/3] Update pom.xml --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8a5468f2..10f0b4b4 100644 --- a/pom.xml +++ b/pom.xml @@ -26,7 +26,7 @@ fr.paris.lutece lutece-core - [6.0.2-SNAPSHOT,) + [6.0.2-SNAPSHOT,6.2.3-SNAPSHOT] lutece-core