15 |
15 |
16 # import standard library |
16 # import standard library |
17 from datetime import datetime |
17 from datetime import datetime |
18 |
18 |
19 # import interfaces |
19 # import interfaces |
|
20 from pyams_pagelet.interfaces import PageletCreatedEvent |
20 from pyams_security.interfaces import IUsersFolderPlugin, ISecurityManager, ILocalUser, IUserRegistrationInfo |
21 from pyams_security.interfaces import IUsersFolderPlugin, ISecurityManager, ILocalUser, IUserRegistrationInfo |
21 from pyams_skin.interfaces.viewlet import IToolbarViewletManager, IToolbarAddingMenu |
22 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu, IWidgetTitleViewletManager |
22 from pyams_skin.interfaces import IPageHeader |
23 from pyams_skin.interfaces import IPageHeader |
23 from pyams_skin.layer import IPyAMSLayer |
24 from pyams_skin.layer import IPyAMSLayer |
24 from pyams_zmi.layer import IAdminLayer |
25 from pyams_zmi.layer import IAdminLayer |
25 from z3c.form.interfaces import DISPLAY_MODE, IDataExtractedEvent |
26 from z3c.form.interfaces import DISPLAY_MODE, IDataExtractedEvent |
26 from z3c.table.interfaces import IColumn |
27 from z3c.table.interfaces import IColumn |
31 from pyams_form.form import AJAXAddForm, AJAXEditForm |
32 from pyams_form.form import AJAXAddForm, AJAXEditForm |
32 from pyams_form.search import SearchView, SearchResultsView |
33 from pyams_form.search import SearchView, SearchResultsView |
33 from pyams_pagelet.pagelet import pagelet_config |
34 from pyams_pagelet.pagelet import pagelet_config |
34 from pyams_security.plugin.userfolder import UsersFolder, User |
35 from pyams_security.plugin.userfolder import UsersFolder, User |
35 from pyams_security.zmi.utility import SecurityManagerPluginsTable |
36 from pyams_security.zmi.utility import SecurityManagerPluginsTable |
36 from pyams_skin.skin import apply_skin |
37 from pyams_skin.page import DefaultPageHeaderAdapter |
37 from pyams_skin.table import I18nColumn |
38 from pyams_skin.table import I18nColumn |
38 from pyams_skin.viewlet.toolbar import ToolbarMenuItem, ToolbarAction |
39 from pyams_skin.viewlet.toolbar import ToolbarMenuItem, ToolbarAction |
39 from pyams_utils.adapter import adapter_config, ContextRequestViewAdapter |
40 from pyams_utils.adapter import adapter_config |
40 from pyams_utils.date import format_datetime |
41 from pyams_utils.date import format_datetime |
41 from pyams_utils.registry import query_utility |
42 from pyams_utils.registry import query_utility |
42 from pyams_utils.url import absolute_url |
43 from pyams_utils.url import absolute_url |
43 from pyams_viewlet.viewlet import viewlet_config |
44 from pyams_viewlet.viewlet import viewlet_config |
44 from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm |
45 from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm |
145 def __init__(self, context, request): |
146 def __init__(self, context, request): |
146 super(UsersFolderSearchView, self).__init__(context, request) |
147 super(UsersFolderSearchView, self).__init__(context, request) |
147 |
148 |
148 |
149 |
149 @adapter_config(context=(IUsersFolderPlugin, IAdminLayer, UsersFolderSearchView), provides=IPageHeader) |
150 @adapter_config(context=(IUsersFolderPlugin, IAdminLayer, UsersFolderSearchView), provides=IPageHeader) |
150 class UsersFolderSearchViewHeaderAdapter(ContextRequestViewAdapter): |
151 class UsersFolderSearchViewHeaderAdapter(DefaultPageHeaderAdapter): |
151 """Users folder search view header adapter""" |
152 """Users folder search view header adapter""" |
152 |
153 |
153 back_url = '#security-manager.html' |
154 back_url = '#security-manager.html' |
154 icon_class = 'fa fa-fw fa-user' |
155 icon_class = 'fa fa-fw fa-user' |
|
156 title = _("Security manager") |
155 |
157 |
156 @property |
158 @property |
157 def title(self): |
159 def subtitle(self): |
158 return self.context.title |
160 return self.context.title |
159 |
|
160 subtitle = _("Search users") |
|
161 |
161 |
162 |
162 |
163 @view_config(name='search-results.html', context=IUsersFolderPlugin, request_type=IPyAMSLayer, |
163 @view_config(name='search-results.html', context=IUsersFolderPlugin, request_type=IPyAMSLayer, |
164 permission='system.view') |
164 permission='system.view') |
165 class UsersFolderSearchResultsView(AdminView, SearchResultsView): |
165 class UsersFolderSearchResultsView(AdminView, SearchResultsView): |
169 title = _("Search results") |
169 title = _("Search results") |
170 cssClasses = {'table': 'table table-bordered table-striped table-hover table-tight datatable'} |
170 cssClasses = {'table': 'table table-bordered table-striped table-hover table-tight datatable'} |
171 |
171 |
172 def __init__(self, context, request): |
172 def __init__(self, context, request): |
173 super(UsersFolderSearchResultsView, self).__init__(context, request) |
173 super(UsersFolderSearchResultsView, self).__init__(context, request) |
174 apply_skin(self.request, 'PyAMS admin skin') |
174 request.registry.notify(PageletCreatedEvent(self)) |
175 |
175 |
176 |
176 |
177 @adapter_config(name='login', context=(IUsersFolderPlugin, IAdminLayer, UsersFolderSearchResultsView), |
177 @adapter_config(name='login', context=(IUsersFolderPlugin, IAdminLayer, UsersFolderSearchResultsView), |
178 provides=IColumn) |
178 provides=IColumn) |
179 class LoginColumn(I18nColumn, GetAttrColumn): |
179 class LoginColumn(I18nColumn, GetAttrColumn): |
239 # Users views |
239 # Users views |
240 # |
240 # |
241 |
241 |
242 @viewlet_config(name='users-folder.toolbar.adding', context=IUsersFolderPlugin, |
242 @viewlet_config(name='users-folder.toolbar.adding', context=IUsersFolderPlugin, |
243 view=UsersFolderSearchView.search_form_factory, layer=IAdminLayer, |
243 view=UsersFolderSearchView.search_form_factory, layer=IAdminLayer, |
244 manager=IToolbarViewletManager, permission='system.manage') |
244 manager=IWidgetTitleViewletManager, permission='system.manage') |
245 class LocalUserAddAction(ToolbarAction): |
245 class LocalUserAddAction(ToolbarAction): |
246 """Users folder adding action""" |
246 """Users folder adding action""" |
247 |
247 |
248 label = _("Add user") |
248 label = _("Add user") |
249 url = 'add-user.html' |
249 url = 'add-user.html' |