def post(self): form = product_forms.product_add_form() if not form.validates(source=self.get_params()): return self.render("product_form.html", form=form) product = models.TrProduct() product.product_name = form.d.product_name product.product_policy = form.d.product_policy product.product_status = form.d.product_status product.fee_months = int(form.d.get("fee_months", 0)) product.fee_times = utils.hour2sec(form.d.get("fee_times", 0)) product.fee_flows = utils.mb2kb(form.d.get("fee_flows", 0)) product.bind_mac = form.d.bind_mac product.bind_vlan = form.d.bind_vlan product.concur_number = form.d.concur_number product.fee_price = utils.yuan2fen(form.d.fee_price) product.fee_period = '' #form.d.fee_period or '' product.input_max_limit = utils.mbps2bps(form.d.input_max_limit) product.output_max_limit = utils.mbps2bps(form.d.output_max_limit) _datetime = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") product.create_time = _datetime product.update_time = _datetime self.db.add(product) self.add_oplog(u'新增资费信息:%s' % utils.safeunicode(product.product_name)) self.db.commit() self.redirect("/admin/product", permanent=False)
except apiutils.SignError, err: return self.render_sign_err(err) except Exception as err: return self.render_parse_err(err) try: if not form.validates(**request): return self.render_verify_err(form.errors) if self.db.query(models.TrProduct).filter_by(product_name=form.d.product_name).count() > 0: return self.render_verify_err(msg=u"product name already exists") except Exception, err: return self.render_verify_err(err) try: product = models.TrProduct() product.product_name = form.d.product_name product.product_policy = form.d.product_policy product.product_status = form.d.product_status product.fee_months = int(form.d.get("fee_months", 0)) product.fee_times = utils.hour2sec(form.d.get("fee_times", 0)) product.fee_flows = utils.mb2kb(form.d.get("fee_flows", 0)) product.bind_mac = form.d.bind_mac product.bind_vlan = form.d.bind_vlan product.concur_number = form.d.concur_number product.fee_price = utils.yuan2fen(form.d.fee_price) product.fee_period = '' # form.d.fee_period or '' product.input_max_limit = utils.mbps2bps(form.d.input_max_limit) product.output_max_limit = utils.mbps2bps(form.d.output_max_limit) _datetime = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") product.create_time = _datetime
def init_db(db): node = models.TrNode() node.id = 1 node.node_name = 'default' node.node_desc = u'默认区域' db.add(node) params = [ ('system_name', u'管理系统名称', u'ToughRADIUS管理控制台'), ('system_ticket_expire_days', u'上网日志保留天数', '90'), ('is_debug', u'DEBUG模式', u'0'), ('expire_notify_days', '到期提醒提前天数', u'7'), ('expire_notify_interval', '到期提醒提前间隔(分钟)', u'1440'), ('expire_notify_tpl', '到期提醒邮件模板', u'账号到期通知\n尊敬的会员您好:\n您的账号#account#即将在#expire#到期,请及时续费!'), ('expire_notify_url', u'到期通知url', u'http://your_notify_url?account={account}&expire={expire}&email={email}&mobile={mobile}' ), ('expire_addrpool', u'到期提醒下发地址池', u'expire'), ('expire_session_timeout', u'到期用户下发最大会话时长(秒)', u'120'), ('smtp_server', u'SMTP服务器地址', u'smtp.mailgun.org'), ('smtp_port', u'SMTP服务器端口', u'25'), ('smtp_user', u'SMTP用户名', u'*****@*****.**'), ('smtp_pwd', u'SMTP密码', u'service2015'), ('smtp_sender', u'SMTP发送人名称', u'运营中心'), ('smtp_from', u'SMTP邮件发送地址', u'*****@*****.**'), ('radius_bypass', u'Radius认证密码模式', u'0'), ('radius_acct_interim_intelval', u'Radius记账间隔(秒)', u'120'), ('radius_max_session_timeout', u'Radius最大会话时长(秒)', u'86400'), ('radius_auth_auto_unlock', u'并发自动解锁', '0') ] for p in params: param = models.TrParam() param.param_name = p[0] param.param_desc = p[1] param.param_value = p[2] db.add(param) opr = models.TrOperator() opr.id = 1 opr.operator_name = u'admin' opr.operator_type = 0 opr.operator_pass = md5('root').hexdigest() opr.operator_desc = 'admin' opr.operator_status = 0 db.add(opr) bas = models.TrBas() bas.ip_addr = '127.0.0.1' bas.vendor_id = '0' bas.bas_name = 'local bras' bas.bas_secret = 'secret' bas.coa_port = 3799 bas.time_type = 0 db.add(bas) free_product = models.TrProduct() free_product.id = FREE_FEE_PID free_product.product_name = u"自由资费" free_product.product_policy = FreeFee free_product.product_status = 0 free_product.fee_months = 0 free_product.fee_times = 0 free_product.fee_flows = 0 free_product.bind_mac = 0 free_product.bind_vlan = 0 free_product.concur_number = 0 free_product.fee_price = 0 free_product.fee_period = '' free_product.input_max_limit = 0 free_product.output_max_limit = 0 free_product.create_time = utils.get_currtime() free_product.update_time = utils.get_currtime() db.add(free_product) product = models.TrProduct() product.product_name = u"测试2M包月20元" product.product_policy = 0 product.product_status = 0 product.fee_months = 0 product.fee_times = 0 product.fee_flows = 0 product.bind_mac = 0 product.bind_vlan = 0 product.concur_number = 0 product.fee_price = 2000 product.fee_period = '' product.input_max_limit = 1048576 product.output_max_limit = 1048576 * 2 product.create_time = utils.get_currtime() product.update_time = utils.get_currtime() db.add(product) db.commit() db.close()
def inittest(db): node = models.TrNode() node.id = 100 node.node_name = u'测试区域' node.node_desc = u'测试区域' db.add(node) product1 = models.TrProduct() product1.product_name = u"预付费时长每小时2元" product1.product_policy = 1 product1.product_status = 0 product1.fee_months = 0 product1.fee_times = 0 product1.fee_flows = 0 product1.bind_mac = 0 product1.bind_vlan = 0 product1.concur_number = 1 product1.fee_price = 200 product1.fee_period = '' product1.input_max_limit = 1048576 * 2 product1.output_max_limit = 1048576 * 2 product1.create_time = utils.get_currtime() product1.update_time = utils.get_currtime() db.add(product1) product2 = models.TrProduct() product2.product_name = u"预付费包月30元" product2.product_policy = 0 product2.product_status = 0 product2.fee_months = 0 product2.fee_times = 0 product2.fee_flows = 0 product2.bind_mac = 0 product2.bind_vlan = 0 product2.concur_number = 1 product2.fee_price = 3000 product2.fee_period = '' product2.input_max_limit = 1048576 * 2 product2.output_max_limit = 1048576 * 2 product2.create_time = utils.get_currtime() product2.update_time = utils.get_currtime() db.add(product2) product3 = models.TrProduct() product3.product_name = u"买断包月12个月500元" product3.product_policy = 2 product3.product_status = 0 product3.fee_months = 12 product3.fee_times = 0 product3.fee_flows = 0 product3.bind_mac = 0 product3.bind_vlan = 0 product3.concur_number = 1 product3.fee_price = 50000 product3.fee_period = '' product3.input_max_limit = 1048576 * 2 product3.output_max_limit = 1048576 * 2 product3.create_time = utils.get_currtime() product3.update_time = utils.get_currtime() db.add(product3) product4 = models.TrProduct() product4.product_name = u"买断时长100元50小时" product4.product_policy = 3 product4.product_status = 0 product4.fee_months = 0 product4.fee_times = 50 * 3600 product4.fee_flows = 0 product4.bind_mac = 0 product4.bind_vlan = 0 product4.concur_number = 1 product4.fee_price = 10000 product4.fee_period = '' product4.input_max_limit = 1048576 * 2 product4.output_max_limit = 1048576 * 2 product4.create_time = utils.get_currtime() product4.update_time = utils.get_currtime() db.add(product4) product5 = models.TrProduct() product5.product_name = u"预付费流量每MB0.05元" product5.product_policy = 4 product5.product_status = 0 product5.fee_months = 0 product5.fee_times = 0 product5.fee_flows = 0 product5.bind_mac = 0 product5.bind_vlan = 0 product5.concur_number = 1 product5.fee_price = 5 product5.fee_period = '' product5.input_max_limit = 1048576 * 2 product5.output_max_limit = 1048576 * 2 product5.create_time = utils.get_currtime() product5.update_time = utils.get_currtime() db.add(product5) product6 = models.TrProduct() product6.product_name = u"买断流量5元100MB" product6.product_policy = 5 product6.product_status = 0 product6.fee_months = 0 product6.fee_times = 0 product6.fee_flows = 100 product6.bind_mac = 0 product6.bind_vlan = 0 product6.concur_number = 1 product6.fee_price = 500 product6.fee_period = '' product6.input_max_limit = 1048576 * 2 product6.output_max_limit = 1048576 * 2 product6.create_time = utils.get_currtime() product6.update_time = utils.get_currtime() db.add(product6) db.commit() db.close()