def modify(self): userInput= self.getInput() userObj = Users.get(Users.id == int(userInput['id'])) current_user = Users.get(Users.name == self.isLogin()) if userObj.id != current_user.id and not self.isAdmin(): return self.error(msg = '权限不足!', url=self.makeUrl('/admin/users/list')) thumbnail_id = int(userInput['thumbnail']) if userInput.has_key('thumbnail') else 0 if thumbnail_id: thumbnail_data = Images.get(Images.id == thumbnail_id).thumbnail else: import base64 from imaging import imaging thumbnail_data = base64.b64encode(buffer(imaging.default_thumbnail())) try: userObj = Users.get(Users.id == int(userInput['id'])) userObj.email = userInput['email'] userObj.name = userInput['name'] userObj.cellphone = userInput['cellphone'] userObj.description = userInput['desc'] userObj.gender = int(userInput['gender']) userObj.avatur = thumbnail_data if self.isAdmin(): userObj.role = userInput['role'] userObj.save() except Exception, e: return self.error(msg = '会员修改失败: %s' % e, url=self.makeUrl('/admin/users/list'))
def add(self): chatroomsList = Chatrooms().select() userName = self.isLogin() if userName != 'admin': return self.error(msg = '权限不足!', url=self.makeUrl('/admin/chatrooms/list')) user = Users.get(Users.name == userName) albumsList = Albums().select().where(Albums.owner == user.id) imagesList = Images().select().where(Images.owner == user.id) if not albumsList.count(): return self.error(msg = '请创建至少一个专辑!', url=self.makeUrl('/admin/chatrooms/list')) if not imagesList.count(): return self.error(msg = '请创建至少一个图片!', url=self.makeUrl('/admin/chatrooms/list')) album_images_map = {} excluded_albums = [] for album in albumsList: album_images = imagesList.where(Images.album == album.id) if album_images.count(): album_images_map[album.id] = album_images else: excluded_albums.append(album.id) self.privData['ALBUMS_LIST'] = \ [album for album in albumsList if album.id not in excluded_albums] self.privData['IMG_ALBUMS_LIST'] = album_images_map # 默认专辑为当前用户的第一个专辑 self.privData['CURRENT_ALBUM'] = self.privData['ALBUMS_LIST'][0] # 默认图片为默认专辑的第一张图片 self.privData['CURRENT_IMG'] = album_images_map[self.privData['CURRENT_ALBUM'].id][0] self.privData['SUBMIT_NAME'] = "thumbnail" return self.display('chatroomAdd')
def edit_user_info(self): inputs = self.get_input() try: user = Users.get(Users.cellphone == self.is_login()) if inputs.get('name'): user.name = inputs['name'] if inputs.get('description'): user.description = self.htmlunquote(inputs['description']) if inputs.get('gender'): user.gender = int(inputs['gender']) if inputs.get('birthday'): user.birthday = inputs['birthday'] if inputs.get('email'): user.email = inputs['email'] user.save() return self.success() except Users.DoesNotExist: log.error('execus edit_user_info %s' % traceback.format_exc()) return self.forbidden() except Exception as e: log.error('execus edit_user_info %s' % traceback.format_exc()) return self.error()
def update(self): inputParams= self.getInput() group = Groups.get(Groups.id == int(inputParams['id'])) current_user = Users.get(Users.name == self.isLogin()) if current_user.id != group.owner.id and not self.isAdmin() or not current_user.role.type < 100: return self.error(msg = '权限不足!', url=self.makeUrl('/admin/groups/list')) try: group.regions = inputParams['regions'] group.name = inputParams['name'] group.owner = current_user group.phoneno = inputParams['phoneno'] group.cellphone = inputParams['cellphone'] group.faxno = inputParams['faxno'] group.postcode = inputParams['postcode'] group.contact = inputParams['contact'] group.description = self.htmlunquote(inputParams['description']) group.thumbnail = int(inputParams['thumbnail']) group.team_description = self.htmlunquote(inputParams['team_description']) group.regions = inputParams['regions'] group.service_modes = inputParams['service_modes'] group.specials = inputParams['specials'] group.swipeshow_album = int(inputParams['swipeshow_album']) group.groups_album = int(inputParams['groups_album']) group.price1 = float(inputParams['price1']) group.price2 = float(inputParams['price2']) group.address = inputParams['address'] group.longitude = float(inputParams['longitude']) group.latitude = float(inputParams['latitude']) group.category = int(inputParams['category']) group.save() except Exception, e: return self.error(msg = '公司修改失败: %s' % e, url=self.makeUrl('/admin/groups/list'))
def signin(self): try: inputs = self.get_input() log.info('signin:' + str(inputs)) cellphone = inputs['cellphone'] password = md5(inputs['password']).hexdigest() user = Users.get(Users.cellphone == cellphone) if not user or user.password != password: return self.unauthorized() t = int(time.time()) if not user.token or t - time.mktime( user.token_created_time.timetuple()) > 144000: token = gen_token() user.token = token user.token_created_time = datetime.datetime.now() else: token = user.token self.set_login(user.cellphone, token) user.last_login_time = datetime.datetime.now() user.save() return self.success() except Exception as e: log.error('execs signin %s' % traceback.format_exc()) return self.unauthorized()
def save_my_information(self): inputs = web.input() try: try: if len(inputs['imgfile'])>10: htmlimg = httpUploadedFile(inputs['imgfile']) userimg=Images().create( uuid = htmlimg.uuid(), description = self.htmlunquote("上传图片"), thumbnail = self.wap_imgsave(htmlimg) ) except Exception, e: print e userimg=Images().get(Images.id == 1) user = Users.get(Users.id == int(inputs['userid'])) user.name = inputs['name'] user.cellphone = inputs['cellphone'] user.gender = inputs['gender'] user.email = inputs['email'] user.job = inputs['job'] user.avatur=userimg user.address = inputs['address'] user.save() return self.my_information()
def modify(self): inputParams= self.getInput() album_id = int(inputParams['id']) thumbnail_id = int(inputParams['thumbnail']) if inputParams.has_key('thumbnail') else 0 if album_id == 1: return self.error(msg='不能编辑系统专辑', url=self.makeUrl('/admin/albums/list')) album = Albums.get(Albums.id == album_id) current_user = Users.get(Users.name == self.isLogin()) if current_user.id != album.owner.id and not self.isAdmin(): return self.error(msg = '权限不足!', url=self.makeUrl('/admin/albums/list')) if thumbnail_id: thumbnail_data = Images.get(Images.id == thumbnail_id).thumbnail else: import base64 from imaging import imaging thumbnail_data = base64.b64encode(buffer(imaging.default_thumbnail())) try: album.name = inputParams['name'] album.description = inputParams['desc'] album.thumbnail = thumbnail_data album.save() except Exception, e: return self.error(msg = '专辑修改失败: %s' % e, url=self.makeUrl('/admin/albums/list'))
def save(self): inputParams= self.getInput() try: current_user = Users.get(Users.name == self.isLogin()) inputParams['longitude'] = inputParams['longitude'] if inputParams['longitude'] else 116.397428 inputParams['latitude'] = inputParams['latitude'] if inputParams['latitude'] else 39.90923 Groups.create( name = inputParams['name'], owner = current_user, address = inputParams['address'], phoneno = inputParams['phoneno'], cellphone = inputParams['cellphone'], faxno = inputParams['faxno'], postcode = inputParams['postcode'], contact = inputParams['contact'], description = self.htmlunquote(inputParams['description']), thumbnail = int(inputParams['thumbnail']), team_description = self.htmlunquote(inputParams['team_description']), regions = inputParams['regions'], service_modes = inputParams['service_modes'], specials = inputParams['specials'], swipeshow_album = int(inputParams['swipeshow_album']), groups_album = int(inputParams['groups_album']), price1 = float(inputParams['price1']), price2 = float(inputParams['price2']), longitude = float(inputParams['longitude']), latitude = float(inputParams['latitude']), category = int(inputParams['category']), ) except Exception, e: return self.error(msg = '新增公司失败: %s' % e, url=self.makeUrl('/admin/groups/list'))
def confirm_select_order(self): inputs = self.getInput() try: product = Products.get(Products.id == int(inputs['product'])) user =Users.get(Users.name == self.isLogin()) price = inputs['price'] if inputs.has_key('add'): order = Orders.create( owner = user, price = price, description = product.category.name, ) else: if not inputs.has_key('selected'): return self.orders_list() order = Orders.get(Orders.id == int(inputs['selected'])) details = OrderDetails.create( name = product.category.name + " "+product.diameter, product = product, count = user, price = price, ratio = 0.0, order = order, ) return web.seeother(self.makeUrl('/wap/edit_price_sheet', {'id': order.id})) except Exception, e: print 'exc',e return self.error(msg='保存订单失败!')
def edit(self): inputParams = self.getInput() album_id = int(inputParams['id']) album = Albums.get(Albums.id == album_id) current_user = Users.get(Users.name == self.isLogin()) if current_user.id != album.owner.id and not self.isAdmin(): return self.error(msg = '权限不足!', url=self.makeUrl('/admin/albums/list')) self.privData['ALBUM_ID'] = album.id self.privData['ALBUM_NAME'] = album.name self.privData['ALBUM_DESC'] = album.description self.privData['ENABLE_SELECT_THUMBNAIL'] = False imagesList = Images().select() if not self.isAdmin(): imagesList = imagesList.where(Images.owner == current_user) imagesList = imagesList.where(Images.album == album) if imagesList.count(): self.privData['ENABLE_SELECT_THUMBNAIL'] = True self.privData['ALBUMS_LIST'] = [album] self.privData['IMG_ALBUMS_LIST'] = {album.id: imagesList} self.privData['CURRENT_IMG'] = imagesList[0] self.privData['CURRENT_ALBUM'] = album self.privData['SUBMIT_NAME'] = "thumbnail" return self.display('albumEdit')
def save_price_sheet(self): inputs = self.getInput() print inputs try: if inputs.has_key('add'): return web.seeother(self.makeUrl('/wap/categories', {'parent': 1, 'order': int(inputs['id'])})) order = Orders.get(Orders.id == int(inputs['id'])) attrs = {} for k, v in inputs.items(): try: attr, oid = k.split('_') except Exception, e: continue if not attrs.has_key(oid): attrs[oid] = {} attrs[oid][attr] = v if not inputs['customer'] or not inputs['description']: raise Exception("询价方或备注不能为空!") order.customer = inputs['customer'] order.description = inputs['description'] order.owner = Users.get(Users.name == self.isLogin()) order.save() for k, v in attrs.items(): #import pdb;pdb.set_trace() import traceback if not v['count'] or not v['ratio']: raise Exception("数量或利润率不能为空!") nameform = v['name'] diameterform = v['diameter'] oldinput= v['can'] name, diameter = oldinput.split(' ') details = OrderDetails.get(OrderDetails.id == int(k)) details.name = oldinput flag = v['bool'] if flag.find("True")>=0: details.flag=True elif details.name!=(details.product.category.name+' '+details.product.diameter): details.flag=True else: details.flag=False try: product = Products().get(Products.name==name,Products.diameter == diameter) except Exception,e: details.price = float(v['input']) details.count = v['count'] details.ratio = float(v['ratio'])/100.0 details.save() details.price = float(v['input']) details.count = v['count'] details.ratio = float(v['ratio'])/100.0 details.save()
def edit_my_information(self): inputs = self.getInput() try: user = Users.get(Users.id == inputs['id']) self.privData['USER'] = user return self.display('edit-my-information') except Exception,e: return self.error(msg='获取当前用户信息失败!')
def my_information(self): try: user =Users.get(Users.name == self.isLogin()) self.privData['USER'] = user return self.display('my-information') except Exception, e: print e return self.error(msg='获取用户信息失败!')
def comment_article(self): inputs = self.get_input() token = Users.get(Users.cellphone == self.is_login()).token inputs['token'] = token url = API_URL + '/api/comment_article' try: return post(url, inputs) except Exception as e: log.error('execus comment_article %s' % traceback.format_exc())
def put(self, id): args = self.parser.parse_args() u = Users.get(id=id) if u and args: u.update(**args) if args.get('password'): u.set_password(args.get('password')) return u.__dict__ return {}, 404
def edit(self): inputParams = self.getInput() userName = self.isLogin() chatroomID = int(inputParams['id']) # 权限检查 chatroom = Chatrooms.get(Chatrooms.id == chatroomID) current_user = Users.get(Users.name == self.isLogin()) if current_user.id != chatroom.owner.id and not self.isAdmin() or not current_user.role.type < 100: return self.error(msg = '权限不足!', url=self.makeUrl('/admin/chatrooms/list')) self.privData['CHATROOM'] = chatroom user = Users.get(Users.name == userName) albumsList = Albums().select().where(Albums.owner == user.id) imagesList = Images().select().where(Images.owner == user.id) # 确认当前用户是否至少有一个包含图片的专辑 if not albumsList.count(): return self.error(msg = '请创建至少一个专辑!', url=self.makeUrl('/admin/albums/list')) if not imagesList.count(): return self.error(msg = '请创建至少一个图片!', url=self.makeUrl('/admin/images/list')) # 构建{album: images}, 同时排除不包括任何图片的专辑 album_images_map = {} excluded_albums = [] for album in albumsList: album_images = imagesList.where(Images.album == album.id) if album_images.count(): album_images_map[album.id] = album_images else: excluded_albums.append(album.id) self.privData['ALBUMS_LIST'] = \ [album for album in albumsList if album.id not in excluded_albums] self.privData['IMG_ALBUMS_LIST'] = album_images_map self.privData['CURRENT_CHATROOM'] = chatroom self.privData['CURRENT_ALBUM'] = chatroom.thumbnail.album self.privData['CURRENT_IMG'] = chatroom.thumbnail self.privData['SUBMIT_NAME'] = "thumbnail" return self.display('chatroomEdit')
def update_user_info(self): inputs = self.get_input() token = Users.get(Users.cellphone == self.is_login()).token inputs['token'] = token log.info('inputs %s ' % inputs) url = API_URL + '/api/update_user_info' try: return post(url, inputs) except Exception as e: log.error('execus update_user_info %s' % traceback.format_exc())
def article_info(self): inputs = self.get_input() url = API_URL + '/api/article_info' try: if self.is_login(): inputs['token'] = Users.get( Users.cellphone == self.is_login()).token return get(url, inputs) except Exception as e: log.error('execus articles %s' % traceback.format_exc())
def savepwd(self): inputData = self.getInput() #password = hashlib.md5(inputData['oldpwd']).hexdigest() userID = inputData['id'] newpwd1 = hashlib.md5(inputData['newpwdone']).hexdigest() newpwd2 = hashlib.md5(inputData['newpwdtwo']).hexdigest() if newpwd1 != newpwd2: return self.error(msg = '两次密码输入不一致', url=self.makeUrl('/admin/users/list')) user = Users.get(Users.id == userID) user.password = newpwd1 try: user = Users.get(Users.id == userID) user.password = newpwd1 except Exception, e: return self.error(msg = '会员密码修改失败: %s' % e, url=self.makeUrl('/admin/users/list'))
def answnerEdit(self): inputParams = self.getInput() answner = Answners.get(Answners.id == inputParams['id']) current_user = Users.get(Users.name == self.isLogin()) if not self.isAdmin() or answner.question.group.owner != current_user: return self.error(msg = '权限不足!', url=self.makeUrl('/admin/questions/list')) self.privData['ANSWNER'] = answner return self.display('answnerEdit')
def orders_list(self): try: #import pdb; pdb.set_trace() user = Users.get(Users.name == self.isLogin()) ordersList = Orders.select().where(Orders.owner == user).order_by(Orders.id.desc()) self.privData['ORDERS_LIST'] = ordersList return self.display('orders-list') except Exception, e: print e return self.error(msg='获取报价单列表失败!')
def edit(self): inputParams = self.getInput() userObj = Users.get(Users.id == int(inputParams['id'])) current_user = Users.get(Users.name == self.isLogin()) if userObj.id != current_user.id and not self.isAdmin(): return self.error(msg = '权限不足!', url=self.makeUrl('/admin/users/list')) # 不允许创建系统管理员 rolesList = Roles().select().where(Roles.id>1) self.privData['ROLES_LIST'] = rolesList self.privData['USER_INFO'] = userObj albumsList = Albums().select() imagesList = Images().select() # 确认当前用户是否至少有一个包含图片的专辑 if not albumsList.count(): return self.error(msg = '请创建至少一个专辑!', url=self.makeUrl('/admin/albums/list')) if not imagesList.count(): return self.error(msg = '请创建至少一个图片!', url=self.makeUrl('/admin/images/list')) # 构建{album: images}, 同时排除不包括任何图片的专辑 album_images_map = {} excluded_albums = [] for album in albumsList: album_images = imagesList.where(Images.album == album.id) if album_images.count(): album_images_map[album.id] = album_images else: excluded_albums.append(album.id) self.privData['ALBUMS_LIST'] = \ [album for album in albumsList if album.id not in excluded_albums] self.privData['IMG_ALBUMS_LIST'] = album_images_map self.privData['CURRENT_ALBUM'] = self.privData['ALBUMS_LIST'][0] self.privData['CURRENT_IMG'] = album_images_map[self.privData['CURRENT_ALBUM'].id][0] self.privData['SUBMIT_NAME'] = "thumbnail" return self.display('userEdit')
def delete(self): inputParams = self.getInput() try: current_user = Users.get(Users.name == self.isLogin()) if not self.isAdmin(): return self.error(msg = '权限不足!', url=self.makeUrl('/admin/agents/list')) question = Questionss.get(Questions.id == int(inputParams['id'])) question.delete_instance() except Exception, e: return self.error(msg = '删除问题失败: %s' % e, url=self.makeUrl('/admin/questions/list'))
def delete(self): inputParams = self.getInput() try: current_user = Users.get(Users.name == self.isLogin()) if not self.isAdmin(): return self.error(msg="权限不足!", url=self.makeUrl("/admin/articles/list")) article = Articles.get(Articles.id == int(inputParams["id"])) article.delete_instance() except Exception, e: return self.error(msg="删除文章失败: %s" % e, url=self.makeUrl("/admin/articles/list"))
def answnerAdd(self): inputParams = self.getInput() qID = inputParams['question'] question = Questions.get(Questions.id == qID) current_user = Users.get(Users.name == self.isLogin()) if not self.isAdmin() or question.group.owner != current_user: return self.error(msg = '权限不足!', url=self.makeUrl('/admin/questions/list')) self.privData['QUESTION'] = question return self.display('answnerAdd')
def add_price_sheet(self): try: user =Users.get(Users.name == self.isLogin()) order = Orders.create( owner = user, price = 0.0, description = '新报价单', ) return web.seeother(self.makeUrl('/wap/edit_price_sheet', {'id': order.id})) #return self.orders_list() except Exception, e: return self.error(msg='保存订单失败!')
def answnerDelete(self): userInput = self.getInput() try: answner = Answners.get(Answners.id == int(userInput['id'])) current_user = Users.get(Users.name == self.isLogin()) if not self.isAdmin() or answner.question.group.owner != current_user: return self.error(msg = '权限不足!', url=self.makeUrl('/admin/questions/list')) answner.delete_instance() except Exception, e: return self.error(msg = '删除回复失败: %s' % e, url=self.makeUrl('/admin/questions/list'))
def put(self, id): args = self.parser.parse_args() q = Questions.get(id=id) if q and args: if args.get('teacher'): t = Users.get(email=args.get('teacher', {}).get('email')) args['teacher'] = t.id if not t: args['teacher'] = None q.update(**args) return q.__dict__ return {}, 404
def favdelete(self): inputParams = self.getInput() articlefav = ArticleFavorites.get(ArticleFavorites.id == int(inputParams["id"])) current_user = Users.get(Users.name == self.isLogin()) if current_user.id != articlefav.owner.id and not self.isAdmin() or not current_user.role.type < 100: return self.error(msg="权限不足!", url=self.makeUrl("/admin/articles/favorites")) try: articlefav.delete_instance() except Exception, e: return self.success(msg="文章收藏删除失败: %s" % e, url=self.makeUrl("/admin/articles/favorites"))
def favdelete(self): inputParams = self.getInput() groupfav = GroupFavorites.get(GroupFavorites.id == int(inputParams['id'])) current_user = Users.get(Users.name == self.isLogin()) if current_user.id != groupfav.owner.id and not self.isAdmin() or not current_user.role.type < 100: return self.error(msg = '权限不足!', url=self.makeUrl('/admin/groups/favorites')) try: groupfav.delete_instance() except Exception, e: return self.success(msg='公司收藏删除失败: %s' % e, url=self.makeUrl('/admin/groups/favorites'))
def answnerModify(self): userInput = self.getInput() try: answner = Answners.get(Answners.id == int(userInput['id'])) current_user = Users.get(Users.name == self.isLogin()) if not self.isAdmin() or answner.question.group.owner != current_user: return self.error(msg = '权限不足!', url=self.makeUrl('/admin/questions/list')) answner.content = userInput['content'] answner.save() except Exception, e: return self.error(msg = '修改回复失败: %s' % e, url=self.makeUrl('/admin/questions/list'))
def post(self): args = self.parser.parse_args() if args: if args.get('teacher'): t = Users.get(email=args.get('teacher', {}).get('email')) args['teacher'] = t if not t: args['teacher'] = None q = Questions.create(**args) if q.teacher: q.teacher = q.teacher.__dict__ return q.__dict__ return {}, 404
def edit(self): inputParams = self.getInput() userObj = Users.get(Users.id == int(inputParams['id'])) current_user = Users.get(Users.name == self.isLogin()) if userObj.id != current_user.id and not self.isAdmin(): return self.error(msg = '权限不足!', url=self.makeUrl('/admin/users/list')) # 不允许创建系统管理员 self.privData['USER_INFO'] = userObj imagesList = Images().select() # 确认当前用户是否至少有一个包含图片的专辑 if not imagesList.count(): return self.error(msg = '请创建至少一个图片!', url=self.makeUrl('/admin/images/list')) self.privData['IMAGES_LIST'] = imagesList self.privData['CURRENT_IMG'] = userObj.avatur self.privData['SUBMIT_NAME'] = "thumbnail" return self.display('userEdit')
def login(): """ Login user view. User token saved into sessions. :return: HTTP Response """ email = request.form.get('email', '-') password = request.form.get('password', '-') user = Users.get(email=email)[0] if user is not None and user.check_password(password): login_user(user) return redirect(request.referrer)
def add(self): current_user = Users.get(Users.name == self.isLogin()) albumsList = Albums().select() if not self.isAdmin(): albumsList = albumsList.where(Albums.owner == current_user) if not albumsList.count(): return self.error(msg = '请创建至少一个专辑!', url=self.makeUrl('/admin/albums/list')) self.privData['CURRENT_USER'] = current_user self.privData['ALBUMS_LIST'] = albumsList return self.display('imageAdd')
def post(self): args = self.parser.parse_args() token = args.get('token') if token: try: data = token_serializer.loads(token) except: return {}, 404 if 'email' in data: u = Users.get(email=data['email']) if u: return [u.__dict__], 200 return {}, 404
def favorite(self): inputParams = self.getInput() page = int(inputParams['page']) if inputParams.has_key('page') else 1 count = config.COUNT_PER_PAGE ###favotar只有admin能看到全部的,否则只能看到本人的 current_user = Users.get(Users.name == self.isLogin()) groupFavList = GroupFavorites.select() if not self.isAdmin(): groupFavList = groupFavList.where(GroupFavorites.owner == current_user.id) pageString = self.getPageStr('/admin/groups/favorite', page, count, groupFavList.count()) self.privData['GROUPFAV_LIST'] = groupFavList.order_by(GroupFavorites.id.desc()).paginate(page, count) self.privData['PAGE_STRING'] = pageString return self.display('groupfavViewList')
def delete(self): inputParams = self.getInput() try: chatroom = Chatrooms.get(Chatrooms.id == int(inputParams['id'])) current_user = Users.get(Users.name == self.isLogin()) if current_user.id != chatroom.owner.id and not self.isAdmin() or not current_user.role.type < 100: return self.error(msg = '权限不足!', url=self.makeUrl('/admin/chatrooms/list')) import leancloud leancloud.Apis().remove_conversation(chatroom.uuid) chatroom.delete_instance() except Exception, e: return self.error(msg = '删除聊天室失败: %s' % e, url=self.makeUrl('/admin/chatrooms/list'))
def modify(self): userInput= self.getInput() userObj = Users.get(Users.id == int(userInput['id'])) current_user = Users.get(Users.name == self.isLogin()) if userObj.id != current_user.id and not self.isAdmin(): return self.error(msg = '权限不足!', url=self.makeUrl('/admin/users/list')) thumbnail_id = int(userInput['thumbnail']) if userInput.has_key('thumbnail') else 0 try: userObj = Users.get(Users.id == int(userInput['id'])) userObj.email = userInput['email'] userObj.name = userInput['name'] userObj.cellphone = userInput['cellphone'] userObj.address = userInput['address'] userObj.job = userInput['job'] userObj.gender = int(userInput['gender']) userObj.avatur = thumbnail_id userObj.save() except Exception, e: return self.error(msg = '会员修改失败: %s' % e, url=self.makeUrl('/admin/users/list'))
def commupdate(self): inputParams= self.getInput() groupcomm = GroupComments.get(GroupComments.id == int(inputParams['id'])) current_user = Users.get(Users.name == self.isLogin()) if current_user.id != groupcomm.owner.id and not self.isAdmin() or not current_user.role.type < 100: return self.error(msg = '权限不足!', url=self.makeUrl('/admin/groups/list')) try: groupcomm.content = inputParams['content'] ##现在时间没有更新,需要更新时间为当前时间 groupcomm.save() except Exception, e: return self.error(msg = '公司评论修改失败: %s' % e, url=self.makeUrl('/admin/groups/comments'))
def post(self): args = self.parser.parse_args() email = args.get('username') password = args.get('password') if email and password: u = Users.get(email=email) if u and u.check_password(password): return { 'token': token_serializer.dumps({ 'email': email, 'role': u.role }).decode('utf-8'), 'role': u.role }, 201
def load_user(user_id): """ User loader for flask_login :param user_id: int :return: Users object """ user = None try: user = Users.get(user_id=user_id)[0] user.msg_list = Message.get_messages_for_user(user) user.other_users = [(ouser.user_id, ouser.username) for ouser in Users.get_all() if user.user_id != ouser.user_id] user.notifications = Notification.get(user_id=user.user_id) user.clarifications = Clarification.get_clarifications_for_user(user) finally: return user
def signup(self): inputs = self.get_input() try: log.info('signup:' + str(inputs)) cellphone = inputs.get('cellphone') smscode = inputs.get('smscode') tuser = Users.get(Users.cellphone == cellphone) if tuser: return self.error() except Exception as e: log.error('execus signup %s' % traceback.format_exc()) return self.error() try: pwd = md5(inputs['password']).hexdigest() if not leancloud.Apis().verify_sms_code(cellphone, smscode): return self.error() signup_token = gen_token() created_time = datetime.datetime.now() Users.create( cellphone=cellphone, name=cellphone, password=pwd, gender=0, role=2, description=self.htmlunquote(''), address="住址", token=signup_token, token_created_time=created_time, birthday="1970-5-12", avatur=Images.get(Images.id == 1).thumbnail, ) return self.success() except Exception as e: log.error('execus signup%s' % traceback.format_exc()) return self.error()
def update_avatar(self): log.info('into update_avatar') _inputs = web.input() inputs = {} url = API_URL + '/api/update_user_image' try: token = Users.get(Users.cellphone == self.is_login()).token inputs['token'] = token log.info('into update_avatar _inputs== %s' % _inputs['pic']) log.info('into update_avatar _inputs dir == %s' % dir(_inputs)) log.info('into update_avatar len ==%s' % len(_inputs)) import StringIO imgstream = StringIO.StringIO(_inputs['pic']) im = Imaging(imgstream) thumbnail_blob = im.resize(int(im.size()[0] / THUMBNAIL_XRES), \ int(im.size()[1] // THUMBNAIL_YRES)) thumbnail_data = base64.b64encode(buffer(thumbnail_blob)) inputs['base64image'] = thumbnail_data return post(url, inputs) except Exception as e: log.info("update_avatar: %s" % traceback.format_exc()) return self.error()
import dbsetup from models.users import Users from models.applications import Applications from models.subscriptions import Subscriptions db = dbsetup.get_db() users = Users(db) apps = Applications(db) subs = Subscriptions(db) try: boss_id = users.add("*****@*****.**", "bosspass", name="Pointy Haired Boss") except KeyError: boss = users.get("*****@*****.**", "bosspass") boss_id = boss.id try: user_id = users.add("*****@*****.**", "secretpass", name="Bob the Customer") except KeyError: user = users.get('*****@*****.**', 'secretpass') user_id = user.id app_id = apps.add( name="WidgetBuilder", owner_id=boss_id, scopes=["basic", "admin"], redirect_uris=["https://app.local:8080/public", "https://app.local:8080/private", "https://app.local:8080/login"]) subs.add(app_id=app_id, user_id=user_id,
def init_db(): """ Initializing database and creating necessary files for user profile images view. :return: HTTP Response """ if not os.path.exists(os.path.join(os.getcwd(), 'static', 'media')): os.makedirs(os.path.join(os.getcwd(), 'static', 'media')) os.mkdir( os.path.join(os.getcwd(), 'static', 'media', 'profile_pictures')) Team.create() Users.create() if len(Users.get(is_admin=True)) == 0: tables = [ Team, Contest, Users, Problems, Tag, ProblemTag, Message, Clarification, Notification, Discussion, Submissions, Input, ContestUser, UsersUpvote, UsersDownvote ] for table in tables[::-1]: table.drop() for table in tables: table.create() # Teams and Users bumbles = Team(team_name='HumbleBumbles') bumbles.save() burakbugrul = Users(username='******', email='*****@*****.**', password='******', is_admin=True, team_id=bumbles.team_id) burakbugrul.save() packers = Team(team_name='HackerPackers') packers.save() hackergirl = Users(username='******', email='*****@*****.**', password='******', is_admin=True, team_id=packers.team_id) hackergirl.save() pax = Users(username='******', email='*****@*****.**', password='******', is_admin=True, team_id=packers.team_id) pax.save() # Contests online = Contest(contest_name='online', start_time=datetime.now(), end_time=datetime.now() + timedelta(days=1000)) online.save() past = Contest(contest_name='past', start_time=datetime.now() - timedelta(days=1000), end_time=datetime.now() - timedelta(days=1)) past.save() future = Contest(contest_name='future', start_time=datetime.now() + timedelta(days=500), end_time=datetime.now() + timedelta(days=1000)) future.save() # Problems easy = Problems(problem_name='Easy', statement='This problem is easy', contest_id=online.contest_id, max_score=100) easy.save() moderate = Problems(problem_name='Moderate', statement='This problem is moderate', contest_id=online.contest_id, max_score=100) moderate.save() hard = Problems(problem_name='Hard', statement='This problem is hard', contest_id=online.contest_id, max_score=100) hard.save() past_prob = Problems(problem_name='Old', statement='This problem is old', contest_id=past.contest_id, max_score=100) past_prob.save() new_prob = Problems(problem_name='New', statement='This problem is new', contest_id=future.contest_id, max_score=100) new_prob.save() # Tags dynamic = Tag(tag_name='Dynamic') dynamic.save() graph = Tag(tag_name='Graph') graph.save() greedy = Tag(tag_name='Greedy') greedy.save() games = Tag(tag_name='Game-Theory') games.save() ProblemTag.save_tags_to_problem(easy, [greedy]) ProblemTag.save_tags_to_problem(moderate, [dynamic, games]) ProblemTag.save_tags_to_problem(hard, [dynamic, graph, greedy]) # Inputs inp = Input(problem_id=easy.problem_id, testcase='input', expected_output='output') inp.save() inp = Input(problem_id=easy.problem_id, testcase='input2', expected_output='output2') inp.save() inp = Input(problem_id=moderate.problem_id, testcase='input moderate', expected_output='output moderate') inp.save() inp = Input(problem_id=hard.problem_id, testcase='input hard', expected_output='output hard') inp.save() return redirect(url_for('core.home'))
def load_user(user_id): reg_user = Users.get(username=user_id) if reg_user: if user_id == reg_user.get_id(): return reg_user return None
def load_user(user): return Users.get(user)
def get_user(user_id): u = Users.get(username=user_id) if u: return u return None
def get(self, id): u = Users.get(id=id) if u: return u.__dict__ return {}, 404
def delete(self, id): u = Users.get(id=id) if u: r = u.__dict__ u.delete() return r, 200