def test_snippet_register_without_class(self): view.register_snippet('test', Context, renderer='ptah:tests/test.pt') self.init_ptah() res = self.registry.queryMultiAdapter((Context(), self.request), view.ISnippet, 'test') self.assertEqual(res.strip(), '<div>My snippet</div>')
def test_snippet_register_without_class(self): view.register_snippet( 'test', Context, renderer='ptah:tests/test.pt') self.init_ptah() res = self.registry.queryMultiAdapter( (Context(), self.request), view.ISnippet, 'test') self.assertEqual(res.strip(), '<div>My snippet</div>')
def test_snippet_register_no_stype(self): class TestSnippet(view.Snippet): pass view.register_snippet('unknown', Context, TestSnippet) self._init_ptah() snippet = self.registry.getMultiAdapter( (Context(), None), ISnippet, name='unknown') self.assertIsInstance(snippet, TestSnippet)
def test_snippet_register_without_class(self): view.snippettype('test', Context) view.register_snippet('test', Context) self._init_ptah() snippet = self.registry.getMultiAdapter( (Context(), self.request), ISnippet, 'test') self.assertTrue(isinstance(snippet, Snippet)) self.assertEqual(str(snippet.__class__), "<class 'ptah.view.snippet.Snippet None'>")
def test_snippet_View_snippet_with_error(self): class TestSnippet(view.Snippet): def render(self): raise ValueError('Error') view.snippettype('test', Context) view.register_snippet('test', Context, TestSnippet) self._init_ptah() base = view.View(None, self.request) self.assertEqual(base.snippet('test', Context()), '')
def test_snippet_register(self): class TestSnippet(view.Snippet): def render(self): return 'test snippet' view.snippettype('test', Context) view.register_snippet('test', Context, TestSnippet) self._init_ptah() self.assertEqual( render_snippet('test', Context(), self.request), 'test snippet')
def test_snippet_register_render_snippet(self): def TestSnippet(request): return 'test snippet' view.register_snippet('test', Context, TestSnippet) self.init_ptah() res = view.render_snippet('test', Context(), self.request) self.assertEqual(res.strip(), 'test snippet') self.assertRaises(Exception, view.render_snippet, 'unknown', Context(), self.request)
def test_snippet_register(self): def TestSnippet(request): return 'test snippet' view.register_snippet('test', Context, TestSnippet) self.init_ptah() res = self.registry.adapters.lookup( (providedBy(Context()), providedBy(self.request)), view.ISnippet, 'test') self.assertEqual(res(Context(), self.request), 'test snippet')
def test_snippet_render_with_exception(self): class TestSnippet(view.Snippet): def render(self): raise ValueError('Unknown') view.snippettype('test', Context) view.register_snippet('test', Context, TestSnippet) self._init_ptah() self.assertRaises( ValueError, render_snippet, 'test', Context(), self.request)
def test_snippet_register_render_snippet(self): def TestSnippet(request): return 'test snippet' view.register_snippet('test', Context, TestSnippet) self.init_ptah() res = view.render_snippet('test', Context(), self.request) self.assertEqual(res.strip(), 'test snippet') self.assertRaises( Exception, view.render_snippet, 'unknown', Context(), self.request)
def test_snippet_register_with_not_Snippet_class(self): class TestSnippet(object): pass view.snippettype('test', Context) view.register_snippet('test', Context, TestSnippet) self._init_ptah() snippet = self.registry.getMultiAdapter( (Context(), self.request), ISnippet, 'test') self.assertTrue(isinstance(snippet, Snippet)) self.assertTrue(isinstance(snippet, TestSnippet))
def test_snippet_register_with_template(self): class TestSnippet(view.Snippet): pass def template(*args, **kw): keys = kw.keys() keys.sort() return '|'.join(keys) view.snippettype('test', Context) view.register_snippet('test', klass=TestSnippet, template = template) self._init_ptah() self.assertEqual( render_snippet('test', Context(), self.request), 'context|request|view')
def test_snippet_render_additional_params_to_template(self): class TestSnippet(view.Snippet): def update(self): return {'param1': 1, 'param2': 2} def template(*args, **kw): keys = kw.keys() keys.sort() return '|'.join(keys) view.snippettype('test', Context) view.register_snippet('test', klass=TestSnippet, template = template) self._init_ptah() self.assertTrue( 'param1|param2|' in render_snippet('test', Context(), self.request))
def test_snippet_View_snippet(self): class TestSnippet(view.Snippet): def render(self): return 'test snippet' view.snippettype('test', Context) view.register_snippet('test', Context, TestSnippet) self._init_ptah() base = view.View(None, self.request) # snippettype is string self.assertEqual(base.snippet('unknown', Context()), '') self.assertEqual(base.snippet('test', Context()), 'test snippet') # by default use view context base.context = Context() self.assertEqual(base.snippet('test'), 'test snippet')
return self.template(**kwargs) class DisplayForm(Form): mode = FORM_DISPLAY def form_params(self): return self.params FORM_VIEW = "form-view" FORM_ACTIONS = "form-actions" FORM_WIDGET = "form-widget" FORM_DISPLAY_WIDGET = "form-display-widget" view.snippettype(FORM_VIEW, IForm, "Form view") view.snippettype(FORM_ACTIONS, IForm, "Form actions") view.snippettype(FORM_WIDGET, Field, "Form widget") view.snippettype(FORM_DISPLAY_WIDGET, Field, "Form display widget") view.register_snippet("form-view", Form, template=view.template("ptah.form:templates/form.pt")) view.register_snippet("form-view", DisplayForm, template=view.template("ptah.form:templates/form-display.pt")) view.register_snippet("form-actions", Form, template=view.template("ptah.form:templates/form-actions.pt")) view.register_snippet("form-widget", Field, template=view.template("ptah.form:templates/widget.pt")) view.register_snippet("form-display-widget", Field, template=view.template("ptah.form:templates/widget-display.pt"))
from pyramid.httpexceptions import HTTPFound from ptah import config, view, manage from ptah.view import tmpl from ptah.view.customize import TEMPLATE class TemplatesModule(manage.PtahModule): """ Templates management module. """ title = "Templates" manage.module("templates") view.register_snippet( "ptah-module-actions", TemplatesModule, template=view.template("ptah.manage:templates/customize-actions.pt", nolayer=True), ) class TemplatesView(view.View): """List templates""" view.pview(context=TemplatesModule, template=view.template("ptah.manage:templates/customize.pt", nolayer=True)) __intr_path__ = "/ptah-module/templates/index.html" pkg_data = None def update(self): items = tmpl.registry.items()
info['obj'] = obj if obj is not None: cls = getattr(obj, '__class__', None) info['cls'] = cls info['clsdoc'] = getattr(cls, '__doc__', '') if cls is not None: info['clsmod'] = cls.__module__ info['clsline'] = inspect.getsourcelines(cls)[-1] data.append(info) view.register_snippet( 'ptah-module-actions', IntrospectModule, template = view.template('ptah.manage:templates/introspect-actions.pt')) class PackageView(view.View): view.pview( context = Package, template = view.template('ptah.manage:templates/introspect-pkg.pt')) __doc__ = 'Package introspection page.' __intr_path__ = '/ptah-manage/introspect/${pkg}/index.html' def update(self): self.data = self.context.actions() self.ndata = ndata = {}
""" security ptah module """ from zope import interface import ptah from ptah import config, view, manage class PermissionsModule(manage.PtahModule): __doc__ = u'A listing of all permission sets and their definitions' title = 'Permissions' manage.module('permissions') view.register_snippet( 'ptah-module-actions', PermissionsModule, template = view.template('ptah.manage:templates/permissions-actions.pt')) class PermissionsView(view.View): view.pview( context=PermissionsModule, template=view.template('ptah.manage:templates/permissions.pt')) def update(self): self.permissions = ptah.get_permissions().values() self.permissions.sort(key = lambda p: p.title) acls = ptah.get_acls() self.acls = [acl for acl in acls.values() if acl.name != ''] self.acls.sort(key = lambda a: a.title)
user = CrowdUser.get(key) if user is not None: return UserWrapper(user, self) raise KeyError(key) class UserWrapper(object): def __init__(self, user, parent): self.user = user self.__name__ = str(user.pid) self.__parent__ = parent view.register_snippet( "ptah-module-actions", CrowdModule, template=view.template("ptah.crowd:templates/ptah-actions.pt") ) class CrowdModuleView(form.Form): view.pview(context=CrowdModule, template=view.template("ptah.crowd:templates/search.pt")) __doc__ = "List/search users view" __intr_path__ = "/ptah-manage/crowd/" csrf = True fields = form.Fieldset( form.TextField( "term", title=_(u"Search term"), description=_("Ptah searches users by login and email"),
raise KeyError(key) view.register_route( 'ptah-manage-view','/ptah-manage', PtahManageRoute, use_global_views=True) view.register_route( 'ptah-manage','/ptah-manage/*traverse', PtahManageRoute, use_global_views=True) view.snippettype('ptah-module-actions', PtahModule) view.register_snippet( 'ptah-module-actions', PtahModule, template = view.template('ptah.manage:templates/moduleactions.pt')) view.register_layout( '', PtahManageRoute, parent='ptah-manage', template=view.template("ptah.manage:templates/ptah-layout.pt")) class LayoutManage(view.Layout): view.layout('ptah-manage', PtahManageRoute, template=view.template("ptah.manage:templates/ptah-manage.pt")) def update(self): self.user = authService.get_current_principal() mod = self.request.context
content = self.create(**data) self.message('New content has been created.') raise HTTPFound(location=self.get_next_url(content)) @form.button('Cancel') def cancel_handler(self): raise HTTPFound(location='.') def get_next_url(self, content): return self.request.resource_url(content) view.register_snippet( 'form-actions', AddForm, template = view.template('ptah.cms:form-actions.pt')) class EditForm(form.Form): @reify def label(self): return 'Modify content: %s'%self.tinfo.title @reify def fields(self): return self.tinfo.fieldset def form_content(self): data = {}
def form_params(self): return self.params FORM_VIEW = 'form-view' FORM_ACTIONS = 'form-actions' FORM_WIDGET = 'form-widget' FORM_DISPLAY_WIDGET = 'form-display-widget' view.snippettype(FORM_VIEW, IForm, 'Form view') view.snippettype(FORM_ACTIONS, IForm, 'Form actions') view.snippettype(FORM_WIDGET, Field, 'Form widget') view.snippettype(FORM_DISPLAY_WIDGET, Field, 'Form display widget') view.register_snippet( 'form-view', Form, template = view.template('ptah.form:templates/form.pt')) view.register_snippet( 'form-view', DisplayForm, template = view.template('ptah.form:templates/form-display.pt')) view.register_snippet( 'form-actions', Form, template = view.template('ptah.form:templates/form-actions.pt')) view.register_snippet( 'form-widget', Field, template = view.template('ptah.form:templates/widget.pt')) view.register_snippet(
if user is not None: return UserWrapper(user, self) raise KeyError(key) class UserWrapper(object): def __init__(self, user, parent): self.user = user self.__name__ = str(user.pid) self.__parent__ = parent view.register_snippet( 'ptah-module-actions', CrowdModule, template = view.template('ptah.crowd:templates/ptah-actions.pt')) class SearchUsers(form.Form): view.pview( context = CrowdModule, template = view.template('ptah.crowd:templates/search.pt')) __doc__ = 'List/search users view' __intr_path__ = '/ptah-manage/crowd/' csrf = True fields = form.Fieldset( form.TextField( 'term',