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
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 }