src/pyams_thesaurus/zmi/term.py
changeset 5 86ddb444d0a9
parent 0 47700a43ef3f
child 19 6cb6acc05cc3
equal deleted inserted replaced
4:5dc0c1fa6af6 5:86ddb444d0a9
    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):