def create_job(): if not request.json: return jsonify({'error': 'Empty request'}) elif not all(key in request.json for key in [ 'id', 'job', 'team_leader_id', 'work_size', 'collaborators', 'categories_id', 'is_finished' ]): return jsonify({'error': 'Bad request'}) session = db_session.create_session() if session.query(Jobs).filter(Jobs.id == request.json['id']).first(): return jsonify({'error': 'Id already exists'}) job = Jobs() job.job = request.json['job'] job.id = request.json['id'] job.team_leader_id = request.json['team_leader_id'] job.work_size = request.json['work_size'] job.collaborators = request.json['collaborators'] job.is_finished = request.json['is_finished'] job.team_leader = session.query(User).filter( User.id == request.json['team_leader_id']).first() job.categories_id = request.json['categories_id'] session.add(job) session.commit() for i in request.json['categories_id'].split(', '): job.categories.append( session.query(Category).filter(Category.id == int(i)).first()) session.commit() return jsonify({'success': 'OK'})
def add_job(): form = JobForm() if form.validate_on_submit(): session = db_session.create_session() job = Jobs() job.team_leader_id = form.team_leader_id.data job.job = form.job.data job.work_size = form.work_size.data job.collaborators = form.collaborator.data job.is_finished = form.is_finished.data job.team_leader = session.query(User).filter( User.id == form.team_leader_id.data).first() job.categories_id = form.categories_id.data session.add(job) session.commit() for i in form.categories_id.data.split(', '): job.categories.append( session.query(Category).filter(Category.id == int(i)).first()) session.commit() return redirect('/') return render_template('adding_job.html', title="Adding a Job", form=form)
def post(self): args = parser.parse_args() session = db_session.create_session() job = session.query(Jobs).get(args['id']) if job: abort(404, message=f"Id {args['id']} already exists") job = Jobs() job.job = args['job'] job.id = args['id'] job.team_leader_id = args['team_leader_id'] job.work_size = args['work_size'] job.collaborators = args['collaborators'] job.is_finished = args['is_finished'] job.team_leader = session.query(User).filter( User.id == args['team_leader_id']).first() job.categories_id = args['categories_id'] session.add(job) session.commit() for i in args['categories_id'].split(', '): job.categories.append( session.query(Category).filter(Category.id == int(i)).first()) session.commit() return jsonify({'success': 'OK'})