def password_form(): return btforms.Form(btforms.Password('opassword', rules.not_null, iwidth=3, description=u'旧密码', required='required', **input_style), btforms.Password('npassword', rules.not_null, iwidth=3, description=u'新密码', required='required', **input_style), btforms.Password('cpassword', rules.not_null, iwidth=3, description=u'确认新密码', required='required', **input_style), btforms.Button('submit', type='submit', html=u'<b>修改密码</b>', **button_style), title=u'修改密码', action='/ssportal/password/update')
def mps_form(): return btforms.Form(btforms.Textbox('mps_apiurl', description=u'微信公众号接口地址', **input_style), btforms.Password('mps_token', description=u'微信公众号令牌(Token)', **input_style), btforms.Textbox('mps_appid', description=u'微信公众号应用ID', **input_style), btforms.Password('mps_apisecret', description=u'微信公众号应用密钥', **input_style), btforms.Password('mps_encoding_aes_key', description=u'微信公众号消息加解密密钥', **input_style), btforms.Dropdown('mps_encrypt_mode', args=en_modes.items(), description=u'微信公众号消息加解密模式', **input_style), btforms.Textbox('mps_dnsv_upload', description=u'域名验证文件', type='button', **input_style), btforms.Textarea('mps_welcome_text', description=u'公众号欢迎信息', rows=5, hr=True, **input_style), btforms.Dropdown('mps_wxpay_enable', args=booleans.items(), description=u'启用微信支付', **input_style), btforms.Textbox('mps_wxpay_mch_id', description=u'微信支付商户号', **input_style), btforms.Password('mps_wxpay_key', description=u'微信支付Key', **input_style), btforms.Textbox('mps_wxpay_ip', description=u'微信支付商户网站IP', **input_style), btforms.Textbox('mps_wxpay_notify_url', description=u'微信支付结果通知URL', **input_style), btforms.Button('submit', type='submit', html=u'<b>更新</b>', **button_style), title=u'微信公众号配置管理', action='/admin/param/update?active=mpscfg')
def vcard_charge_form(): form = btforms.Form(title=u'充值卡充值', action='/ssportal/product/vcardcharge') items = form.inputs = [] items.append( btforms.Textbox('account_number', description=u'用户账号', readonly='readonly', **input_style)) items.append( btforms.Textbox('product_name', readonly='readonly', description=u'资费', **input_style)) items.append( btforms.Hidden('product_id', description=u'资费', required='required', **input_style)) items.append( btforms.Textbox('vcard_code', rules.not_null, description=u'充值卡', required='required', **input_style)) items.append( btforms.Password('vcard_pwd', rules.not_null, description=u'充值卡密码', required='required', **input_style)) return form
def login_form(): form = btforms.Form(title=u'用户登录', id="login", action='/usrportal/login', glyphicon='1') items = form.inputs = [] items.append(btforms.Textbox('account_number', glyphicon='glyphicon-user', description=u'用户账号', required='required', **lg_input_style)) items.append(btforms.Password('password', glyphicon='glyphicon-lock', description=u'登录密码', required='required', **lg_input_style)) items.append(btforms.Button('submit', type='submit', html=u'立即登录', **login_button_style)) return form
def renew_form(policy): if not policy is not None: raise AssertionError form = btforms.Form(title=u'套餐续费', action='/ssportal/product/renew') items = form.inputs = [] items.append( btforms.Textbox('account_number', description=u'用户账号', readonly='readonly', **input_style)) items.append( btforms.Textbox('product_name', readonly='readonly', description=u'资费', **input_style)) items.append( btforms.Hidden('product_id', description=u'资费', required='required', **input_style)) if int(policy) == PPMonth: items.append( btforms.Textbox('months', rules.is_number, description=u'续费月数', required='required', **input_style)) elif int(policy) == BOMonth: items.append( btforms.Textbox('months', rules.is_number, description=u'续费月数(不填写表示续费整个套餐)', required='required', **input_style)) else: items.append( btforms.Hidden('months', description=u'订购月数(预付费包月)', **input_style)) if int(policy) == PPDay: items.append( btforms.Textbox('days', rules.is_number, description=u'续费天数', required='required', **input_style)) elif int(policy) == BODay: items.append( btforms.Textbox('days', description=u'续费天数(不填写表示续费整个套餐)', **input_style)) else: items.append( btforms.Hidden('days', description=u'订购天数(预付费包天)', **input_style)) os.environ.get('LICENSE_TYPE') != 'community' and items.append( btforms.Textbox('vcard_code', description=u'充值卡', **input_style)) items.append( btforms.Password('vcard_pwd', description=u'充值卡密码', **input_style)) return form
def profile_order_form(policy, get_product_attr_val): form = btforms.Form(title=u'套餐订购', action='/usrportal/product/reneworder') items = form.inputs = [] items.append( btforms.Textbox('account_number', description=u'用户账号', readonly='readonly', **input_style)) items.append( btforms.Textbox('product_name', readonly='readonly', description=u'资费', **input_style)) items.append( btforms.Hidden('product_id', description=u'资费', required='required', **input_style)) if int(policy) == PPMonth: items.append( btforms.Textbox('months', rules.is_number, description=u'订购月数(预付费包月)', required='required', **input_style)) else: items.append( btforms.Hidden('months', description=u'订购月数(预付费包月)', **input_style)) if int(policy) == PPDay: items.append( btforms.Textbox('days', rules.is_number, description=u'订购天数(预付费包天)', required='required', **input_style)) else: items.append( btforms.Hidden('days', description=u'订购天数(预付费包天)', **input_style)) if os.environ.get('LICENSE_TYPE') != 'community' and get_product_attr_val( 'product_tag'): items.append( btforms.Textbox('vcard_code', description=u'充值卡', **input_style)) items.append( btforms.Password('vcard_pwd', description=u'充值卡密码', **input_style)) items.append( btforms.Button('submit', type='submit', html=u'<b>提交订单</b>', **button_style)) return form
def resetpassword_form(uuid='', token=''): form = btforms.Form(title=u'重置密码', id="resetpassword", action='/usrportal/resetpassword', glyphicon='1') items = form.inputs = [] items.append( btforms.Hidden('uuid', value=str(uuid), description=u'uuid', required='required', **lg_input_style)) items.append( btforms.Hidden('token', value=str(token), description=u'token', required='required', **lg_input_style)) items.append( btforms.Password('password', glyphicon='glyphicon-lock', description=u'登录密码', required='required', **lg_input_style)) items.append( btforms.Password('confirmpassword', glyphicon='glyphicon-lock', description=u'确认密码', required='required', **lg_input_style)) items.append( btforms.Button('submit', type='submit', html=u'重置密码', **forgot_button_style)) return form
def bind_form(): return btforms.Form(btforms.Hidden('openid', description=u'openid'), btforms.Textbox('username', rules.len_of(1, 32), description=u'账号名称', required='required', **input_style), btforms.Password('password', rules.len_of(1, 32), description=u'账号密码', required='required', **input_style), btforms.Button('submit', type='submit', html=u'<b>绑定</b>', **button_style), title=u'用户微信绑定', action='')
def login_form(): return btforms.Form(btforms.Textbox('username', rules.not_null, iwidth=3, description=u'认证账号', required='required', **input_style), btforms.Password('password', rules.not_null, iwidth=3, description=u'账号密码', required='required', **input_style), btforms.Hidden('next', description=u'next url'), btforms.Button('submit', type='submit', html=u'<b>登 陆</b>', **button_style), title=u'用户登陆', action='/ssportal/login')
def operator_add_form(nodes=[], products=[]): return btforms.Form(btforms.Textbox('operator_name', rules.len_of(2, 32), description=u'操作员名称', required='required', **input_style), btforms.Textbox('operator_desc', rules.len_of(0, 255), description=u'操作员姓名', **input_style), btforms.Password('operator_pass', rules.len_of(6, 128), description=u'操作员密码', required='required', **input_style), btforms.Dropdown('operator_status', description=u'操作员状态', args=opr_status_dict.items(), required='required', **input_style), btforms.Dropdown('operator_nodes', description=u'关联区域(多选)', args=nodes, required='required', multiple='multiple', size=4, **input_style), btforms.Dropdown('operator_products', description=u'关联资费(多选)', args=products, required='required', multiple='multiple', size=6, **input_style), btforms.Button('submit', type='submit', html=u'<b>提交</b>', **button_style), title=u'创建操作员', action='/admin/operator/add')
def operator_update_form(nodes=[], products=[]): return btforms.Form(btforms.Hidden('id', description=u'编号'), btforms.Textbox('operator_name', description=u'操作员名称', readonly='readonly', **input_style), btforms.Textbox('operator_desc', rules.len_of(0, 255), description=u'操作员姓名', **input_style), btforms.Password('operator_pass', rules.len_of(0, 128), description=u'操作员密码(留空不修改)', autocomplete='off', **input_style), btforms.Dropdown('operator_status', description=u'操作员状态', args=opr_status_dict.items(), required='required', **input_style), btforms.Dropdown('operator_nodes', description=u'关联区域(多选)', args=nodes, required='required', multiple='multiple', size=4, **input_style), btforms.Dropdown('operator_products', description=u'关联资费(多选)', args=products, required='required', multiple='multiple', size=6, **input_style), btforms.Button('submit', type='submit', html=u'<b>提交</b>', **button_style), title=u'修改操作员', action='/admin/operator/update')
def register_form(is_smsvcode=0, is_email=0): form = btforms.Form(title=u'用户注册', id="register", action='/usrportal/register', glyphicon='1') items = form.inputs = [] if is_smsvcode: #开启短信验证,使用手机号作为ID items.append( btforms.Textbox('mobile', rules.is_telephone, glyphicon='glyphicon-phone', description=u'用户手机号', required='required', **lg_input_style)) items.append( btforms.Textbox('vcode', glyphicon='glyphicon-pushpin', description=u'验证码', required='required', **lg_input_style)) items.append( btforms.Button('smsvcode', id='smsvcode', type='button', html=u'<b>发送短信验证码</b>', onclick='send_vcode()', **lbutton_style)) elif is_email: #开启邮件验证,使用邮箱地址作为ID items.append( btforms.Textbox('email', rules.is_email, glyphicon='glyphicon-envelope', description=u'电子邮箱', required='required', **lg_input_style)) else: # 否则用户自定义ID items.append( btforms.Textbox('account_number', glyphicon='glyphicon-user', description=u'用户账号', required='required', **lg_input_style)) items.append( btforms.Password('password', glyphicon='glyphicon-lock', description=u'登录密码', required='required', **lg_input_style)) items.append( btforms.Password('confirmpassword', glyphicon='glyphicon-lock', description=u'确认密码', required='required', qualTo='#password', **lg_input_style)) items.append( btforms.Button('submit', type='submit', html=u'立即注册', **register_button_style)) return form
#!/usr/bin/env python # coding=utf-8 from taurusxradius.taurusxlib import btforms from taurusxradius.taurusxlib.btforms import rules from taurusxradius.taurusxlib.btforms.rules import button_style, input_style button_style = {'class': 'btn btn-sm'} password_update_form = btforms.Form(btforms.Textbox('tr_user', description=u'管理员名', size=32, readonly='readonly', **input_style), btforms.Password('tr_user_pass', rules.len_of(4, 32), description=u'管理员新密码', size=32, value='', required='required', **input_style), btforms.Password('tr_user_pass_chk', rules.len_of(4, 32), description=u'确认管理员新密码', size=32, value='', required='required', **input_style), btforms.Button('submit', type='submit', html=u'<b>更新</b>', **button_style), title=u'管理密码更新', action='/admin/password')
def agency_add_form(nodes = [], products = []): return btforms.Form(btforms.Textbox('agency_name', rules.len_of(1, 255), description=u'代理商名称', **input_style), btforms.Textbox('contact', rules.not_null, description=u'联系人', **input_style), btforms.Textbox('mobile', rules.len_of(1, 255), description=u'手机号码', **input_style), btforms.Textbox('amount', rules.is_rmb, description=u'初始余额', **input_style), btforms.Textbox('share_rate', rules.is_number, description=u'分成比例(0-100)', **input_style), btforms.Textbox('operator_name', rules.len_of(2, 32), description=u'操作员名称', required='required', **input_style), btforms.Password('operator_pass', rules.len_of(6, 128), description=u'操作员密码', required='required', **input_style), btforms.Dropdown('operator_nodes', description=u'关联区域(多选)', args=nodes, required='required', multiple='multiple', size=4, **input_style), btforms.Dropdown('operator_products', description=u'关联资费(多选)', args=products, required='required', multiple='multiple', size=6, **input_style), btforms.Textarea('agency_desc', description=u'代理商描述', rows=2, **input_style), btforms.Button('submit', type='submit', html=u'<b>提交</b>', **button_style), title=u'代理商开户', action='/admin/agency/add')
def order_form(policy): form = btforms.Form(title=u'套餐订购', action='/ssportal/product/order') items = form.inputs = [] items.append( btforms.Textbox('realname', rules.not_null, size=64, description=u'用户姓名', required='required', **input_style)) items.append( btforms.Textbox('account_number', description=u'用户账号', readonly='readonly', **input_style)) items.append( btforms.Textbox('email', description=u'电子邮箱', required='required', **input_style)) items.append( btforms.Textbox('password', rules.is_alphanum2(6, 9), description=u'认证密码', required='required', **input_style)) items.append( btforms.Textbox('product_name', readonly='readonly', description=u'资费', **input_style)) items.append( btforms.Hidden('product_id', description=u'资费', required='required', **input_style)) if int(policy) == PPMonth: items.append( btforms.Textbox('months', rules.is_number, description=u'订购月数(预付费包月)', required='required', **input_style)) else: items.append( btforms.Hidden('months', description=u'订购月数(预付费包月)', **input_style)) if int(policy) == PPDay: items.append( btforms.Textbox('days', rules.is_number, description=u'订购天数(预付费包天)', required='required', **input_style)) else: items.append( btforms.Hidden('days', description=u'订购天数(预付费包天)', **input_style)) if os.environ.get('LICENSE_TYPE') != 'community': items.append( btforms.Textbox('vcard_code', description=u'充值卡', **input_style)) items.append( btforms.Password('vcard_pwd', description=u'充值卡密码', **input_style)) items.append( btforms.Button('submit', type='submit', html=u'<b>提交订单</b>', **button_style)) return form
**input_style), btforms.Textbox('smtp_port', description=u'SMTP服务器端口', **input_style), btforms.Dropdown('smtp_tls', args=booleans.items(), description=u'SMTP启用TLS/SSL', **input_style), btforms.Textbox('smtp_from', description=u'SMTP邮件发送地址', **input_style), btforms.Textbox('smtp_user', description=u'SMTP用户名', **input_style), btforms.Password('smtp_pwd', description=u'SMTP密码', help=u'如果密码不是必须的,请填写none', **input_style), btforms.Textbox('mail_to', description=u'测试邮件接收地址', help=u'', **input_style), btforms.Dropdown('mail_notify_enable', args=booleans.items(), description=u'启动到期提醒', **input_style), btforms.Textbox('mail_notify_interval', rules.is_number, description=u'到期提醒间隔(分钟)', **input_style), btforms.Textbox('mail_notify_time', rules.is_time_hm,
btforms.Textarea('operate_desc', rules.len_of(0, 512), description=u'操作描述', rows=4, **input_style), btforms.Button('submit', type='submit', html=u'<b>提交</b>', **button_style), title=u'用户资费变更', action='/admin/account/change') password_update_form = btforms.Form(btforms.Textbox('account_number', description=u'用户账号', size=32, readonly='readonly', **input_style), btforms.Password('password', rules.len_of(4, 32), description=u'用户新密码', size=32, value='', required='required', **input_style), btforms.Button('submit', type='submit', html=u'<b>更新</b>', **button_style), title=u'用户账号密码修改', action='/admin/account/password')
def renew_form(policy, get_product_attr_val): if not policy is not None: raise AssertionError form = btforms.Form(title=u'套餐续费', action='/usrportal/product/renew') items = form.inputs = [] items.append( btforms.Textbox('account_number', description=u'用户账号', readonly='readonly', **input_style)) items.append( btforms.Textbox('product_name', readonly='readonly', description=u'资费', **input_style)) items.append( btforms.Hidden('product_id', description=u'资费', required='required', **input_style)) if int(policy) == PPMonth: items.append( btforms.Textbox('months', rules.is_number, description=u'续费月数', required='required', **input_style)) elif int(policy) == BOMonth: items.append( btforms.Textbox('months', rules.is_number, description=u'续费月数(填0表示续费整个套餐)', value='0', required='required', **input_style)) else: items.append( btforms.Hidden('months', description=u'订购月数(预付费包月)', **input_style)) if int(policy) == PPDay: items.append( btforms.Textbox('days', rules.is_number, description=u'续费天数', required='required', **input_style)) elif int(policy) == BODay: items.append( btforms.Textbox('days', rules.is_number, description=u'续费天数(填0表示续费整个套餐)', value='0', required='required', **input_style)) else: items.append( btforms.Hidden('days', description=u'订购天数(预付费包天)', **input_style)) """ 如果套餐未设置product_tag标签扩展属性则,不支持充值卡充值 发行充值卡时,设置资费标签,以便与套餐进行绑定 为套餐设置的充值卡,选择“资费卡”类型,并设置零售价格即可 """ if os.environ.get('LICENSE_TYPE') != 'community' and get_product_attr_val( 'product_tag'): items.append( btforms.Textbox('vcard_code', description=u'充值卡', **input_style)) items.append( btforms.Password('vcard_pwd', description=u'充值卡密码', **input_style)) return form
def agency_update_form(nodes = [], products = []): return btforms.Form(btforms.Hidden('agency_id', description=u'编号'), btforms.Textbox('agency_name', rules.len_of(1, 255), description=u'代理商名称', **input_style), btforms.Textbox('contact', rules.not_null, description=u'联系人', **input_style), btforms.Textbox('mobile', rules.len_of(1, 255), description=u'手机号码', **input_style), btforms.Textbox('share_rate', rules.is_number, description=u'分成比例(0-100)', **input_style), btforms.Textbox('operator_name', description=u'操作员名称', readonly='readonly', **input_style), btforms.Textbox('operator_desc', rules.len_of(0, 255), description=u'操作员姓名', **input_style), btforms.Password('operator_pass', rules.len_of(0, 128), description=u'操作员密码(留空不修改)', autocomplete='off', **input_style), btforms.Dropdown('operator_status', description=u'操作员状态', args=opr_status_dict.items(), required='required', **input_style), btforms.Dropdown('operator_nodes', description=u'关联区域(多选)', args=nodes, required='required', multiple='multiple', size=4, **input_style), btforms.Dropdown('operator_products', description=u'关联资费(多选)', args=products, required='required', multiple='multiple', size=6, **input_style), btforms.Textarea('agency_desc', description=u'代理商描述', rows=2, **input_style), btforms.Button('submit', type='submit', html=u'<b>提交</b>', **button_style), title=u'代理商修改', action='/admin/agency/update')