Example #1
0
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)
Example #2
0
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)
Example #3
0
    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)})
Example #4
0
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)
Example #5
0
    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'})
Example #6
0
    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'})
Example #7
0
    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
            ]
        })
Example #8
0
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)
Example #9
0
    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'))
        })
Example #10
0
    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'})
Example #11
0
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')
Example #12
0
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('/')
Example #13
0
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)
Example #14
0
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)
Example #15
0
    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'})
Example #16
0
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)
Example #17
0
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)
Example #18
0
 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")
Example #19
0
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)
Example #20
0
def load_user(user_id):
    session = database_session.create_session()
    return session.query(User).get(user_id)
Example #21
0
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")
Example #22
0
 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]})