def edit_dep(id): form = DepForm() if request.method == "GET": session = db_session.create_session() if current_user.id == 1: dep = session.query(Department).filter(Department.id == id).first() else: dep = session.query(Department).filter( Department.id == id, Department.creator == current_user.id).first() if dep: form.title.data = dep.title form.chief_id.data = dep.chief form.members.data = dep.members form.email.data = dep.email else: abort(404) if form.validate_on_submit(): session = db_session.create_session() if current_user.id == 1: dep = session.query(Department).filter(Department.id == id).first() else: dep = session.query(Department).filter( Department.id == id, Department.creator == current_user.id).first() if dep: dep.title = form.title.data dep.chief = form.chief_id.data dep.members = form.members.data dep.email = form.email.data session.commit() return redirect('/departments') else: abort(404) return render_template('new_dep.html', title='Department edit', form=form)
def new_dep(): form = DepForm() if form.validate_on_submit(): session = db_session.create_session() dep = Department() dep.title = form.title.data dep.chief = form.chief_id.data dep.members = form.members.data dep.email = form.email.data dep.creator = current_user.id chief = session.query(User).filter( User.id == form.chief_id.data).first() chief.deps.append(dep) session.merge(current_user) session.commit() return redirect('/departments') return render_template('new_dep.html', title='New Department', form=form)
def edit_dep(dep_id): form = DepForm() db_sess = db_session.create_session() users = [(str(user.id), user.fullname()) for user in db_sess.query(User).all()] form.members.choices = users form.chief.choices = users dep = db_sess.query(Department).filter(Department.id == dep_id, (Department.user == current_user) | (current_user.id == 1)).first() if request.method == 'GET': if dep: form.chief.data = str(dep.user.id) form.members.data = dep.members.split(', ') form.title.data = dep.title form.email.data = dep.email else: abort(404) if form.validate_on_submit(): if dep: dep.chief = form.chief.data dep.members = ', '.join(form.members.data) dep.title = form.title.data dep.email = form.email.data db_sess.commit() return redirect('/departments') else: abort(404) return render_template('add_dep.html', title='Редактирование Департамента', work_type='Редактирование', form=form, is_editing=True)
def add_dep(): form = DepForm() db_sess = db_session.create_session() form.chief.choices = [current_user.id] form.chief.data = str(current_user.id) form.members.choices = [(str(user.id), user.fullname()) for user in db_sess.query(User).all()] if form.validate_on_submit(): dep = Department(chief=current_user.id, title=form.title.data, members=', '.join(form.members.data), email=form.email.data) db_sess.add(dep) db_sess.commit() return redirect('/departments') return render_template('add_dep.html', title='Добавление Департамента', work_type='Добавление', form=form)