示例#1
0
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)
示例#2
0
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)
示例#3
0
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)
示例#4
0
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)