def edit_view(self): if request.method == "GET": _id = request.args.get("id", "") return_url = request.args.get("return_url", "") result = suppliers.get_detail(_id=_id) return self.render( template="supplier/edit.html", data=result, return_url=return_url ) else: req_data = self.gen_arguments return_url = req_data.get("return_url", "") _id = req_data.get("id") new_password = req_data.get("new_password") fullname = req_data.get("fullname", "") contact_name = req_data.get("contact_name", "") contact_phone = req_data.get("contact_phone", "") short_name = req_data.get("short_name", "") encrypt_pwd = hashlib.sha1(new_password).hexdigest() if new_password else None result = suppliers.update( _id=_id, password=encrypt_pwd, fullname=fullname, contact_name=contact_name, contact_phone=contact_phone, short_name=short_name, operator=self.current_operator ) return self.make_write(result_code=0, result_data=self.decode_return_url(return_url))
def detail_view(self): _id = request.args.get("id", "") return_url = request.args.get("return_url", "") result = suppliers.get_detail(_id=_id) return self.render( template="supplier/detail.html", data=result, return_url=self.decode_return_url(return_url) )
def edit_view(self): if request.method == "GET": p_id = request.args.get("id", 0, type=int) query_kwargs = { "id": p_id, "is_edit": 1, "brands": flow_tools.gen_brands(), "suppliers": flow_tools.gen_suppliers(query_type=-1) } result = products.get_detail(_id=p_id) category_list = category.gen_full_category(result.third_category) result["category_list"] = category_list supplier_detail = suppliers.get_detail(whats="fullname", _id=result.supplier_id) result["supplier_name"] = supplier_detail.fullname return self.render( template=u"product/edit_basic.html", data=result, query_kwargs=query_kwargs ) else: req_data = self.gen_arguments _id = int(req_data.get("id")) full_name = req_data.get("full_name") title = req_data.get("title") short_name = req_data.get("short_name") sales_volume = int(req_data.get("sales_volume", 0)) limits = int(req_data.get("limits", 0)) market_text = req_data.get("market_text") about_text = req_data.get("about_text") out_way = int(req_data.get("out_way")) update_values = dict( full_name=full_name, title=title, short_name=short_name, sales_volume=sales_volume, limits=limits, market_text=market_text, about_text=about_text, out_way=out_way ) result = products.update(_id=_id, **update_values) redirect_url = u"{url}?id={id}&ed={is_edit}&category_id={category_id}".format( url=self.reverse_url(".product_attributes_view"), id=_id, is_edit=1, category_id=req_data("category_id", 0) ) return self.make_write(result_code=0, result_data=redirect_url)
def detail_view(self): _id = request.args.get("id", 0, type=int) version = int(request.args.get("v", 1)) return_url_str = request.args.get("return_url", "") if version == 1: result = products.get_detail(_id=_id) first_category_id = result.first_category second_category_id = result.second_category third_category_id = result.third_category category_ids = (first_category_id, second_category_id, third_category_id) category_result = category.get_category_by_id(*category_ids) category_name = u"{} / {} / {}".format( category_result.get(first_category_id, ""), category_result.get(second_category_id, ""), category_result.get(third_category_id, "") ) result["category_name"] = category_name supplier_detail = suppliers.get_detail(whats="fullname", _id=result.supplier_id) result["supplier_name"] = supplier_detail.fullname template_name = u"product/detail_basic.html" elif version == 2: result = list(products.query_goods_list( whats=u"sku, price, created_time, updated_time, stock, is_default, property_names", product_id=_id, filter_del=0 )) for g in result: property_name_list = g.property_names.split("^") property_name = " ".join(property_name_list) g["property_name"] = property_name g["price"] = float(g.price) / 100.0 template_name = u"product/detail_goods.html" elif version == 3: result = products.query_pictures_list(whats=u"id, label, image", product_id=_id) template_name = u"product/detail_pictures.html" elif version == 4: result = products.get_detail(whats="image_text, image_text_pad", _id=_id) template_name = u"product/detail_about.html" return self.render( template=template_name, return_url_str=return_url_str, data=result, product_id=_id, return_url=self.decode_return_url(return_url_str) )
def login(self): if request.method == "GET": return self.render("login.html") else: req_data = self.gen_arguments login_name = req_data.get("login_name", "") password = req_data.get("password", "") user_model = req_data.get("user_model") remote_ip = request.access_route[0] if not login_name or not password: return self.make_write(result_code=1002) if user_model == "admin": user_info = admin.get_detail( whats="id, password, fullname, administer, validity", login_name=login_name, confirmed=1) update_model = admin elif user_model == "supplier": user_info = suppliers.get_detail( whats="id, password, fullname, validity", login_name=login_name) update_model = suppliers else: return self.make_write(result_code=100) if not user_info: return self.make_write(result_code=1003) if user_info.validity == 0: return self.make_write(result_code=1004) encrypt_pwd = hashlib.sha1(password).hexdigest() if encrypt_pwd != user_info.password: return self.make_write(result_code=1003) user = storage(name=user_info.fullname, operator=login_name, user_id=user_info.id, user_model=user_model, is_active=user_info.validity) login_user(user) if update_model is not None: result = update_model.update(_id=user_info.id, remote_ip=remote_ip) return self.make_write(result_code=0, result_data=self.reverse_url("home.home"))
def edit_pwd(self): """ 登录密码服务 :return: """ if request.method == "GET": return self.render("pwd.html") else: req_data = self.gen_arguments old_password = req_data.get("old_password") new_password = req_data.get("new_password") user_model = req_data.get("user_model") user_id = req_data.get("user_id") if not old_password or not new_password: return self.make_write(result_code=1005) if user_model == "admin": user_info = admin.get_detail(whats="id, password", _id=user_id) update_model = admin elif user_model == "supplier": user_info = suppliers.get_detail(whats="id, password", _id=user_id) update_model = suppliers else: return self.make_write(result_code=100) if not user_info: return self.make_write(result_code=1006) encrypt_old_pwd = hashlib.sha1(old_password).hexdigest() if encrypt_old_pwd != user_info.password: return self.make_write(result_code=1006) encrypt_pwd = hashlib.sha1(new_password).hexdigest() result = update_model.update(_id=user_id, password=encrypt_pwd) return self.make_write(result_code=0, result_data="")
def check_view(self): login_name = request.data.get("login_name") supplier_info = suppliers.get_detail(whats="id", login_name=login_name) result_code = 102 if supplier_info else 0 return self.make_write(result_code=result_code)