Beispiel #1
0
def update(article_id):
    article = Article.query.get(article_id)
    form = CreateForm(request.form)
    form.category_id.choices = [(c.id, c.category_name) for c in Category.query.all()]
    if form.validate():
        title = form.title.data
        html_content = form.html_content.data
        raw_content = form.raw_content.data
        category_id = form.category_id.data
        brief = raw_content[:100]
        category_id = form.category_id.data

        article.title = title
        article.brief = brief
        article.raw_content = raw_content
        article.html_content = html_content
        article.category_id = category_id

        f = request.files['cover']
        if f:
            try:
                article.cover = save_file(f)
            except Exception, e:
                pass

        article.update()

        return redirect(url_for('Article.retrieve', article_id=article.id))
Beispiel #2
0
def create():
    if not check_permission(current_user, 'article'):
        flash('你没有权限')
        return redirect(url_for('Common.index'))
    form = CreateForm(request.form)
    form.category_id.choices = [(c.id, c.category_name) for c in Category.query.all()]
    if request.method == 'POST' and form.validate():
        title = form.title.data
        html_content = form.html_content.data
        raw_content = form.raw_content.data
        category_id = form.category_id.data
        brief = raw_content[:100]

        article = Article(current_user.id, title, brief, raw_content, html_content, category_id)

        f = request.files['cover']
        if f:
            try:
                article.cover = save_file(f)
            except Exception, e:
                pass

        article.save()

        return redirect(url_for('Common.index'))
Beispiel #3
0
class CreateItemView(MethodView):
    """Handles GET, POST request
     for '/catalog/category/<int:category_id>/create'"""

    def __init__(self, session, login_session, client_id=None):
        """
            Args:
                session: sqlalchemy session object.
                login_session: flask session object.
                client_id: client_id.
        """
        self.session = session
        self.login_session = login_session
        self.client_id = client_id
        self.form = CreateForm()

    def get(self, category_id):
        context = {
            "user": self.login_session,
            "error": False,
            "client_id": self.client_id
        }
        if self.login_session.get("user_id"):
            try:
                category = self.session.query(
                    Category).filter_by(id=category_id).one()
                pre_select_category = category.name
                self.form.categories.data = [pre_select_category]
                context["category_id"] = category_id
                context["form"] = self.form
            except Exception as e:
                context["error"] = True
                context["msg"] = e
                return render_template("error.html", context=context)
            return render_template("create.html", context=context)
        else:
            return redirect(url_for("mainView"))

    def post(self, category_id):
        if self.login_session.get("user_id"):
            if self.form.validate():
                createMovie(self.form, self.session, self.login_session)
                return redirect(
                    url_for("CategoryView", category_id=category_id))
            else:
                return self.get(category_id)
        else:
            response = make_response(
                json.dumps("Unauthorized access denied."),
                401
            )
            response.headers["Content-Type"] = "application/json"
            return response
Beispiel #4
0
def customer_create():
    form = CreateForm()
    if request.method == 'POST':
        if form.validate() == False:
            return render_template('signup.htm', form=form)
        else:
            newclient = Customer(form.clientid.data, form.firstname.data,
                                 form.lastname.data, form.email.data)
            db.session.add(newclient)
            db.session.commit()
            return "ALL OK"
    elif request.method == 'GET':
        return render_template('create.htm', form=form)
Beispiel #5
0
def create_witness():
    form = CreateForm(request.form)
    if request.method == 'POST' and form.validate():
        name = form.name.data
        age = form.age.data
        comment = form.comment.data
        # トランザクション
        with db.session.begin(subtransactions=True):
            new_person = Person(name, age, comment)
            db.session.add(new_person)
        db.session.commit()
        
        return redirect(url_for('witness_list'))
    return render_template('create_witness.html', form=form)
Beispiel #6
0
def create_member():
    form = CreateForm(request.form)
    if request.method == 'POST' and form.validate():
        name = form.name.data
        age = form.age.data
        comment = form.comment.data

        with db.session.begin(subtransactions=True):
            new_member = Member(name, age, comment)
            db.session.add(new_member)
        db.session.commit()
        return redirect(url_for('member_list'))

    return render_template('create_member.html', form=form)
Beispiel #7
0
class EditItemView(MethodView):
    """Handles GET, POST request
     for '/catalog/item/<int:item_id>/edit'"""

    def __init__(self, session, login_session, client_id=None):
        """
            Args:
                session: sqlalchemy session object.
                login_session: flask session object.
                client_id: client_id.
        """
        self.session = session
        self.login_session = login_session
        self.client_id = client_id
        self.form = CreateForm()

    def pre_fill_form(self, item):
        categories = list(map(
            lambda x: x.name, item.categories))
        self.form.title.data = item.name
        self.form.description.data = item.description
        self.form.poster.data = item.poster
        self.form.trailer.data = item.trailer
        self.form.categories.data = categories
        return True

    def get(self, item_id):
        context = {
            "user": self.login_session,
            "error": False,
            "client_id": self.client_id
        }
        try:
            item = self.session.query(Movie).filter_by(id=item_id).one()
            if self.login_session.get("user_id") == item.user_id:
                self.pre_fill_form(item)
                context["item"] = item
                context["form"] = self.form
                return render_template("edit.html", context=context)
            else:
                return redirect(url_for("mainView"))
        except Exception as e:
            context["error"] = True
            context["msg"] = e
            return render_template("error.html", context=context)

    def post(self, item_id):
        context = {
            "user": self.login_session,
            "error": False
        }
        try:
            item = self.session.query(Movie).filter_by(
                id=item_id).one()
            if self.login_session.get("user_id") == item.user_id:
                if self.form.validate():
                    editMovie(self.form, self.session, item)
                    return redirect(url_for("ItemView", item_id=item_id))
                else:
                    return self.get(item_id)
            else:
                response = make_response(
                    json.dumps("Unauthorized access denied."),
                    401
                )
                response.headers["Content-Type"] = "application/json"
                return response
        except Exception as e:
            context["error"] = True
            context["msg"] = e
            return render_template("error.html", context=context)