def create_project(): if request.method == 'GET': form = CreateProjectForm(request.form) return render_template('create_project.html', form=form) name = request.form['name'] code = request.form['code'] company = request.form['company'] description = request.form['description'] budget = request.form['budget'] contingency = request.form['contingency'] leader = request.form['leader'] coordinator = request.form['coordinator'] status = 3 cat_id = request.form['category'] sub_cat_id = request.form['sub_category'] category = db.session.query(Category).get(cat_id) sub_category = db.session.query(SubCategory).get(sub_cat_id) if request.form.get('is_old') is not None: is_old = True else: is_old = False member_list = request.form.getlist('member') adviser_list = request.form.getlist('adviser') member_list.append(int(leader)) skill_list = request.form.getlist('skill') deadline = datetime.strptime(request.form['deadline'], "%m/%d/%Y").date() start_date = datetime.strptime(request.form['start_date'], "%m/%d/%Y").date() is_duplicate = Project.query.filter_by(code=code, name=name).first() if is_duplicate is None: project = Project(name, code, company, description, budget, contingency, leader, coordinator, is_old, start_date, deadline, status) # To add new skill for i in skill_list: skill = db.session.query(Skill).get(i) project.skills.append(skill) # To add new member for i in member_list: member = db.session.query(Student).get(i) project.members.append(member) # To add new adviser for i in adviser_list: adviser = db.session.query(Stakeholder).get(i) project.advisers.append(adviser) project.categories.append(category) project.sub_categories.append(sub_category) project.created_at = datetime.now() generate_planning_hour(project) db.session.add(project) db.session.commit() flash('Project created') return redirect('/project/projects') else: form = CreateProjectForm(request.form) error = 'Duplicate entry' return render_template('create_project.html', error=error, form=form)