def remove(self): self.validate_csrf_token() user = self.context.user Session.delete(user) Session.flush() self.message("User has been removed.", 'info') raise HTTPFound(location='..')
def create(self, data): # create user user = CrowdUser(data['name'], data['login'], data['login']) # set password user.password = ptah.passwordTool.encode(data['password']) Session.add(user) Session.flush() return user
def update(self): super(SearchUsers, self).update() request = self.request uids = request.POST.getall('uid') if 'activate' in request.POST and uids: Session.query(MemberProperties)\ .filter(MemberProperties.uri.in_(uids))\ .update({'suspended': False}, False) self.message("Selected accounts have been activated.", 'info') if 'suspend' in request.POST and uids: Session.query(MemberProperties).filter( MemberProperties.uri.in_(uids))\ .update({'suspended': True}, False) self.message("Selected accounts have been suspended.", 'info') if 'validate' in request.POST and uids: Session.query(MemberProperties).filter( MemberProperties.uri.in_(uids))\ .update({'validated': True}, False) self.message("Selected accounts have been validated.", 'info') term = request.session.get('ptah-search-term', '') if term: self.users = Session.query(CrowdUser) \ .filter(CrowdUser.email.contains('%%%s%%'%term))\ .order_by(sqla.sql.asc('name')).all() else: self.size = Session.query(CrowdUser).count() try: current = int(request.params.get('batch', None)) if not current: current = request.session.get('crowd-current-batch') if not current: current = 1 else: request.session['crowd-current-batch'] = current except: current = request.session.get('crowd-current-batch') if not current: current = 1 self.current = current self.pages, self.prev, self.next = self.page(self.size,self.current) offset, limit = self.page.offset(current) self.users = Session.query(CrowdUser)\ .offset(offset).limit(limit).all()
def create(self): data, errors = self.extract() if errors: self.message(errors, 'form-error') return # create user user = CrowdUser(data['name'], data['login'], data['login']) # set password user.password = ptah.passwordTool.encode(data['password']) Session.add(user) Session.flush() self.request.registry.notify(PrincipalAddedEvent(user)) self.message('User has been created.', 'success') raise HTTPFound(location='./')
def update(self): super(CrowdModuleView, self).update() request = self.request uids = request.POST.getall("uid") if "activate" in request.POST and uids: Session.query(MemberProperties).filter(MemberProperties.uri.in_(uids)).update({"suspended": False}, False) self.message("Selected accounts have been activated.", "info") if "suspend" in request.POST and uids: Session.query(MemberProperties).filter(MemberProperties.uri.in_(uids)).update({"suspended": True}, False) self.message("Selected accounts have been suspended.", "info") if "validate" in request.POST and uids: Session.query(MemberProperties).filter(MemberProperties.uri.in_(uids)).update({"validated": True}, False) self.message("Selected accounts have been validated.", "info") term = request.session.get("ptah-search-term", "") if term: self.users = ( Session.query(CrowdUser) .filter(CrowdUser.email.contains("%%%s%%" % term)) .order_by(sqla.sql.asc("name")) .all() ) else: self.size = Session.query(CrowdUser).count() try: current = int(request.params.get("batch", None)) if not current: current = 1 request.session["crowd-current-batch"] = current except: current = request.session.get("crowd-current-batch") if not current: current = 1 self.current = current self.pages, self.prev, self.next = self.page(self.size, self.current) offset, limit = self.page.offset(current) self.users = Session.query(CrowdUser).offset(offset).limit(limit).all()