Beispiel #1
0
 def POST(self):
     user = nothing.get_current_user()
     if user:
         username = user.username
         user_data = web.input()
         name = user_data.name
         gender = int(user_data.gender)
         mark = user_data.mark
         mobile = user_data.mobile
         telephone = user_data.telephone
         adress1 = user_data.adress1
         adress2 = user_data.adress2
         model.db.update(
             "user",
             where="username=$username",
             vars=locals(),
             name=name,
             gender=gender,
             mark=mark,
             mobile=mobile,
             telephone=telephone,
             adress1=adress1.encode(),
             adress2=adress2.encode(),
         )
         user.name = name
         user.gender = gender
         user.mark = mark
         user.mobile = mobile
         user.telephone = telephone
         user.adress1 = adress1
         user.adress2 = adress2
         raise web.seeother("/user/view/" + user.username)
     raise web.seeother("/signin")
Beispiel #2
0
 def GET(self):
     user = nothing.get_current_user()
     if user:
         data = web.input()
         page = 1
         item_num = config.item_num
         if "page" in data:
             page = int(data.page)
         fav_sql = "select * from favorite where username = '******' LIMIT %d,%d" % (
             user.username,
             (page - 1) * item_num,
             (page - 1) * item_num + item_num + 1,
         )
         favorites = [fav.item_id for fav in model.db.query(fav_sql)]
         hasnext = len(favorites) > item_num
         if hasnext:
             favorites.pop()
         items = []
         if len(favorites) > 0:
             sql = "select * from item where"
             for index, i in enumerate(favorites):
                 if index == len(favorites) - 1:
                     sql += " id=%d" % i
                 else:
                     sql += " id=%d" % i + " or"
             items = [item for item in model.db.query(sql)]
         for item in items:
             item["favorited"] = True
         return nothing.render("edituser.html", {"items": items, "hasnext": hasnext, "haspre": page > 1})
     raise web.seeother("/signin")
Beispiel #3
0
 def GET(self):
     user = nothing.get_current_user()
     if user:
         data = web.input()
         item_num = config.item_num
         page = 1
         if "page" in data:
             page = int(data.page)
         fav_sql = "select * from favorite where username = '******' LIMIT %d,%d" % (
             user.username,
             (page - 1) * item_num,
             (page - 1) * item_num + item_num + 1,
         )
         favorites = [fav.item_id for fav in model.db.query(fav_sql)]
         hasnext = len(favorites) > item_num
         if hasnext:
             favorites.pop()
         items = []
         if len(favorites) > 0:
             sql = "select * from item where"
             for index, i in enumerate(favorites):
                 if index == len(favorites) - 1:
                     sql += " id=%d" % i
                 else:
                     sql += " id=%d" % i + " or"
             items = [item for item in model.db.query(sql)]
             for item in items:
                 item["favorited"] = True
                 item.creattime = str(item.creattime).split(".")[0]
         web.header("Content-Type", "application/json")
         dic = {"result": True, "items": items, "hasnext": hasnext, "haspre": page > 1}
         return json.dumps(dic)
Beispiel #4
0
 def POST(self):
     user = nothing.get_current_user()
     if user:
         post_data = web.input(img={})
         filedir = "/static/upload/avatar"
         if not os.path.isdir("." + filedir):
             os.mkdir("." + filedir)
         if "img" in post_data:  # to check if the file-object is created
             filepath = post_data.img.filename.replace(
                 "\\", "/"
             )  # replaces the windows-style slashes with linux ones.
             filename = (
                 str(user.id) + "." + filepath.split("/")[-1].split(".")[1]
             )  # splits the and chooses the last part (the filename with extension)
             fout = open(
                 "." + filedir + "/" + filename, "wb"
             )  # creates the file where the uploaded file should be stored
             fout.write(post_data.img.file.read())  # writes the uploaded file to the newly created file.
             fout.close()  # closes the file, upload complete.
             pydic = {"imgurl": filedir + "/" + filename}
             id = user.id
             model.db.update("user", avatar_url=pydic["imgurl"], where="id=$id", vars=locals())
             user.avatar_url = pydic["imgurl"]
             web.header("Content-Type", "application/json")
             return json.dumps(pydic)
     raise web.seeother("/signin")
Beispiel #5
0
 def GET(self):
     user = nothing.get_current_user()
     if user and user.isAdmin:
         data = web.input()
         page = 1
         if 'page' in data:
             page = int(data.page)
         items,hasnext = nothing.get_items_by_page(page)
         return nothing.render('edititems.html',{'items':items,'page':page,'hasnext':hasnext,'haspre':page>1})
     else:
         return "you has not login or you are not admin"
Beispiel #6
0
 def GET(self,item_id):
     items = model.db.select('item',where='id=$item_id',vars=locals())
     if len(items)>0:
         item = items[0]
         item['favorited'] = False
         user = nothing.get_current_user()
         if user:
             fs = model.db.query("select * from favorite where item_id=%d and username='******'" % (int(item_id),user.username))
             item['favorited'] = len(fs)>0
         return nothing.render('item.html', {'item':item})
     return 'sorry,item not found'
Beispiel #7
0
 def GET(self):
     user = nothing.get_current_user()
     if user and user.isAdmin:
         item_id = web.input().item_id
         items = model.db.select('item',where='id=$item_id',vars=locals())
         if len(items)>0:
             item = items[0]
             return nothing.render('edititem.html',{'item':item})
         else:
             return 'item not found'
     else:
         return "you has not login or you are not admin"
Beispiel #8
0
 def POST(self):
     user = nothing.get_current_user()
     if user and user.isAdmin:
         post_data = web.input()
         title = post_data.title
         price = float(post_data.price)
         link = post_data.link
         description = post_data.description
         img = post_data.img
         tag = post_data.tag
         model.db.insert('item',title=title,price=price,link=link,description=description,img=img,tag=tag,author=user.username)
         web.seeother('/admin')
     else:
         return "you has not login or you are not admin"
Beispiel #9
0
 def POST(self):
     user = nothing.get_current_user()
     pyDict = {'result':'fail'}
     if user:
         data_input = web.input()
         item_id = data_input.item_id
         model.db.delete('favorite', where="item_id=$item_id", vars=locals())
         sql = "update item set favorite=favorite-1 where id = %s" % item_id
         model.db.query(sql)
         pyDict = {'result':False,'item_id':item_id}
         web.header('Content-Type', 'application/json')
         return json.dumps(pyDict)
     web.header('Content-Type', 'application/json')
     return json.dumps(pyDict)
Beispiel #10
0
 def POST(self):
     user = nothing.get_current_user()
     data_input = web.input()
     item_id = data_input.item_id
     pyDict = {'result':'fail'}
     if user:
         data_input = web.input()
         item_id = data_input.item_id
         model.db.insert('favorite',item_id=item_id,username=user.username)
         sql = "update item set favorite=favorite+1 where id = %s" % item_id
         model.db.query(sql)
         pyDict = {'result':True,'item_id':item_id}
     web.header('Content-Type', 'application/json')
     return json.dumps(pyDict)
Beispiel #11
0
 def POST(self):
     user = nothing.get_current_user()
     if user and user.isAdmin:
         post_data = web.input()
         item_id = post_data.item_id
         title = post_data.title
         price = float(post_data.price)
         link = post_data.link
         description = post_data.description
         img = post_data.img
         tag = post_data.tag
         model.db.update('item',where='id=$item_id',title=title,price=price,link=link,description=description,img=img,tag=tag,author=user.username,vars=locals())
         web.seeother('/item/view/'+item_id)
     else:
         return "you has not login or you are not admin"
Beispiel #12
0
 def POST(self):
     user = nothing.get_current_user()
     if user:
         username = user.username
         user_data = web.input()
         email = user_data.email
         pwd = user_data.email_pwd
         p_sha1 = hashlib.sha1(pwd).hexdigest()
         result = {"result": False, "message": "密码错误"}
         if user.password == p_sha1:
             model.db.update("user", where="username=$username", vars=locals(), email=email)
             web.config._session.user.email = email
             web.header("Content-Type", "application/json")
             result = {"result": True, "message": "修改成功"}
         return json.dumps(result)
     raise web.seeother("/signin")
Beispiel #13
0
 def POST(self):
     user = nothing.get_current_user()
     if user:
         data = web.input()
         item_id = data.item_id
         content = data.content
         model.db.insert("comment", item_id=item_id, content=content, username=user.username)
         sql = "update item set comments=comments+1 where id = %s" % item_id
         model.db.query(sql)
         dic = {
             "result": True,
             "username": user.username,
             "content": content,
             "create_time": str(datetime.datetime.now()),
             "avatar_url": user.avatar_url,
         }
         web.header("Content-Type", "application/json")
         return json.dumps(dic)
     raise web.seeother("/signin")
Beispiel #14
0
 def GET(self):
     user = nothing.get_current_user()
     if user and user.isAdmin:
         return nothing.render("deleteitem.html")
     else:
         return "you has not login or you are not admin"