Пример #1
0
 def post(self):
     form = RoleForm(data=request.get_json())
     if not form.validate():
         abort(400)
     role = Role(**form.data)
     db.session.add(role)
     db.session.commit()
     response = jsonify(**role.to_dict())
     response.status_code = 201
     response.headers.add("Location", f"roles/{role.id}")
     return response
Пример #2
0
 def put(self, role_id):
     role = Role.query.filter_by(id=int(role_id)).first()
     if not role:
         abort(404)
     form = RoleForm(data=request.get_json())
     if not form.validate():
         abort(400)
     columns_keys = Role.__table__.columns.keys()
     for field in columns_keys:
         if field in form.data:
             setattr(role, field, form.data[field])
     db.session.commit()
     response = jsonify(role.to_dict())
     response.status_code = 200
     return response
Пример #3
0
def role_create():
    form = RoleForm(request.form)
    if request.method == 'POST' and form.validate():
        try:
            role = Role()
            form.populate_obj(role)
            db.session.add(role)
            db.session.commit()
        except Exception as error:
            app.logger.error('Error creating a role : {}\n{}'.format(
                error, traceback.format_exc()))
    return render_template('forms/model.jinja',
                           form=form,
                           type='create',
                           action=url_for('role_create'),
                           section='role')
Пример #4
0
def role_edit(id):
    role = Role.query.get(id)
    form = RoleForm(request.form, obj=role)

    if request.method == 'POST' and form.validate():
        try:
            form.populate_obj(role)
            db.session.commit()
            flash("Hlutverki var breytt", category='success')
        except Exception as error:
            app.logger.error('Error updating a role : {}\n{}'.format(
                error, traceback.format_exc()))
    return render_template('forms/model.jinja',
                           role=role,
                           form=form,
                           type='edit',
                           action=url_for('role_edit', id=id),
                           section='role')