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
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
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')
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')