def test_update_model_with_includes(self): old = self.data['DummyModel'][0] new_data = {'name': u'three', 'value': u'yea!'} update_model(old, new_data, ('name',)) new = DummyModel.query.one() eq_(new.name, u'three') eq_(new.value, u'two')
def test_update_model_with_includes(self): old = self.data['DummyModel'][0] new_data = {'name': u'three', 'value': u'yea!'} update_model(old, new_data, ('name', )) new = DummyModel.query.one() eq_(new.name, u'three') eq_(new.value, u'two')
def test_update_model_fail_silently_on_wrong_parameters(self): """test that update_model fails silently on wrong parameters.""" old = self.data['DummyModel'][0] new_data = {'name': u'three', 'something wrong': u'yea!'} update_model(old, new_data) new = DummyModel.query.one() eq_(new.name, u'three') eq_(new.value, u'two')
def test_update_model(self): old = self.data['DummyModel'][0] new_data = {'name': u'three', 'value': u'yea!'} update_model(old, new_data) db.session.commit() new = DummyModel.query.one() eq_(new.name, u'three') eq_(new.value, u'yea!')
def edit_forum(self, request, forum=None): if forum: forum = Forum.query.filter_by(slug=forum).first() initial = model_to_dict(forum) else: forum = None initial = {} form = EditForumForm(request.form, **initial) if form.validate_on_submit(): if forum: forum = update_model( forum, form, ('name', 'slug', 'parent', 'description', 'tags')) else: forum = Forum(name=form.name.data, slug=form.slug.data, parent=form.parent.data, description=form.description.data, tags=form.tags.data) db.session.commit() return redirect_to('forum/index') return { 'forum': forum, 'form': form, }
def edit_forum(self, request, forum=None): if forum: forum = Forum.query.filter_by(slug=forum).first() initial = model_to_dict(forum) else: forum = None initial = {} form = EditForumForm(request.form, **initial) if form.validate_on_submit(): if forum: forum = update_model(forum, form, ('name', 'slug', 'parent', 'description', 'tags')) else: forum = Forum( name=form.name.data, slug=form.slug.data, parent=form.parent.data, description=form.description.data, tags=form.tags.data ) db.session.commit() return redirect_to('forum/index') return { 'forum': forum, 'form': form, }
def edit_paste(self, request, id): entry = PasteEntry.query.get(id) form = EditPasteForm( request.form, **model_to_dict(entry, exclude=('id', 'author_id'))) if form.validate_on_submit(): entry = update_model( entry, form, ('text', 'language', 'title', 'author', 'hidden')) db.session.commit() return redirect_to(entry) return { 'paste': entry, 'form': form, }
def edit_paste(self, request, id): entry = PasteEntry.query.get(id) form = EditPasteForm(request.form, **model_to_dict( entry, exclude=('id', 'author_id') )) if form.validate_on_submit(): entry = update_model(entry, form, ('text', 'language', 'title', 'author', 'hidden')) db.session.commit() return redirect_to(entry) return { 'paste': entry, 'form': form, }
def articles_edit(self, request, slug=None): new = slug is None if new: article, data = Article(), {'tags': []} else: article = Article.query.filter_by(slug=slug).one() data = model_to_dict(article, exclude=('slug')) form = EditArticleForm(request.form, **data) if 'delete' in request.form: return redirect_to('news/article_delete', slug=article.slug) elif form.validate_on_submit(): article = update_model(article, form, ('pub_date', 'updated', 'title', 'intro', 'text', 'public', 'tags', 'author')) db.session.commit() msg = slug and _(u'Updated article “%s”') \ or _(u'Created article “%s”') request.flash(msg % article.title, True) return redirect_to(article) return { 'form': form, 'article': article, }
def tags_edit(self, request, slug=None): new = slug is None if new: tag, data = Tag(), {} else: tag = Tag.query.filter_by(slug=slug).one() data = model_to_dict(tag, exclude=('slug')) form = EditTagForm(request.form, **data) if 'delete' in request.form: return redirect_to('portal/tag_delete', slug=tag.slug) elif form.validate_on_submit(): tag = update_model(tag, form, ('name')) db.session.commit() if new: request.flash(_(u'Created tag “%s”' % tag.name), True) else: request.flash(_(u'Updated tag “%s”' % tag.name), True) return { 'form': form, 'tag': tag, }
def test_api_compatibility(self): old = self.data['DummyModel'][0] update_model(old, DummyForm()) new = DummyModel.query.one() eq_(new.name, u'three') eq_(new.value, u'yea!')
def save(self, commit=True): profile = UserProfile() if self.profile is None else self.profile profile = update_model(profile, self) if commit: db.session.commit() return profile