def delete(self, id=None): h.admincheck() div = h.checkdiv(id) # Стараемся не оставить людей сиротами for user in div.people: user.deleted = True #meta.Session.delete(div) div.deleted = True meta.Session.commit() h.flashmsg (u"Подразделение было удалено") redirect_to(h.url_for(controller='division', action='list', id=None))
def changeusers(self, id=None): h.admincheck() div = h.checkdiv(id) user = meta.Session.query(model.Person) userlist = eval(self.form_result['users']) # Сначала удалим всех нафиг oldusers = user.filter_by(div_id=id).all() for person in oldusers: person.div_id = None # Вносим в список новых пользователей try: users = user.filter(model.Person.id.in_(userlist)).all() for person in users: person.div_id = div.id except TypeError: # Если элемент один, то ругается, что Int не iterable user.get(userlist).div_id = div.id # Сохраняемся meta.Session.commit() h.flashmsg (u"Информация о подразделении была сохранена") redirect_to(h.url_for(controller='division', action='view', id=id))