Example #1
0
    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='..')
Example #2
0
    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
Example #3
0
    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()
Example #4
0
File: user.py Project: mcdonc/ptah
    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='./')
Example #5
0
    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()