def ad_edit_info(): try: id = request.form.get("id") name = request.form.get("name") short_info = request.form.get("short_info") long_info = request.form.get("long_info") info = session.query(models.Info).filter(models.Info.id == int(id)).first() # if user does not select file, browser also # submit an empty part without filename file_name = info.image if 'image' in request.files: image = request.files['image'] if image.filename != '': file_old = info.image file_name = common.upload_file(image, file_old) info.name = name info.image = file_name info.short_info = short_info info.long_info = long_info session.add(info) session.commit() session.close() flash('Chỉnh sửa tin tức thành công!') except Exception as e: flash('Hệ thống lỗi, nhờ báo cáo sự cố với bộ phận kỹ thuật.') return redirect("/list-info")
def request_salary(): try: price = request.form.get('price') description = request.form.get('description') history = models.History() history.create_at = str(datetime.datetime.now()) history.card = False history.buy = False history.user_id = current_user.id history.status = 'Confirm' data = {"price": price, "description": description} history.info = json.dumps(data) user = session.query(models.Users).filter( models.Users.id == int(current_user.id)).first() if int(user.money) < int(price): flash('Số tiền trong tài khoản của bạn không đủ!') else: user.money = int(user.money) - int(price) session.merge(user) session.commit() session.close() session.add(history) session.commit() session.close() flash('Request rút tiền thành công!') except Exception as e: flash('Hệ thống lỗi, nhờ báo cáo sự cố với bộ phận kỹ thuật.') return redirect("/admin-history")
def edit_user(): per = checkPermisson() if per == 'admin': try: id = request.form.get('id') name = request.form.get('name') account_tk = request.form.get('account_tk') password = request.form.get('password') money = request.form.get('money') user = session.query( models.Users).filter(models.Users.id == int(id)).first() user.name = name user.account_tk = account_tk user.password = password user.money = money user.create_at = str(datetime.datetime.now()) session.merge(user) session.commit() session.close() flash('Update user ' + account_tk + ' thành công!') except Exception as e: flash(e) flash('Hệ thống lỗi, nhờ báo cáo sự cố với bộ phận kỹ thuật.') return redirect("/admin-ctv") else: return redirect("/error")
def list_product(typep, origin=None): try: list_origin = common.LIST_ORIGIN page_size = request.args.get("page_size") page_size = int(page_size) if page_size else 12 if origin != 'False': data = session.query(models.Product).filter(models.Product.type == typep, models.Product.origin == origin).order_by(models.Product.id).all() elif typep == 'nep-chantuong': data = session.query(models.Product).filter(or_(models.Product.type == 'nep', models.Product.type == 'chan-tuong')).order_by(models.Product.id).all() else: data = session.query(models.Product).filter(models.Product.type == typep).order_by(models.Product.id).all() count = len(data) page_size = page_size if page_size < len(data) else len(data) check_view = True if page_size < len(data) else False session.close() for d in data: d.price = json.loads(d.price) return render_template('sango/web/list-product.html', data=data, list_origin=list_origin, page_size=page_size, check_view=check_view, typep=typep, origin=origin, location=app.config['LOCATION']) except: session.rollback() raise finally: session.close()
def admin_add_info(): try: name = request.form.get("name") short_info = request.form.get("short_info") long_info = request.form.get("long_info") if 'image' not in request.files: flash('No file part') return redirect("/admin-add-info") image = request.files['image'] # if user does not select file, browser also # submit an empty part without filename if image.filename == '': flash('No selected file') return redirect("/admin-add-info") file_name = common.upload_file(image) info = models.Info() info.name = name info.image = file_name info.short_info = short_info info.long_info = long_info session.add(info) session.commit() session.close() flash('Tạo tin tức thành công!') except Exception as e: flash('Hệ thống lỗi, nhờ báo cáo sự cố với bộ phận kỹ thuật.') return redirect("/list-info")
def sign_up_process(): try: name = request.form.get("name") account = request.form.get("account") password = request.form.get("password") confirm_password = request.form.get("confirm_password") user = session.query( models.Users).filter(models.Users.account_tk == account).first() if user: flash('Tên tài khoản đã tồn tại') return redirect("/sign_up") user = models.Users() user.name = name user.account_tk = account user.super = False user.ctv = False user.enduser = True user.create_at = str(datetime.datetime.now()) user.password = password user.money = 0 session.add(user) session.commit() session.close() flash('Tạo tài khoản "' + name + '" thành công!') except Exception as e: flash('Hệ thống lỗi, nhờ báo cáo sự cố với bộ phận kỹ thuật.') return redirect("/sign_up") return redirect("/login")
def detail_product(id): try: list_origin = common.LIST_ORIGIN data = session.query(models.Product).filter(models.Product.id == id).first() data.price = json.loads(data.price) session.close() return render_template('sango/web/detail-product.html', data=data, list_origin=list_origin, location=app.config['LOCATION']) except: session.rollback() raise finally: session.close()
def index(): page_size = request.args.get("page_size") list_origin = common.LIST_ORIGIN page_size = int(page_size) if page_size else 10 data = session.query(models.Info).order_by(models.Info.id.desc()).all() count = len(data) page_size = page_size if page_size < len(data) else len(data) check_view = True if page_size < len(data) else False session.close() return render_template('sango/web/index.html', data=data, list_origin=list_origin, page_size=page_size, check_view=check_view, location=app.config['LOCATION'], loca=app.config['LOCA'])
def confirm_request(): try: id = request.form.get("id") history = session.query( models.History).filter(models.History.id == id).first() history.status = "Processed" session.merge(history) session.commit() session.close() flash("Xử lý request thành công!") except Exception as e: flash('Hệ thống lỗi, nhờ báo cáo sự cố với bộ phận kỹ thuật.') return redirect("/admin-ctv")
def add_product(): try: type = request.form.get("type") name = request.form.get("name") price_all = request.form.get("price_all") price_dn = request.form.get("price_dn") price_qn = request.form.get("price_qn") price_qng = request.form.get("price_qng") color = request.form.get("color") origin = request.form.get("origin") mainten = request.form.get("mainten") wood_type = request.form.get("wood_type") short_info = request.form.get("short_info") long_info = request.form.get("long_info") if 'image' not in request.files: flash('No file part') return redirect("/admin") image = request.files['image'] # if user does not select file, browser also # submit an empty part without filename if image.filename == '': flash('No selected file') return redirect("/admin-add-info") file_name = common.upload_file(image) price = json.dumps({ "all": price_all, "danang": price_dn, "quangnam": price_qn, "quangngai": price_qng }) product = models.Product() product.type = type product.name = name product.price = price product.color = int(color) if color else None product.origin = origin product.mainten = int(mainten) if color else None product.image = file_name product.wood_type = wood_type product.short_info = short_info product.long_info = long_info session.add(product) session.commit() session.close() flash('Tạo sản phẩm thành công!') return redirect("/admin") except Exception as e: flash('Hệ thống lỗi, nhờ báo cáo sự cố với bộ phận kỹ thuật.') session.rollback() finally: session.close() return redirect("/admin")
def login_process(): try: username = request.form.get("user_name") password = request.form.get("password") user = session.query(models.User).filter( models.User.username == username, models.User.password == password).first() session.close() if user: login_user(user) else: flash('Mật khẩu không chính xác') return redirect("/login") except Exception as e: flash('Hệ thống lỗi, nhờ báo cáo sự cố với bộ phận kỹ thuật.') return redirect("/login") return redirect("/admin")
def edit_product(): try: id = request.form.get("id") typep = request.form.get("type") name = request.form.get("name") price = request.form.get("price") color = request.form.get("color") origin = request.form.get("origin") mainten = request.form.get("mainten") wood_type = request.form.get("wood_type") short_info = request.form.get("short_info") long_info = request.form.get("long_info") product = session.query(models.Product).filter(models.Product.id == int(id)).first() file_name = product.image if 'image' in request.files: image = request.files['image'] if image.filename != '': file_old = product.image file_name = common.upload_file(image, file_old) product.type = typep product.name = name product.price = price product.color = int(color) if color else None product.origin = origin product.mainten = int(mainten) if color else None product.image = file_name product.wood_type = wood_type product.short_info = short_info product.long_info = long_info session.merge(product) session.commit() session.close() flash('Chỉnh sửa sản phẩm thành công!') except Exception as e: flash('Hệ thống lỗi, nhờ báo cáo sự cố với bộ phận kỹ thuật.') return redirect("/admin")
def add_ctv(): try: name = request.form.get('name') account_tk = request.form.get('account_tk') password = request.form.get('password') user = models.Users() user.name = name user.account_tk = account_tk user.ctv = True user.super = False user.enduser = False user.password = password user.create_at = str(datetime.datetime.now()) session.add(user) session.commit() session.close() flash('Tạo ctv ' + account_tk + ' thành công!') except Exception as e: flash(e) flash('Hệ thống lỗi, nhờ báo cáo sự cố với bộ phận kỹ thuật.') return redirect("/admin-ctv")
def admin_add_product(): list_origin = common.LIST_ORIGIN data = session.query(models.Product).all() session.close() return render_template('sango/admin/add-product.html', data=data, list_origin=list_origin)
def detail_info(id): list_origin = common.LIST_ORIGIN data = session.query(models.Info).filter(models.Info.id == id).first() session.close() return render_template('sango/web/detail-info.html', data=data, list_origin=list_origin, location=app.config['LOCATION'])
def edit_nick(): try: id = request.form.get('id') nick = session.query( models.Nicks).filter(models.Nicks.id == id).first() name = request.form.get('name') nick.name = name price = request.form.get('price') nick.price = price game_type = request.form.get('gameType') code = '' # Game Info if game_type == 'LQ': code = 'LQ-' + str(int(datetime.datetime.utcnow().timestamp())) game_name = 'Liên Quân' data = { "account": request.form.get('account'), "password": request.form.get('password'), "rank": request.form.get('rank'), "tuong": request.form.get('slTuong'), "skin": request.form.get('Skin'), "ngoc": request.form.get('ngoc'), "da_quy": request.form.get('daQuy') } else: code = 'NR-' + str(int(datetime.datetime.utcnow().timestamp())) game_name = 'Ngọc Rồng' data = { "nickType": request.form.get('nickType'), "server": request.form.get('server'), "hanhTinh": request.form.get('hanhTinh'), "bongTai": True if request.form.get('bongTai') == 'on' else False, "deTu": True if request.form.get('deTu') == 'on' else False } # Image if 'files' not in request.files: nick.images = nick.images else: images = request.files.getlist('files') # if user does not select file, browser also # submit an empty part without filename list_image = [] if images: for image in images: if image.filename == '': nick.images = nick.images else: path = app.config['UPLOAD_FOLDER'] + code os.mkdir(path) file_name = common.upload_file(image, path) list_image.append( os.path.join(UPLOAD_FOLDER + code, image.filename)) nick.images = ','.join(list_image) nick.status = request.form.get('status') nick.game_name = game_name nick.game_info = json.dumps(data) nick.code = code nick.create_at = str(datetime.datetime.now()) nick.user_id = current_user.id session.merge(nick) session.commit() session.close() flash('Update thông tin nick thành công!') except Exception as e: flash(e) flash('Hệ thống lỗi, nhờ báo cáo sự cố với bộ phận kỹ thuật.') redirect("/admin") return redirect("/admin")
def admin(): data = session.query(models.Product).order_by(models.Product.id.desc()).all() session.close() return render_template('sango/admin/managerment.html', data=data)