def update(self, user_id): user = DBSession.query(User).get(user_id) self.can_modify(user) params = parse_request(self.request) print params.items() for key, value in params.items(): setattr(user, key, value) DBSession.add(user) DBSession.flush() self.ctx.success = True self.ctx.message = 'Updated user.'
def create(self): email = self.request.json_body.get('email') password = self.request.json_body.get('password', '') password_hash = User.hash_password(email, password) user = DBSession.query(User).filter(User.email==email).filter(User.password==password_hash).first() if user: ticket = random_ticket() user_session = UserSession(user_id=user.id, ticket=ticket) DBSession.add(user_session) self.set(success=True, message='Logged in.', ticket=ticket) else: self.set(success=False, message='Authentication failed, please try again.')
def create(self): params = parse_request(self.request) tag_csv = ','.join(params['tags']) group = DBSession.query(Group).filter(Group.id.in_(params['groups'])).first() for user_dict in params['users']: new_user = User(**user_dict) if tag_csv: new_user.tags = tag_csv if group: new_user.group_id = group.id try: DBSession.begin_nested() DBSession.add(new_user) DBSession.flush() # print 'Adding user', user_dict['email'] except sqlalchemy.exc.IntegrityError, exc: DBSession.rollback() self.flash(str(exc), success=False) user = DBSession.query(User).filter(User.email==user_dict['email']).first() user.merge(new_user) DBSession.flush()
def create(self): group = Group(**self.request.POST) DBSession.add(group) DBSession.flush() self.set(success=True, message='Group added: %s' % group.name)