예제 #1
0
    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'>")
예제 #2
0
    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()), '')
예제 #3
0
    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')
예제 #4
0
    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)
예제 #5
0
    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))
예제 #6
0
    def test_snippet_register_declarative(self):
        global TestSnippet

        view.snippettype('pt', Context)

        class TestSnippet(view.Snippet):
            view.snippet('pt')

            def render(self):
                return 'test'

        self._init_ptah()

        self.assertEqual(render_snippet('pt', Context(), self.request), 'test')
예제 #7
0
    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')
예제 #8
0
    def test_snippettype_register(self):
        class ITestsnippet(interface.Interface):
            pass

        view.snippettype('test', Context)
        self._init_ptah()

        from ptah.view.snippet import STYPE_ID
        stypes = config.get_cfg_storage(STYPE_ID)

        self.assertTrue('test' in stypes)

        st = stypes['test']
        self.assertTrue(isinstance(st, SnippetType))
        self.assertEqual(st.name, 'test')
        self.assertEqual(st.context, Context)
예제 #9
0
    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))
예제 #10
0
    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')
예제 #11
0
파일: manage.py 프로젝트: blaflamme/ptah
            if mod is not None:
                return mod(self, self.request)

        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):
예제 #12
0
파일: form.py 프로젝트: mcdonc/ptah

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'))
예제 #13
0
파일: form.py 프로젝트: WouterVH/ptah
        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"))