View Javadoc
1   package fr.paris.lutece.plugins.blog.web.admindashboard;
2   
3   import fr.paris.lutece.api.user.User;
4   import fr.paris.lutece.plugins.blog.business.Blog;
5   import fr.paris.lutece.plugins.blog.service.BlogParameterService;
6   import fr.paris.lutece.portal.business.rbac.RBAC;
7   import fr.paris.lutece.portal.business.user.AdminUser;
8   import fr.paris.lutece.portal.service.admin.AdminUserService;
9   import fr.paris.lutece.portal.service.dashboard.admin.AdminDashboardComponent;
10  import fr.paris.lutece.portal.service.editor.RichTextEditorService;
11  import fr.paris.lutece.portal.service.rbac.RBACService;
12  import fr.paris.lutece.portal.service.security.SecurityTokenService;
13  import fr.paris.lutece.portal.service.template.AppTemplateService;
14  import fr.paris.lutece.portal.service.user.AdminUserResourceIdService;
15  import fr.paris.lutece.portal.web.dashboard.AdminDashboardJspBean;
16  import fr.paris.lutece.util.html.HtmlTemplate;
17  import org.apache.commons.lang3.StringUtils;
18  
19  import javax.servlet.http.HttpServletRequest;
20  import java.util.HashMap;
21  import java.util.Map;
22  
23  public class BlogAdminDashboardComponent extends AdminDashboardComponent
24  {
25      public static final String ANCHOR_ADMIN_DASHBOARDS = "blogAdminDashboard";
26      private static final String TEMPLATE_ADMIN_DASHBOARD = "admin/plugins/blog/dashboard/blog_adminDashboard.html";
27      private static final String MARK_LIST_EDITORS_BACK_OFFICE = "listEditorsBackOffice";
28      
29      /**
30       * {@inheritDoc}
31       */
32      @Override
33      public String getDashboardData( AdminUser user, HttpServletRequest request )
34      {
35          if ( !RBACService.isAuthorized( Blog.PROPERTY_RESOURCE_TYPE, RBAC.WILDCARD_RESOURCES_ID,
36                  AdminUserResourceIdService.PERMISSION_MANAGE_ADVANCED_PARAMETERS, (User) user ) )
37          {
38              return StringUtils.EMPTY;
39          }
40  
41          Map<String, Object> model = new HashMap<>( );
42          model.put( SecurityTokenService.PARAMETER_TOKEN,
43                  SecurityTokenService.getInstance( ).getToken( request, AdminDashboardJspBean.TEMPLATE_MANAGE_DASHBOARDS ) );
44  
45          BlogParameterService blogParameterService = BlogParameterService.getInstance();
46          model.put(BlogParameterService.MARK_DEFAULT_NUMBER_MANDATORY_TAGS, blogParameterService.getNumberMandatoryTags());
47          model.put(BlogParameterService.MARK_DEFAULT_DATE_END_PUBLISHING, blogParameterService.getDefaultDateEndPublishing());
48          model.put( MARK_LIST_EDITORS_BACK_OFFICE, RichTextEditorService.getListEditorsForBackOffice( AdminUserService.getLocale( request ) ) );
49          model.put(BlogParameterService.MARK_DEFAULT_EDITOR, blogParameterService.getDefaultBlogEditor());
50          model.put(BlogParameterService.MARK_USE_UPLOAD_IMAGE_PLUGIN, blogParameterService.isUseUploadImagePlugin());
51          model.put(BlogParameterService.MARK_USE_CONTENT_TYPE, blogParameterService.isUseContentType());
52          model.put(BlogParameterService.MARK_ACCEPTED_FILE_TYPES, blogParameterService.getAcceptedFileTypes());
53  
54          HtmlTemplate template = AppTemplateService.getTemplate( TEMPLATE_ADMIN_DASHBOARD, user.getLocale( ), model );
55  
56          return template.getHtml( );
57      }
58  }