equal
deleted
inserted
replaced
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.response import Response |
|
13 from pyams_form.schema import CloseButton |
|
14 |
12 |
15 __docformat__ = 'restructuredtext' |
13 __docformat__ = 'restructuredtext' |
16 |
14 |
17 |
15 |
18 # import standard library |
16 # import standard library |
35 from pyams_zmi.layer import IAdminLayer |
33 from pyams_zmi.layer import IAdminLayer |
36 from z3c.form.interfaces import IDataExtractedEvent, DISPLAY_MODE |
34 from z3c.form.interfaces import IDataExtractedEvent, DISPLAY_MODE |
37 |
35 |
38 # import packages |
36 # import packages |
39 from pyams_form.form import AJAXAddForm, AJAXEditForm |
37 from pyams_form.form import AJAXAddForm, AJAXEditForm |
|
38 from pyams_form.schema import CloseButton |
40 from pyams_pagelet.pagelet import pagelet_config |
39 from pyams_pagelet.pagelet import pagelet_config |
41 from pyams_skin.layer import IPyAMSLayer |
40 from pyams_skin.layer import IPyAMSLayer |
42 from pyams_skin.page import InnerPage |
41 from pyams_skin.page import InnerPage |
43 from pyams_skin.table import DefaultElementEditorAdapter |
42 from pyams_skin.table import DefaultElementEditorAdapter |
44 from pyams_skin.viewlet.menu import MenuItem |
43 from pyams_skin.viewlet.menu import MenuItem |
56 from pyams_zmi.control_panel import UtilitiesTable |
55 from pyams_zmi.control_panel import UtilitiesTable |
57 from pyams_zmi.form import AdminDialogAddForm, AdminEditForm |
56 from pyams_zmi.form import AdminDialogAddForm, AdminEditForm |
58 from pyramid.events import subscriber |
57 from pyramid.events import subscriber |
59 from pyramid.exceptions import NotFound |
58 from pyramid.exceptions import NotFound |
60 from pyramid.httpexceptions import HTTPBadRequest |
59 from pyramid.httpexceptions import HTTPBadRequest |
|
60 from pyramid.response import Response |
61 from pyramid.url import resource_url |
61 from pyramid.url import resource_url |
62 from pyramid.view import view_config |
62 from pyramid.view import view_config |
63 from z3c.form import field, button |
63 from z3c.form import field, button |
64 from zope.component.interfaces import ISite |
64 from zope.component.interfaces import ISite |
65 from zope.interface import implementer, Interface, Invalid |
65 from zope.interface import implementer, Interface, Invalid |
389 ajax_handler = 'import.json' |
389 ajax_handler = 'import.json' |
390 edit_permission = None |
390 edit_permission = None |
391 |
391 |
392 def updateWidgets(self, prefix=None): |
392 def updateWidgets(self, prefix=None): |
393 super(ThesaurusImportForm, self).updateWidgets(prefix) |
393 super(ThesaurusImportForm, self).updateWidgets(prefix) |
394 self.widgets['language'].noValueMessage = _("-- automatic selection -- (if available)") |
394 translate = self.request.localizer.translate |
395 self.widgets['encoding'].noValueMessage = _("-- automatic selection -- (if available)") |
395 self.widgets['language'].noValueMessage = translate(_("-- automatic selection -- (if available)")) |
|
396 self.widgets['encoding'].noValueMessage = translate(_("-- automatic selection -- (if available)")) |
396 |
397 |
397 def create(self, data): |
398 def create(self, data): |
398 configuration = ThesaurusUpdaterConfiguration(data) |
399 configuration = ThesaurusUpdaterConfiguration(data) |
399 loader = get_utility(IThesaurusLoader, name=configuration.format) |
400 loader = get_utility(IThesaurusLoader, name=configuration.format) |
400 thesaurus = loader.load(data['data'], configuration) |
401 thesaurus = loader.load(data['data'], configuration) |
445 @pagelet_config(name='export.html', context=IThesaurus, layer=IPyAMSLayer, permission='system.view') |
446 @pagelet_config(name='export.html', context=IThesaurus, layer=IPyAMSLayer, permission='system.view') |
446 class ThesaurusExportForm(AdminDialogAddForm): |
447 class ThesaurusExportForm(AdminDialogAddForm): |
447 """Thesaurus export form""" |
448 """Thesaurus export form""" |
448 |
449 |
449 title = _("Thesaurus") |
450 title = _("Thesaurus") |
450 legend = _("export thesaurus terms") |
451 legend = _("Export thesaurus terms") |
451 icon_css_class = 'fa fa-fw fa-download' |
452 icon_css_class = 'fa fa-fw fa-download' |
452 |
453 |
453 fields = field.Fields(IThesaurusExporterConfiguration) |
454 fields = field.Fields(IThesaurusExporterConfiguration) |
454 buttons = button.Buttons(IThesaurusFormExportButtons) |
455 buttons = button.Buttons(IThesaurusFormExportButtons) |
455 |
456 |