예제 #1
0
파일: views.py 프로젝트: injetlee/maple-bbs
def question(class_url):
    error = None
    form = QuestionForm()
    fileform = PhotoForm()
    if form.validate_on_submit():
        title = form.title.data
        content = form.content.data
        choice = form.choice.data
        tags = form.tags.data
        tags = sp(',|;|,|;| ', tags)
        tags = list(set(tags))[:4]
        post_tags = []
        for tag in tags:
            if tag != '':
                t = Tags(author=current_user.name, name=tag)
                post_tags.append(t)
        question = Questions(title=title, content=content, kind=g.forums_url)
        question.tags = post_tags
        if choice == 'Markdown':
            question.is_markdown = True
        board = Board_S.load_by_name(class_url)
        board.count.topic += 1
        board.count.all_topic += 1
        board.board_f.count.topic += 1
        board.board_f.count.all_topic += 1
        question.board_id = board.id
        question.author_id = current_user.id
        current_user.infor.score -= 5
        '''随机赠送'''
        random_gift()
        db.session.add(question)
        db.session.commit()
        '''使用redis记录'''
        RedisData.set_question()
        RedisData.set_user()
        return jsonify(judge=True, error=error)
    else:
        if form.errors:
            return return_errors(form)
        else:
            pass
        board = Board_S.query.join(Board_F).\
            filter(Board_F.enname_f == g.forums_url).\
            filter(Board_S.enname_s == class_url).first_or_404()
        return render_template('question/question.html',
                               fileform=fileform,
                               form=form,
                               board=board)
예제 #2
0
def question(group):
    group = Group.load_by_name(group)
    form = QuestionForm()
    fileform = PhotoForm()
    error = None
    if form.validate_on_submit():
        title = form.title.data
        content = form.content.data
        choice = form.choice.data
        tags = form.tags.data
        tags = sp(',|;|,|;| ', tags)
        tags = list(set(tags))[:4]
        post_tags = []
        for tag in tags:
            if tag != '':
                t = Tags(author=current_user.name, name=tag)
                post_tags.append(t)
        question = Questions(title=title, content=content, kind=group.kind)
        question.tags = post_tags
        if choice == 'Markdown':
            question.is_markdown = True
        question.is_group = True
        question.group_id = group.id
        question.author_id = current_user.id
        group.count.topic += 1
        group.count.all_topic += 1
        current_user.infor.score -= 5
        '''随机赠送'''
        random_gift()
        db.session.add(question)
        db.session.commit()
        '''使用redis记录'''
        RedisData.set_question()
        RedisData.set_user()
        return jsonify(judge=True, error=error)
    else:
        if form.errors:
            return return_errors(form)
        else:
            pass
        return render_template('group/question.html',
                               group=group,
                               form=form,
                               fileform=fileform)
예제 #3
0
파일: views.py 프로젝트: injetlee/maple-bbs
def question(group):
    group = Group.load_by_name(group)
    form = QuestionForm()
    fileform = PhotoForm()
    error = None
    if form.validate_on_submit():
        title = form.title.data
        content = form.content.data
        choice = form.choice.data
        tags = form.tags.data
        tags = sp(',|;|,|;| ', tags)
        tags = list(set(tags))[:4]
        post_tags = []
        for tag in tags:
            if tag != '':
                t = Tags(author=current_user.name, name=tag)
                post_tags.append(t)
        question = Questions(title=title, content=content, kind=group.kind)
        question.tags = post_tags
        if choice == 'Markdown':
            question.is_markdown = True
        question.is_group = True
        question.group_id = group.id
        question.author_id = current_user.id
        group.count.topic += 1
        group.count.all_topic += 1
        current_user.infor.score -= 5
        '''随机赠送'''
        random_gift()
        db.session.add(question)
        db.session.commit()
        '''使用redis记录'''
        RedisData.set_question()
        RedisData.set_user()
        return jsonify(judge=True, error=error)
    else:
        if form.errors:
            return return_errors(form)
        else:
            pass
        return render_template('group/question.html',
                               group=group,
                               form=form,
                               fileform=fileform)
예제 #4
0
def post():
    form = QuestionForm()
    if form.validate_on_submit() and request.method == "POST":
        post_question = Questions(author=current_user.username,
                                  title=form.title.data,
                                  describ=form.describ.data,
                                  answer=form.answer.data)
        '''简单私人日记实现'''
        post_question.publish = datetime.now()
        post_question.private = form.private.data
        db.session.add(post_question)
        db.session.commit()
        flash('感谢你的提交')
        return redirect(url_for('question.index'))
    else:
        if form.errors:
            flash_errors(form)
        else:
            pass
        return redirect(url_for('question.index'))
예제 #5
0
 def post(self):
     form = QuestionForm()
     user = request.user
     if not writer_permission.can():
         flash(_('You have not confirm your account'))
         return redirect(url_for('question.quelist'))
     if form.validate_on_submit():
         question = Question()
         question.author = user
         question.title = form.title.data
         question.describ = form.describ.data
         question.answer = form.answer.data
         '''简单私人日记实现'''
         question.is_private = form.private.data
         question.save()
         flash('感谢你的提交')
         return redirect(url_for('question.quelist'))
     else:
         if form.errors:
             flash_errors(form)
         return redirect(url_for('question.quelist'))
예제 #6
0
class QueListView(MethodView):
    def __init__(self):
        super(MethodView, self).__init__()
        self.form = QuestionForm()

    @cache.cached(timeout=180)
    def get(self):
        page = request.args.get('page', 1, type=int)
        filter_dict = {}
        filter_dict.update(dict(is_private=False))
        questions = Question.get_question_list(page, filter_dict)
        data = {
            'title': _('自问自答-HonMaple'),
            'questions': questions,
            'form': self.form
        }
        return render_template('question/questionlist.html', **data)

    @login_required
    def post(self):
        if not writer_permission.can():
            flash(_('You have not confirm your account'))
            return redirect(url_for('question.quelist'))
        if self.form.validate_on_submit():
            question = Question()
            question.author = current_user
            question.title = self.form.title.data
            question.describ = self.form.describ.data
            question.answer = self.form.answer.data
            '''简单私人日记实现'''
            question.is_private = self.form.private.data
            db.session.add(question)
            db.session.commit()
            flash('感谢你的提交')
            return redirect(url_for('question.quelist'))
        else:
            if self.form.errors:
                flash_errors(self.form)
            return redirect(url_for('question.quelist'))
예제 #7
0
class QueListView(MethodView):
    def __init__(self):
        super(MethodView, self).__init__()
        self.form = QuestionForm()

    @cache.cached(timeout=180)
    def get(self):
        page = request.args.get('page', 1, type=int)
        filter_dict = {}
        filter_dict.update(dict(is_private=False))
        questions = Question.get_list(page, 18, filter_dict)
        data = {
            'title': _('Answer-HonMaple'),
            'questions': questions,
            'form': self.form
        }
        return render_template('question/questionlist.html', **data)

    @login_required
    def post(self):
        if not writer_permission.can():
            flash(_('You have not confirm your account'))
            return redirect(url_for('question.quelist'))
        if self.form.validate_on_submit():
            question = Question()
            question.author = current_user
            question.title = self.form.title.data
            question.describ = self.form.describ.data
            question.answer = self.form.answer.data
            '''简单私人日记实现'''
            question.is_private = self.form.private.data
            db.session.add(question)
            db.session.commit()
            flash('感谢你的提交')
            return redirect(url_for('question.quelist'))
        else:
            if self.form.errors:
                flash_errors(self.form)
            return redirect(url_for('question.quelist'))