def edit_department(department_id): form = AddDepartmentForm() session = database_session.create_session() department: Department = session.query(Department).get(department_id) if department is None: abort(404) elif department.chief != current_user.id and not current_user.id == 1: abort(404) if form.validate_on_submit(): department.chief = form.chief.data department.title = form.title.data department.members = form.members.data department.email = form.email.data session.commit() return redirect('/departments') form.chief.data = department.chief form.title.data = department.title form.members.data = department.members form.email.data = department.email params = {"title": "Редактировать департамент", "form": form} return render_template("add_department.html", **params)
def edit_job(job_id): form = AddJobForm() session = database_session.create_session() job: Jobs = session.query(Jobs).get(job_id) if job is None: abort(404) elif job.team_leader != current_user.id and not current_user.id == 1: abort(404) if form.validate_on_submit(): job.team_leader = form.team_leader.data job.job = form.job.data job.work_size = form.work_size.data job.collaborators = form.collaborators.data job.is_finished = form.is_finished.data session.commit() return redirect('/') form.team_leader.data = job.team_leader form.job.data = job.job form.work_size.data = job.work_size form.collaborators.data = job.collaborators form.is_finished.data = job.is_finished params = {"title": "Редактировать задачу", "form": form} return render_template("add_job.html", **params)
def get(user_id): abort_if_users_not_found(user_id) session = database_session.create_session() user = session.query(User).get(user_id) return jsonify({'user': user.to_dict(only=USER_ARGUMENTS)})
def register(): form = RegisterForm() if form.validate_on_submit(): session = database_session.create_session() if session.query(User).filter(User.email == form.email.data).first(): params = { "title": "Регистрация", "form": form, "message": "Такой пользователь уже есть" } return render_template('register.html', **params) user = User() user.surname = form['surname'].data user.name = form['name'].data user.age = form['age'].data user.position = form['position'].data user.speciality = form['speciality'].data user.address = form['address'].data user.email = form['email'].data user.set_password(form['password'].data) session.add(user) session.commit() return redirect('/login') params = {"title": "Регистрация", "form": form, "message": False} return render_template("register.html", **params)
def delete(user_id): abort_if_users_not_found(user_id) session = database_session.create_session() user = session.query(User).get(user_id) session.delete(user) session.commit() return jsonify({'success': 'OK'})
def delete(self, job_id): self.abort_if_jobs_not_found(job_id) session = database_session.create_session() job = session.query(Jobs).get(job_id) session.delete(job) session.commit() return jsonify({'success': 'OK'})
def get(): session = database_session.create_session() jobs = session.query(Jobs).all() return jsonify({ 'jobs': [ job.to_dict(only=('job', 'work_size', 'collaborators', 'start_date', 'is_finished', 'team_leader')) for job in jobs ] })
def job_list(): session = database_session.create_session() jobs = session.query(Jobs).all() names = { user.id: ' '.join([user.surname, user.name]) for user in session.query(User).all() } params = {"title": "Mission MARS", "jobs": jobs, "names": names} return render_template("jobs_list.html", **params)
def get(self, job_id): self.abort_if_jobs_not_found(job_id) session = database_session.create_session() job = session.query(Jobs).get(job_id) return jsonify({ 'job': job.to_dict(only=('job', 'work_size', 'collaborators', 'start_date', 'is_finished', 'team_leader')) })
def post(): args = parser.parse_args() session = database_session.create_session() job = Jobs(job=args['job'], work_size=args['work_size'], collaborators=args['collaborators'], is_finished=args['is_finished'], team_leader=args['team_leader']) session.add(job) session.commit() return jsonify({'success': 'OK'})
def delete_department(department_id): session = database_session.create_session() department: Department = session.query(Department).get(department_id) if department is None: abort(404) elif department.chief != current_user.id and not current_user.id == 1: abort(404) else: session.delete(department) session.commit() return redirect('/departments')
def delete_job(job_id): session = database_session.create_session() job: Jobs = session.query(Jobs).get(job_id) if job is None: abort(404) elif job.team_leader != current_user.id and not current_user.id == 1: abort(404) else: session.delete(job) session.commit() return redirect('/')
def login(): form = LoginForm() if form.validate_on_submit(): session = database_session.create_session() user = session.query(User).filter( User.email == form.email.data).first() if user and user.check_password(form.password.data): login_user(user, remember=form.remember_me.data) return redirect("/") return render_template('login.html', message="Неправильный логин или пароль", form=form) return render_template('login.html', title='Авторизация', form=form)
def show_departments(): session = database_session.create_session() departments = session.query(Department).all() names = { user.id: ' '.join([user.surname, user.name]) for user in session.query(User).all() } params = { 'title': "Департаменты", 'names': names, 'departments': departments } return render_template('departments.html', **params)
def post(): args = parser.parse_args() session = database_session.create_session() user = User(name=args['name'], surname=args['surname'], age=args['age'], position=args['position'], speciality=args['speciality'], address=args['address'], email=args['email'], city_from=args['city_from']) user.set_password(args['password']) session.add(user) session.commit() return jsonify({'success': 'OK'})
def add_department_page(): form = AddDepartmentForm() if form.validate_on_submit(): session = database_session.create_session() department = Department() department.title = form.title.data department.chief = form.chief.data department.members = form.members.data department.email = form.email.data session.add(department) session.commit() return redirect('/departments') params = {"title": "Добавить департамент", "form": form} return render_template("add_department.html", **params)
def add_job(): form = AddJobForm() if form.validate_on_submit(): session = database_session.create_session() job = Jobs() job.team_leader = form.team_leader.data job.job = form.job.data job.work_size = form.work_size.data job.collaborators = form.collaborators.data job.is_finished = form.is_finished.data session.add(job) session.commit() return redirect('/') params = {"title": "Добавить работу", "form": form} return render_template("add_job.html", **params)
def abort_if_jobs_not_found(job_id): session = database_session.create_session() job = session.query(Jobs).get(job_id) if not job: abort(404, message=f"Job with id {job_id} not found")
def member(): session = database_session.create_session() users = session.query(User).all() random_user = random.choice(users) return render_template('other/member.html', user=random_user)
def load_user(user_id): session = database_session.create_session() return session.query(User).get(user_id)
def abort_if_users_not_found(user_id): session = database_session.create_session() if session.query(User).get(user_id) is None: abort(404, message=f"User with id {user_id} not found")
def get(): session = database_session.create_session() users = session.query(User).all() return jsonify( {'users': [user.to_dict(only=USER_ARGUMENTS) for user in users]})