コード例 #1
0
ファイル: user_handler.py プロジェクト: jbcnrlz/pyramid-blog
    def update(self):
        item = Session.query(self.model).get(self.get_id())
        params = self.request.params.copy()
    
        k = 'User-%d-password'%item.id
        if params and params[k] != item.password:
            if not params[k]:
                params[k] = item.password
            else:
                params[k] = self.model.get_pass_hash(params[k])

        form = FieldSet(item, data=params or None)
        self.model._configure_form(form)

        if self.request.params:
            if form.validate():
                form.sync()
                self.model._before_update(item, form, params)
                Session.add(form.model)
                self.request.session.flash(u'Item atualizado com sucesso.', 'success')
                return HTTPFound(location=g.url(self.url_base))
            else:
                self.request.session.flash(u'Dados inválidos', 'error')

        params = dict(form=form, url_base=self.url_base)
        
        if self.renderer_base:
            renderer = self.renderer_base+'/edit.jinja2'
        else:
            renderer = '/bases/crud_edit.jinja2'

        return self.render(renderer, params)
コード例 #2
0
ファイル: __init__.py プロジェクト: nskrypnik/pyramid-blog
    def _do_create(self):
        form = FieldSet(self.model, data=self.request.params or None)
        self.model._configure_form(form)
        if self.request.params:
            if form.validate():
                form.sync()
                self.model._before_create(form, self.request.params)
                Session.add(form.model)
                self.request.session.flash(u'Item successfully added.', 'success')
                return HTTPFound(location=g.url(self.url_base))
            else:
                self.request.session.flash(u'Invalid data.', 'error')

        return dict(form=form, url_base=self.url_base)
コード例 #3
0
ファイル: post_handler.py プロジェクト: jbcnrlz/pyramid-blog
    def create(self):
        form = FieldSet(self.model, data=self.request.POST or None)
        self.model._configure_form(form)
        if self.request.POST:
            if form.validate():
                form.sync()
                self.model._before_create(form, self.request.POST)
                Session.add(form.model)
                self.request.session.flash(u'Item incluído com sucesso.', 'success')
                return HTTPFound(location=g.url(self.url_base))
            else:
                self.request.session.flash(u'Dados inválidos.', 'error')

        return dict(form=form, url_base=self.url_base)
コード例 #4
0
    def _do_create(self):
        form = FieldSet(self.model, data=self.request.params or None)
        self.model._configure_form(form)
        if self.request.params:
            if form.validate():
                form.sync()
                self.model._before_create(form, self.request.params)
                Session.add(form.model)
                self.request.session.flash(u'Item successfully added.',
                                           'success')
                return HTTPFound(location=g.url(self.url_base))
            else:
                self.request.session.flash(u'Invalid data.', 'error')

        return dict(form=form, url_base=self.url_base)
コード例 #5
0
ファイル: __init__.py プロジェクト: jbcnrlz/pyramid-blog
    def _do_update(self):
        item = Session.query(self.model).get(self.get_id())
        
        form = FieldSet(item, data=self.request.params or None)
        self.model._configure_form(form)
        if self.request.params:
            if form.validate():
                form.sync()
                self.model._before_update(item, form, self.request.params)
                Session.add(form.model)
                self.request.session.flash(u'Item atualizado com sucesso.', 'success')
                return HTTPFound(location=g.url(self.url_base))
            else:
                self.request.session.flash(u'Dados inválidos', 'error')

        return dict(form=form, url_base=self.url_base)
コード例 #6
0
    def _do_update(self):
        item = Session.query(self.model).get(self.get_id())

        form = FieldSet(item, data=self.request.params or None)
        self.model._configure_form(form)
        if self.request.params:
            if form.validate():
                form.sync()
                self.model._before_update(item, form, self.request.params)
                Session.add(form.model)
                self.request.session.flash(u'Item atualizado com sucesso.',
                                           'success')
                return HTTPFound(location=g.url(self.url_base))
            else:
                self.request.session.flash(u'Dados inválidos', 'error')

        return dict(form=form, url_base=self.url_base)
コード例 #7
0
    def create(self):
        if self.auth():
            return HTTPFound(location=self.urlLogin)

        form = FieldSet(self.model, data=self.request.POST or None)
        self.model._configure_form(form)
        if self.request.POST:
            if form.validate():
                form.sync()
                self.model._before_create(form, self.request.POST)
                Session.add(form.model)
                self.request.session.flash(u'Item incluído com sucesso.', 'success')
                return HTTPFound(location=g.url(self.url_base))
            else:
                self.request.session.flash(u'Dados inválidos.', 'error')

        return dict(form=form, url_base=self.url_base)
コード例 #8
0
    def update(self):
        if self.auth():
            return HTTPFound(location=self.urlLogin)

        item = Session.query(self.model).get(self.get_id())
        params = self.request.params.copy()

        k = 'User-%d-password' % item.id
        if params and params[k] != item.password:
            if not params[k]:
                params[k] = item.password
            else:
                params[k] = self.model.get_pass_hash(params[k])

        form = FieldSet(item, data=params or None)
        self.model._configure_form(form)

        if self.request.params:
            if form.validate():
                form.sync()
                self.model._before_update(item, form, params)
                Session.add(form.model)
                self.request.session.flash(u'Item atualizado com sucesso.',
                                           'success')
                return HTTPFound(location=g.url(self.url_base))
            else:
                self.request.session.flash(u'Dados inválidos', 'error')

        params = dict(form=form, url_base=self.url_base)

        if self.renderer_base:
            renderer = self.renderer_base + '/edit.jinja2'
        else:
            renderer = '/bases/crud_edit.jinja2'

        return self.render(renderer, params)