14 |
14 |
15 |
15 |
16 # import standard library |
16 # import standard library |
17 |
17 |
18 # import interfaces |
18 # import interfaces |
19 from pyams_skin.interfaces.viewlet import IToolbarViewletManager |
19 from pyams_skin.interfaces.viewlet import IWidgetTitleViewletManager |
20 from pyams_skin.layer import IPyAMSLayer |
20 from pyams_skin.layer import IPyAMSLayer |
21 from pyams_thesaurus.interfaces.term import IThesaurusTerm |
21 from pyams_thesaurus.interfaces.term import IThesaurusTerm |
22 from pyams_thesaurus.interfaces.thesaurus import IThesaurus |
22 from pyams_thesaurus.interfaces.thesaurus import IThesaurus |
23 from pyams_zmi.layer import IAdminLayer |
23 from pyams_zmi.layer import IAdminLayer |
24 from z3c.form.interfaces import IDataExtractedEvent, DISPLAY_MODE |
24 from z3c.form.interfaces import IDataExtractedEvent, DISPLAY_MODE |
40 |
40 |
41 from pyams_thesaurus import _ |
41 from pyams_thesaurus import _ |
42 |
42 |
43 |
43 |
44 @viewlet_config(name='thesaurus.term.adding', context=IThesaurus, view=ThesaurusTermsView, |
44 @viewlet_config(name='thesaurus.term.adding', context=IThesaurus, view=ThesaurusTermsView, |
45 layer=IAdminLayer, manager=IToolbarViewletManager, permission='thesaurus.manage') |
45 layer=IAdminLayer, manager=IWidgetTitleViewletManager, permission='thesaurus.manage') |
46 class ThesaurusTermAddAction(ToolbarAction): |
46 class ThesaurusTermAddAction(ToolbarAction): |
47 """Thesaurus term add action""" |
47 """Thesaurus term add action""" |
48 |
48 |
49 label = _("Add term") |
49 label = _("Add term") |
50 url = 'add-term.html' |
50 url = 'add-term.html' |
74 self.widgets[name].label_css_class = 'input textarea' |
74 self.widgets[name].label_css_class = 'input textarea' |
75 for name in ('generic', 'associations', 'usage'): |
75 for name in ('generic', 'associations', 'usage'): |
76 self.widgets[name].thesaurus_name = self.context.name |
76 self.widgets[name].thesaurus_name = self.context.name |
77 |
77 |
78 def create(self, data): |
78 def create(self, data): |
79 return ThesaurusTerm() |
79 return ThesaurusTerm(data.get('label')) |
80 |
80 |
81 def update_content(self, content, data): |
81 def update_content(self, content, data): |
82 super(ThesaurusTermAddForm, self).update_content(content, data) |
82 super(ThesaurusTermAddForm, self).update_content(content, data) |
83 generic = content.generic |
83 generic = content.generic |
84 usage = content.usage |
84 usage = content.usage |
109 permission='thesaurus.manage', renderer='json', xhr=True) |
109 permission='thesaurus.manage', renderer='json', xhr=True) |
110 class ThesaurusTermAJAXAddForm(AJAXAddForm, ThesaurusTermAddForm): |
110 class ThesaurusTermAJAXAddForm(AJAXAddForm, ThesaurusTermAddForm): |
111 """Thesaurus term add form, AJAX view""" |
111 """Thesaurus term add form, AJAX view""" |
112 |
112 |
113 def get_ajax_output(self, changes): |
113 def get_ajax_output(self, changes): |
114 if changes.generic is not None: |
114 if changes.generic is None: |
115 return super(ThesaurusTermAJAXAddForm, self).get_ajax_output(changes) |
115 return super(ThesaurusTermAJAXAddForm, self).get_ajax_output(changes) |
116 else: |
116 else: |
117 label = changes.label.replace("'", "'") |
117 label = changes.label.replace("'", "'") |
118 return {'callback': 'PyAMS_thesaurus.tree.findTerm', |
118 return {'status': 'callback', |
|
119 'callback': 'PyAMS_thesaurus.tree.findTerm', |
119 'options': {'term': label}} |
120 'options': {'term': label}} |
120 |
121 |
121 |
122 |
122 @pagelet_config(name='properties.html', context=IThesaurusTerm, layer=IPyAMSLayer, permission='view') |
123 @pagelet_config(name='properties.html', context=IThesaurusTerm, layer=IPyAMSLayer, permission='view') |
123 class ThesaurusTermEditForm(AdminDialogEditForm): |
124 class ThesaurusTermEditForm(AdminDialogEditForm): |