def project_outline(name): # name=request.args.get('name') P=models.Projects.query.all() project=models.Projects.query.filter_by(id=name).first() G=project.goals.all() gform=goal_form(request.values) delete_form=DeleteRow_form() q_sum = (db.session.query( Projects.id.label("project_id"), Goals.id.label("goal_id"), func.sum(case([(Tasks.complete == True, 1)], else_=0)).label("x"), func.sum(case([(and_(Tasks.deadline != None, Tasks.completeDate != None, Tasks.deadline > Tasks.completeDate), 1)], else_=0)).label("y"), func.count(Tasks.id).label("total"), ).join(Goals, Projects.goals).outerjoin(Strategies, Goals.strategies).outerjoin(Tasks, Strategies.tasks).group_by(Projects.id,Goals.id).filter(Projects.id == name) ) if request.method == 'POST' and gform.submit.data: if gform.validate() == False: flash('Failed Field validation.') flash_errors(gform) return redirect(url_for('project_outline', name=name)) else: p=models.Goals(goal=gform.goal.data,proj=project) db.session.add(p) db.session.commit() return redirect(url_for('project_outline', name=name)) if request.method == 'POST' and delete_form.submitd.data: pstratrow = delete_form.row_id.data pstrat=models.Goals.query.filter_by(id=pstratrow).first() db.session.delete(pstrat) db.session.commit() return redirect(url_for('project_outline',name=name)) # if request.method == 'POST' and delete_form.submit.data: # delete_row= return render_template("index_for_goal.html",project=project,G=G,gform=gform,P=P,zipit=zip(G,q_sum),delete_form=delete_form)
def index(): pform=project_form() tform=task_form() sform=strategy_form() gform=goal_form() P=models.Projects.query.all() if gform.validate_on_submit(): u=models.Projects.query.get(1) p=models.Goals(goal=gform.goal.data,proj=u) db.session.add(p) db.session.commit() return redirect(url_for('index')) return render_template("baseindex.html",pform=pform,gform=gform,tform=tform,sform=sform,P=P)
def edit_objective(name,goal): P=models.Projects.query.all() project=models.Projects.query.filter_by(id=name).first() pgoal=models.Goals.query.filter_by(id=goal).first() delete_form=DeleteRow_form() form = goal_form(obj=pgoal) form.populate_obj(pgoal) # tform=task_form(request.values) if request.method == 'POST' and form.validate_on_submit(): db.session.commit() return redirect(url_for('project_outline',name=name)) if delete_form.validate_on_submit(): db.session.delete(pstrat) db.session.commit() return redirect(url_for('project_outline',name=name)) return render_template('edit_objective.html',form=form,project=project,pgoal=pgoal,delete_form=delete_form,P=P)