示例#1
0
文件: admin.py 项目: zeroshade/lazydm
            c.articleModel = ModelTags(session.get('new_article'))
            del session['new_article']
            session.save()
        return render('/admin/post_news.html')

    def __new_article(self):
        schema = ArticleForm()
        try: 
            form_result = schema.to_python(request.params)
        except formencode.validators.Invalid, error:
            article = Article(title=error.value['title'],content=error.value['content'])
            d = {}
            for key,error in error.error_dict.items():
                d[key] = error.msg
            session['new_article'] = article
            session['form_errors'] = d
            session.save()
#           log.info(session)
            redirect(url(controller='admin',action='index'))
        else:
            article = Article(title=form_result['title'],content=form_result['content'],
                              author_id=User.getCurrent().id,slug=slugify(form_result['title']))
            Session.add(article)
            Session.commit()
            return "Article Posted!"

    @authenticate_form
    def add_new(self, type):
        if type == "article":
            return self.__new_article()