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)
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
def group(self): return Group.get_by_id(self.group_uid)