7 # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED |
7 # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED |
8 # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
8 # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
9 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS |
9 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS |
10 # FOR A PARTICULAR PURPOSE. |
10 # FOR A PARTICULAR PURPOSE. |
11 # |
11 # |
12 from pyramid.view import view_config |
|
13 from pyams_form.form import AJAXEditForm |
|
14 from pyams_i18n.interfaces import II18nManager |
|
15 from pyams_pagelet.pagelet import pagelet_config |
|
16 from pyams_skin.layer import IPyAMSLayer |
|
17 from pyams_skin.viewlet.menu import MenuItem |
|
18 from pyams_viewlet.viewlet import viewlet_config |
|
19 from pyams_zmi.form import AdminDialogEditForm |
|
20 from pyams_zmi.interfaces.menu import IPropertiesMenu |
|
21 from pyams_zmi.layer import IAdminLayer |
|
22 |
12 |
23 __docformat__ = 'restructuredtext' |
13 __docformat__ = 'restructuredtext' |
24 |
14 |
25 |
15 |
26 # import standard library |
16 # import standard library |
27 |
17 |
28 # import interfaces |
18 # import interfaces |
|
19 from pyams_form.interfaces.form import IWidgetForm |
|
20 from pyams_i18n.interfaces import II18nManager |
|
21 from pyams_skin.interfaces import IInnerPage |
|
22 from pyams_skin.layer import IPyAMSLayer |
|
23 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION, MANAGE_PERMISSION |
|
24 from pyams_zmi.interfaces.menu import ISiteManagementMenu |
|
25 from pyams_zmi.layer import IAdminLayer |
29 |
26 |
30 # import packages |
27 # import packages |
|
28 from pyams_form.form import AJAXEditForm |
|
29 from pyams_pagelet.pagelet import pagelet_config |
|
30 from pyams_skin.viewlet.menu import MenuItem |
|
31 from pyams_viewlet.viewlet import viewlet_config |
|
32 from pyams_zmi.form import AdminEditForm |
|
33 from pyramid.view import view_config |
31 from z3c.form import field |
34 from z3c.form import field |
|
35 from zope.interface import implementer |
32 |
36 |
33 from pyams_i18n import _ |
37 from pyams_i18n import _ |
34 |
38 |
35 |
39 |
36 # |
40 # |
37 # Content languages |
41 # Content languages |
38 # |
42 # |
39 |
43 |
40 @viewlet_config(name='languages.menu', context=II18nManager, layer=IAdminLayer, |
44 @viewlet_config(name='languages.menu', context=II18nManager, layer=IAdminLayer, |
41 manager=IPropertiesMenu, permission='system.view', weight=11) |
45 manager=ISiteManagementMenu, permission=VIEW_SYSTEM_PERMISSION, weight=10) |
42 class I18nManagerLanguagesMenu(MenuItem): |
46 class I18nManagerLanguagesMenu(MenuItem): |
43 """I18n manager languages menu""" |
47 """I18n manager languages menu""" |
44 |
48 |
45 label = _("Languages...") |
49 label = _("Languages") |
46 icon_class = 'fa-flag' |
50 icon_class = 'fa-flag' |
47 |
51 |
48 url = 'languages.html' |
52 url = '#languages.html' |
49 modal_target = True |
|
50 |
53 |
51 |
54 |
52 @pagelet_config(name='languages.html', context=II18nManager, layer=IPyAMSLayer, permission='system.view') |
55 @pagelet_config(name='languages.html', context=II18nManager, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION) |
53 class I18nManagerLanguagesEditForm(AdminDialogEditForm): |
56 @implementer(IInnerPage, IWidgetForm) |
|
57 class I18nManagerLanguagesEditForm(AdminEditForm): |
54 """I18n manager languages edit form""" |
58 """I18n manager languages edit form""" |
55 |
59 |
56 legend = _("Content languages") |
60 legend = _("Content languages") |
57 |
61 |
58 fields = field.Fields(II18nManager) |
62 fields = field.Fields(II18nManager) |
59 ajax_handler = 'languages.json' |
63 ajax_handler = 'languages.json' |
60 edit_permission = 'system.view' |
64 edit_permission = MANAGE_PERMISSION |
61 |
65 |
62 |
66 |
63 @view_config(name='languages.json', context=II18nManager, request_type=IPyAMSLayer, |
67 @view_config(name='languages.json', context=II18nManager, request_type=IPyAMSLayer, |
64 permission='system.view', renderer='json', xhr=True) |
68 permission=MANAGE_PERMISSION, renderer='json', xhr=True) |
65 class I18nManagerLanguagesAJAXEditForm(AJAXEditForm, I18nManagerLanguagesEditForm): |
69 class I18nManagerLanguagesAJAXEditForm(AJAXEditForm, I18nManagerLanguagesEditForm): |
66 """I18n manager languages edit form, JSON renderer""" |
70 """I18n manager languages edit form, JSON renderer""" |