def changepassword (self, id=None): user = h.checkuser(id) h.requirerights(user_is=id) user.password = md5(self.form_result['newpass'].encode('utf-8')).hexdigest() meta.Session.commit() h.flashmsg (u"Пароль был изменён") redirect_to(h.url_for(controller='usercontrol', action='list', id=None))
def edit(self, id=None): user = h.checkuser(id) h.requirerights(user_is=id) qdivs = meta.Session.query(model.Division).filter_by(deleted=False) divisions = qdivs.all() c.divisions = [[None, u"-- нет --"]] for i in divisions: c.divisions.append([i.id, i.title]) values = { 'login': user.login, 'name': user.name, 'surname': user.surname, 'patronymic': user.patronymic, 'email': user.email, 'phone': user.phone, 'creator': user.creator, 'performer': user.performer, 'appointer': user.appointer, 'responsible': user.responsible, 'chief': user.chief, 'admin': user.admin, 'operator': user.operator, 'div_id': user.div_id } c.curdiv = [user.div_id] return htmlfill.render(render("/users/edit.html"), values)
def delete(self, id=None): h.requirerights("admin") user = h.checkuser(id) #meta.Session.delete(user) user.deleted = True meta.Session.commit() h.flashmsg (u"Пользователь был удалён") redirect_to(h.url_for(controller='usercontrol', action='list', id=None))
def orders (self, id=None): c.person = h.checkuser(id) c.statuses = [[2, u"Принятые"], [3, u"Выполненные"]] c.status = request.params.get("status", 3) c.start_date = datetime.strptime(request.params.get("start_date", datetime.now().date().isoformat()), "%Y-%m-%d") c.stop_date = datetime.strptime(request.params.get("stop_date", datetime.now().date().isoformat()), "%Y-%m-%d") c.orders = meta.Session.query(model.Order).join(model.Order.actions).join(model.Action.action_performers)\ .filter(and_(model.Action.status_id==c.status, model.Action.action_performers.any(person_id=id)))\ .filter(model.Action.created>=c.start_date).filter(model.Action.created<=c.stop_date+timedelta(1)).all() return render ("/users/orders.html")
def saveprefs (self): user = h.checkuser(session['id']) user.preferences = dict() for key,value in self.form_result.iteritems(): if value == u"None": user.preferences[key] = None else: user.preferences[key] = value meta.Session.commit() h.flashmsg (u"Ваши настройки были бережно сохранены...") redirect_to(h.url_for(controller="main", action="index"))
def save(self, id=None): user = h.checkuser(id) h.requirerights(user_is=id) if session.has_key('admin') and session['admin']: for key, value in self.form_result.items(): if getattr(user, key) != value: setattr(user, key, value) else: for key, value in self.form_result.items(): if key in ['name', 'surname', 'patronymic', 'email', 'phone']: if getattr(user, key) != value: setattr(user, key, value) meta.Session.commit() h.flashmsg (u"Информация о пользователе была обновлена. ДА!") redirect_to(h.url_for(controller='usercontrol', action='view', id=user.id))
def preferences (self): c.user = h.checkuser(session['id']) c.upcats = [[None, u" -- все -- "]] + [[x.url_text, x.title] for x in meta.Session.query(model.UpperCategory).filter_by(deleted=False).all()] return render ("/users/preferences.html")
def view(self, id=None): c.person = h.checkuser(id) c.today = date.today() return render("/users/view.html")