Example #1
0
 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))
Example #2
0
 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))