equal
deleted
inserted
replaced
28 |
28 |
29 # import interfaces |
29 # import interfaces |
30 from z3c.form.interfaces import IDataExtractedEvent |
30 from z3c.form.interfaces import IDataExtractedEvent |
31 |
31 |
32 # import packages |
32 # import packages |
33 from pyams_content.shared.blog.manager import BlogManager |
|
34 from pyams_form.form import AJAXAddForm, AJAXEditForm |
33 from pyams_form.form import AJAXAddForm, AJAXEditForm |
35 from pyams_pagelet.pagelet import pagelet_config |
34 from pyams_pagelet.pagelet import pagelet_config |
36 from pyams_skin.table import DefaultElementEditorAdapter |
35 from pyams_skin.table import DefaultElementEditorAdapter |
37 from pyams_skin.viewlet.menu import MenuItem |
36 from pyams_skin.viewlet.menu import MenuItem |
38 from pyams_skin.viewlet.toolbar import ToolbarMenuItem |
37 from pyams_skin.viewlet.toolbar import ToolbarMenuItem |
41 from pyams_utils.unicode import translate_string |
40 from pyams_utils.unicode import translate_string |
42 from pyams_utils.url import absolute_url |
41 from pyams_utils.url import absolute_url |
43 from pyams_viewlet.viewlet import viewlet_config |
42 from pyams_viewlet.viewlet import viewlet_config |
44 from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm |
43 from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm |
45 from pyramid.events import subscriber |
44 from pyramid.events import subscriber |
|
45 from pyramid.path import DottedNameResolver |
46 from pyramid.view import view_config |
46 from pyramid.view import view_config |
47 from z3c.form import field |
47 from z3c.form import field |
48 from zope.interface import Invalid |
48 from zope.interface import Invalid |
49 |
49 |
50 from pyams_content import _ |
50 from pyams_content import _ |
88 fields = field.Fields(IBlogManager).select('title', 'short_name') |
88 fields = field.Fields(IBlogManager).select('title', 'short_name') |
89 ajax_handler = 'add-blog-manager.json' |
89 ajax_handler = 'add-blog-manager.json' |
90 edit_permission = None |
90 edit_permission = None |
91 |
91 |
92 def create(self, data): |
92 def create(self, data): |
93 return BlogManager() |
93 factory = self.request.registry.settings.get('pyams_content.config.blog_factory') |
|
94 if factory is None: |
|
95 factory = 'pyams_content.shared.blog.manager.BlogManager' |
|
96 factory = DottedNameResolver().resolve(factory) |
|
97 return factory() |
94 |
98 |
95 def add(self, object): |
99 def add(self, object): |
96 short_name = II18n(object).query_attribute('short_name', request=self.request) |
100 short_name = II18n(object).query_attribute('short_name', request=self.request) |
97 name = translate_string(short_name, force_lower=True, spaces='-') |
101 name = translate_string(short_name, force_lower=True, spaces='-') |
98 self.context[name] = object |
102 self.context[name] = object |