def good_product_ok(vid): from models import Product if not g.admin_user: return redirect('/admin/login') admin_user = g.admin_user product = g.db.query(Product).filter(Product.id == vid).first() mc = product.merchant if request.method == 'POST': start_time = request.form.get("start_time", "") end_time = request.form.get("end_time", "") sort_num = request.form.get("sort_num", "0") vtype = int(request.form.get("type", "1")) icon_smaill = request.files.get("img", "") if vtype == 0: icon_smaill = update_img_by(icon_smaill, 230, 115) elif vtype == 1: icon_smaill = update_img_by(icon_smaill, 290, 100) else: icon_smaill = update_img_by(icon_smaill, 135, 100) if not start_time or not end_time: add_error(u'开始或者结束时间不能为空') elif not icon_smaill: add_error(u'图片不能为空') else: c = ProductAds(start_time=start_time, end_time=end_time, img=icon_smaill, type=vtype, sort_num=sort_num, product_id=vid) g.db.add(c) g.db.commit() add_success(u'添加成功') return redirect('/admin/good_product/add?mc_id=%s' % mc.id) return render_template("admin/good_product_add_ok.html", **locals())
def add_catalog(): if not g.mc_user: return redirect('/mc/login') mc_user = g.mc_user catalog_type = request.args.get("type", "").strip() if catalog_type: catalog = g.db.query(Catalog).filter(Catalog.id == catalog_type, Catalog.status == True).first() if catalog: subcatalogs = g.db.query(SubCatlog).filter(SubCatlog.catalog_id == catalog.id, SubCatlog.status == True) else: catalogs = g.db.query(Catalog).filter(Catalog.status == True) my_subcatalogs = g.db.query(CustomerCataog).filter(CustomerCataog.merchant_id == mc_user.id) my_subcatalogs = [rec.catalog for rec in my_subcatalogs] if request.method == 'POST': subcatalogs = request.form.getlist('subcatalog') for i, catalog_id in enumerate(subcatalogs): if not g.db.query(CustomerCataog).filter(CustomerCataog.catalog_id == catalog_id, CustomerCataog.merchant_id == mc_user.id).first(): add_sub = CustomerCataog(catalog_id=catalog_id, merchant_id=mc_user.id) g.db.add(add_sub) g.db.commit() add_success(u'添加服务成功') return redirect('/mc/product/catalog') return render_template("mc/add_catalog.html", **locals())
def sub_catalog(cu_catalog): if not g.admin_user: return redirect('/admin/login') admin_user = g.admin_user cu_catalog = int(cu_catalog) if request.method == 'POST': name = request.form.get("name", "") descp = request.form.get("descp", "") # icon_smaill = request.form.get("icon_smaill", "") # icon_large = request.form.get("icon_large", "") idx = request.form.get("idx", "0") pingying = request.form.get("pingying", "") icon_smaill = request.files.get("icon_smaill", "") icon_smaill = update_img_by(icon_smaill) icon_large = request.files.get("icon_large", "") icon_large = update_img_by(icon_large) if not name or not icon_smaill: add_error(u'名字或者图片不能为空') else: if g.db.query(SubCatlog).filter(SubCatlog.name == name).first(): add_error(u'频道名字已存在') else: c = SubCatlog(catalog_id=cu_catalog, name=name, pingying=pingying, descp=descp, icon_smaill=icon_smaill, icon_large=icon_large, idx=idx) g.db.add(c) g.db.commit() add_success(u'子频道添加成功') return redirect('/admin/catalog?catalog=%s' % cu_catalog) catalogs = g.db.query(Catalog).all() if not cu_catalog == 0: subcatlogs = g.db.query(SubCatlog).filter(SubCatlog.catalog_id == cu_catalog) return render_template("admin/sub_catalog.html", **locals())
def catalog_del(catalog_id): if not g.admin_user: return redirect('/admin/login') data = g.db.query(Catalog).filter(Catalog.id == catalog_id).first() g.db.delete(data) g.db.commit() add_success(u'成功删除频道') return redirect('/admin/catalog')
def mc_user_able(vid): if not g.admin_user: return redirect('/admin/login') data = g.db.query(Merchant).filter(Merchant.id == vid).first() data.status = True g.db.add(data) g.db.commit() add_success(u'成功开启') return redirect('/admin/mc_user')
def subcatlog_del(subcatlog_id): if not g.admin_user: return redirect('/admin/login') data = g.db.query(SubCatlog).filter(SubCatlog.id == subcatlog_id).first() catalog_id = data.catalog_id g.db.delete(data) g.db.commit() add_success(u'成功删除频道') return redirect('/admin/catalog?catalog=%s' % catalog_id)
def good_product_del(vid): if not g.admin_user: return redirect('/admin/login') from models import Notice rec = g.db.query(ProductAds).filter(ProductAds.id == vid).first() g.db.delete(rec) g.db.commit() add_success(u'删除成功') return redirect('/admin/good_product/list')
def notice_del(vid): if not g.admin_user: return redirect('/admin/login') from models import Notice rec = g.db.query(Notice).filter(Notice.id == vid).first() vtype = rec.vtype g.db.delete(rec) g.db.commit() add_success(u'删除成功') return redirect('/admin/notice/%s' % vtype)
def lackcatalog_del(vid): if not g.admin_user: return redirect('/admin/login') from models import LackCatalog rec = g.db.query(LackCatalog).filter(LackCatalog.id == vid).first() vtype = rec.vtype g.db.delete(rec) g.db.commit() add_success(u'删除成功') return redirect('/admin/lackcatalog/%s' % vtype)
def admin_user_able(vid): from models import Customer if not g.admin_user: return redirect('/admin/login') data = g.db.query(AdminUser).filter(AdminUser.id == vid).first() data.status = True g.db.add(data) g.db.commit() add_success(u'成功开启') return redirect('/admin/admin_user')
def admin_user_disable(vid): if not g.admin_user: return redirect('/admin/login') admin_user = g.admin_user data = g.db.query(AdminUser).filter(AdminUser.id == vid).first() data.status = False g.db.add(data) g.db.commit() add_success(u'成功禁止') return redirect('/admin/admin_user')
def mc_product_cancel(catalog_id): if not g.mc_user: return redirect('/mc/login') mc_user = g.mc_user data = g.db.query(CustomerCataog).filter(CustomerCataog.catalog_id == catalog_id, CustomerCataog.merchant_id == mc_user.id).first() if data: g.db.delete(data) g.db.commit() add_success(u'成功删除服务') return redirect('/mc/product/catalog')
def cu_user_disable(vid): from models import Customer if not g.admin_user: return redirect('/admin/login') admin_user = g.admin_user data = g.db.query(Customer).filter(Customer.id == vid).first() data.status = False g.db.add(data) g.db.commit() add_success(u'成功禁止') return redirect('/admin/cu_user')
def mc_product_del(product_id): if not g.mc_user: return redirect('/mc/login') mc_user = g.mc_user data = g.db.query(Product).filter(Product.merchant_id == mc_user.id, Product.id == product_id).first() if data: data.status = False g.db.add(data) g.db.commit() add_success(u'删除商品成功') return redirect('/mc/product/product') return redirect('/mc/product/product')
def mc_edit_product(vid): from admin.views import update_img_by from settings import UPLOAD_FOLDER, SITE_ROOT import os if not g.mc_user: return redirect('/mc/login') catalogs = g.db.query(Catalog).filter(Catalog.status == True) mc_user = g.mc_user my_subcatalogs = g.db.query(CustomerCataog).filter(CustomerCataog.merchant_id == mc_user.id) rec = g.db.query(Product).filter(Product.merchant_id == mc_user.id,Product.id == vid).first() if not rec: return Response('0') if request.method == 'POST': catalog_id = request.form.get("catalog_id", "0") title = request.form.get("title", "") descrip = request.form.get("descrip", "") show_fee = request.form.get("show_fee", "") acept_fee = request.form.get("acept_fee", "") try: show_fee_init = float(show_fee) * 100 acept_fee_init = float(acept_fee) * 100 except: add_error(u'显示价格或者最低卖价只能输入数字') else: if not title or not descrip: add_error(u'标题或者介绍不能为空') else: icon_smaill = request.files.get("icon_large", "") icon_smaill = update_img_by(icon_smaill,200,120) icon_large = request.files.get("icon_large", "") icon_large = update_img_by(icon_large,640,400) rec.catalog_id = catalog_id rec.title = title rec.descrip = descrip rec.show_fee_init = show_fee_init rec.acept_fee_init = acept_fee_init if icon_smaill: rec.icon_smaill = icon_smaill if icon_large: rec.icon_large = icon_large g.db.add(rec) g.db.commit() add_success(u'修改成功') return redirect('/mc/product/product') return render_template("mc/edit_product.html", **locals())
def admin_user_up_password(vid): if not g.admin_user: return redirect('/admin/login') password = request.form.get("password", "") if len(password) < 6: add_error(u'密码不能少于6位') return redirect('/admin/admin_user') data = g.db.query(AdminUser).filter(AdminUser.id == vid).first() data.password = password g.db.add(data) g.db.commit() add_success(u'密码修改成功') return redirect('/admin/admin_user')
def requirment_cancel(requirment_id): import random if not g.mc_user: return redirect('/mc/login') mc_user = g.mc_user requirment_id = int(requirment_id) rec = g.db.query(Requirment).filter(Requirment.id == requirment_id, Requirment.merchant_id == mc_user.id).first() if rec and rec.state == 2: rec.state = 4 g.db.add(rec) g.db.commit() add_success(u'取消交易成功') return redirect('/mc/requirment/2')
def catalog(vid=0): if not g.admin_user: return redirect('/admin/login') cu_catalog = int(request.args.get("catalog", "0")) admin_user = g.admin_user if vid != 0: catalog = g.db.query(Catalog).filter(Catalog.id == vid).first() else: catalog = None if request.method == 'POST': name = request.form.get("name", "") descp = request.form.get("descp", "") # icon_smaill = request.form.get("icon_smaill", "") # icon_large = request.form.get("icon_large", "") idx = request.form.get("idx", "0") icon_smaill = request.files.get("icon_smaill", "") icon_smaill = update_img_by(icon_smaill) icon_large = request.files.get("icon_large", "") icon_large = update_img_by(icon_large) if vid == 0: if g.db.query(Catalog).filter(Catalog.name == name).first(): add_error(u'频道名字已存在') else: c = Catalog(name=name, descp=descp, icon_smaill=icon_smaill, icon_large=icon_large, idx=idx) g.db.add(c) g.db.commit() add_success(u'频道添加成功') return redirect('/admin/catalog?catalog=%s' % c.id) else: if g.db.query(Catalog).filter(Catalog.name == name, Catalog.id != vid).first(): add_error(u'频道名字已存在') else: catalog.name = name catalog.descp = descp if icon_smaill: catalog.icon_smaill = icon_smaill if icon_large: catalog.icon_large = icon_large catalog.idx = idx g.db.add(catalog) g.db.commit() add_success(u'频道修改成功') return redirect('/admin/catalog') catalogs = g.db.query(Catalog).all() if not cu_catalog == 0: subcatlogs = g.db.query(SubCatlog).filter(SubCatlog.catalog_id == cu_catalog) return render_template("admin/catalog.html", **locals())
def mc_logo(): from admin.views import update_img_by if not g.mc_user: return redirect('/mc/login') mc_user = g.mc_user if request.method == 'POST': icon_smaill = request.files.get("logo", "") icon_smaill = update_img_by(icon_smaill,116,116) if icon_smaill: mc_user.logo = icon_smaill g.db.add(mc_user) g.db.commit() add_success(u'上传图片成功') else: add_error(u'没找到logo') return render_template("mc/logo.html", **locals())
def up_password(): if not g.mc_user: return redirect('/mc/login') mc_user = g.mc_user if request.method == 'POST': new_password = request.form.get("new_password", "") password = request.form.get("password", "") if len(new_password) < 6: add_error(u'新密码不能少于6位') elif mc_user.password == password: mc_user.password = new_password g.db.add(mc_user) g.db.commit() add_success(u'密码修改成功') else: add_error(u'旧密码输入错误') return render_template("mc/password.html", **locals())
def mc_add_product(): from admin.views import update_img_by from settings import UPLOAD_FOLDER, SITE_ROOT import os if not g.mc_user: return redirect('/mc/login') catalogs = g.db.query(Catalog).filter(Catalog.status == True) mc_user = g.mc_user my_subcatalogs = g.db.query(CustomerCataog).filter(CustomerCataog.merchant_id == mc_user.id) if request.method == 'POST': catalog_id = request.form.get("catalog_id", "0") title = request.form.get("title", "") descrip = request.form.get("descrip", "") show_fee = request.form.get("show_fee", "") acept_fee = request.form.get("acept_fee", "") try: show_fee_init = float(show_fee) * 100 acept_fee_init = float(acept_fee) * 100 except: add_error(u'显示价格或者最低卖价只能输入数字') else: if not title or not descrip: add_error(u'标题或者介绍不能为空') else: icon_smaill = request.files.get("icon_large", "") icon_smaill = update_img_by(icon_smaill,200,120) icon_large = request.files.get("icon_large", "") icon_large = update_img_by(icon_large,640,400) if not icon_smaill or not icon_large: add_error(u'介绍图 或者列表图 不能为空') else: pr = Product(catalog_id=catalog_id, merchant_id=mc_user.id, title=title, descrip=descrip, acept_fee=acept_fee_init, show_fee=show_fee_init, icon_smaill=icon_smaill, icon_large=icon_large, view_count=0, success_count=0 ) g.db.add(pr) g.db.commit() add_success(u'添加商品成功') return redirect('/mc/product/add') return render_template("mc/add.html", **locals())
def sub_catalog_edit(vid): if not g.admin_user: return redirect('/admin/login') admin_user = g.admin_user catalogs = g.db.query(Catalog).all() sub_catalog = g.db.query(SubCatlog).filter(SubCatlog.id == vid).first() cu_catalog = sub_catalog.catalog_id if request.method == 'POST': name = request.form.get("name", "") descp = request.form.get("descp", "") # icon_smaill = request.form.get("icon_smaill", "") # icon_large = request.form.get("icon_large", "") idx = request.form.get("idx", "0") pingying = request.form.get("pingying", "") icon_smaill = request.files.get("icon_smaill", "") icon_smaill = update_img_by(icon_smaill) icon_large = request.files.get("icon_large", "") icon_large = update_img_by(icon_large) if not name: add_error(u'名字不能为空') else: if g.db.query(SubCatlog).filter(SubCatlog.name == name, SubCatlog.id != sub_catalog.id).first(): add_error(u'频道名字已存在') else: sub_catalog.name = name sub_catalog.descp = descp sub_catalog.pingying = pingying if icon_smaill: sub_catalog.icon_smaill = icon_smaill if icon_large: sub_catalog.icon_large = icon_large g.db.add(sub_catalog) g.db.commit() add_success(u'修改成功') return redirect('/admin/catalog?catalog=%s' % sub_catalog.catalog_id) return render_template("admin/sub_catalog_edit.html", **locals())
def mc_user_del(vid): from models import CustomerCataog, Reply from models import MerchantPayed, SuccessRequirment if not g.admin_user or not g.admin_user.is_admin(): return redirect('/admin/login') data = g.db.query(Merchant).filter(Merchant.id == vid).first() for d in g.db.query(CustomerCataog).filter(CustomerCataog.merchant_id == vid): g.db.delete(d) for d in g.db.query(MerchantPayed).filter(MerchantPayed.merchant_id == vid): g.db.delete(d) for d in g.db.query(Product).filter(Product.merchant_id == vid): g.db.delete(d) for d in g.db.query(SuccessRequirment).filter(SuccessRequirment.merchant_id == vid): g.db.delete(d) for d in g.db.query(Reply).filter(Reply.merchant_id == vid): g.db.delete(d) for d in g.db.query(Requirment).filter(Requirment.merchant_id == vid): g.db.delete(d) g.db.delete(data) g.db.commit() add_success(u'删除成功') return redirect('/admin/mc_user')
def admin_user_add(): if not g.admin_user: return redirect('/admin/login') else: admin_user = g.admin_user if request.method == 'POST': name = request.form.get("name", "") mobile = request.form.get("mobile", "") password = request.form.get("password", "") if not name or not password: add_error(u'帐号或密码不能为空') else: if g.db.query(AdminUser).filter(AdminUser.name == name).first(): add_error(u'帐号已存在') else: c = AdminUser(name=name, mobile=mobile, password=password) g.db.add(c) g.db.commit() add_success(u'成功添加管理员') return redirect('/admin/admin_user') return render_template("admin/admin_add.html", **locals())
def cu_user_del(vid): from models import Customer, Comments, Notification, Requirment from models import SuccessRequirment, ShowCase, ShowCaseReplay if not g.admin_user or not g.admin_user.is_admin(): return redirect('/admin/login') data = g.db.query(Customer).filter(Customer.id == vid).first() for d in g.db.query(Comments).filter(Comments.customer_id == vid): g.db.delete(d) for d in g.db.query(Notification).filter(Notification.customer_id == vid): g.db.delete(d) for d in g.db.query(ShowCase).filter(ShowCase.customer_id == vid): g.db.delete(d) for d in g.db.query(Requirment).filter(Requirment.customer_id == vid): g.db.delete(d) for d in g.db.query(ShowCaseReplay).filter(ShowCaseReplay.customer_id == vid): g.db.delete(d) for d in g.db.query(SuccessRequirment).filter(SuccessRequirment.customer_id == vid): g.db.delete(d) g.db.delete(data) g.db.commit() add_success(u'删除成功') return redirect('/admin/cu_user')