Exemplo n.º 1
0
def groupform():
    arg_id = request.args.get('id')
    if arg_id is not None:
        group = Group.get_by_id(arg_id)
        form = GroupForm(request.form or None, obj=group)
        stud = Student.stud_select(arg_id)
        form.star.choices = stud
        if group.starosta is not None:
            form.star.data = group.starosta.id
        else:
            form.star.data = 0
        title = 'Изменить группу'
    else:
        group = None
        form = GroupForm(request.form or None)
        #без этого не отрабатывала валидация. ругалость, что не выбран староста
        form.star.choices = [(0,'')]
        form.star.data = 0
        #
        title = 'Добавить группу'
    
    if request.method == 'POST' and form.validate():
        if arg_id is not None:
            req = update_group(group, form.groupname.data, form.star.data)
        else:
            req = add_group(form.groupname.data)
        flash(req)
        return redirect(url_for('groups.get_groups'))
    else:
        return render_template('groupform.html', group=group, 
                    form=form, title=title)
Exemplo n.º 2
0
def delete_group(arg_id):
    gr = Group.get_by_id(arg_id)
    oldname = gr.groupname
    stud_in_gr = Student.stud_select(arg_id)
    if len(stud_in_gr) == 1 and stud_in_gr[0][0] == 0:
        result = Group.delete_by_id(arg_id)
        if result != 0:
            req = f'группа {oldname} успешно удалена'
    else:
        req = 'Невозможно удалить группу т.к. в ней есть студенты: '
        st = ''
        for s in stud_in_gr:
            if s[0] != 0:
                st = f'{st} {s[1]}; '
        req = f'{req} {st} '
    return req