Files
order/web/controllers/member/Member.py
2019-08-01 11:03:41 +08:00

66 lines
2.0 KiB
Python

# -*- coding: utf-8 -*-
from flask import Blueprint,redirect,request
from common.libs.Helper import ops_render,iPagination
from common.libs.UrlManager import UrlManager
from common.models.member.Member import Member
from application import app,db
route_member = Blueprint( 'member_page',__name__ )
@route_member.route( "/index" )
def index():
resp_data = {}
req = request.values
page = int( req['p'] ) if ( 'p' in req and req['p'] ) else 1
query = Member.query
if 'mix_kw' in req:
query = query.filter(Member.nickname.ilike("%{0}%".format(req['mix_kw'])))
if 'status' in req and int(req['status']) > -1:
query = query.filter(Member.status == int(req['status']))
page_params = {
'total': query.count(),
'page_size': app.config['PAGE_SIZE'],
'page': page,
'display': app.config['PAGE_DISPLAY'],
'url': request.full_path.replace("&p={}".format(page), "")
}
pages = iPagination(page_params)
offset = (page - 1) * app.config['PAGE_SIZE']
list = query.order_by(Member.id.desc()).offset(offset).limit(app.config['PAGE_SIZE']).all()
resp_data['list'] = list
resp_data['pages'] = pages
resp_data['search_con'] = req
resp_data['status_mapping'] = app.config['STATUS_MAPPING']
resp_data['current'] = 'index'
return ops_render("member/index.html", resp_data)
@route_member.route( "/info" )
def info():
resp_data = {}
req = request.args
id = int(req.get("id", 0))
reback_url = UrlManager.buildUrl("/member/index")
if id < 1:
return redirect(reback_url)
info = Member.query.filter_by(id=id).first()
if not info:
return redirect(reback_url)
resp_data['info'] = info
resp_data['current'] = 'index'
return ops_render("member/info.html", resp_data)
@route_member.route( "/set" )
def set():
return ops_render( "member/set.html" )
@route_member.route( "/comment" )
def comment():
return ops_render( "member/comment.html" )