def POST(self,none): web.header("Content-Type","text/html; charset=utf-8") form = forms.product_update_form() if not form.validates(): return render("baseform.html",form=form,title="修改产品套餐",action="/product/update/") else: db = get_db() product = db.query(models.RadProduct).get(form.d.id) if not product: return errorpage("产品不存在") try: product.name = form.d.name product.fee_num = form.d.fee_num product.fee_price = int(Decimal(form.d.fee_price)*100) product.concur_number = form.d.concur_number product.bind_mac = form.d.bind_mac product.bind_vlan = form.d.bind_vlan product.bandwidth_code = form.d.bandwidth_code product.input_max_limit = form.d.input_max_limit product.output_max_limit = form.d.output_max_limit product.input_rate_code = form.d.input_rate_code product.output_rate_code = form.d.output_rate_code product.domain_code = form.d.domain_code product.status = 0 db.commit() db.flush() except Exception,e: db.rollback() log.error("update product error: %s"%str(e)) return errorpage("修改套餐失败 %s"%str(e)) raise web.seeother("/product",absolute=True)
def POST(self): web.header("Content-Type", "text/html; charset=utf-8") form = forms.group_add_form() if not form.validates(): return render("baseform.html", form=form, title="新增用户组", action="/group/add") else: db = get_db() if db.query(models.RadGroup)\ .filter(models.RadGroup.node_id == form.d.node_id)\ .filter(models.RadGroup.group_id == form.d.group_id)\ .count()>0: return errorpage("用户组编码重复") try: group = models.RadGroup() group.node_id = form.d.node_id group.group_id = form.d.group_id group.group_name = form.d.group_name db.add(group) db.commit() db.flush() except Exception, e: db.rollback() log.error("add group error: %s" % str(e)) return errorpage("新增用户组失败 %s" % str(e)) raise web.seeother("/group", absolute=True)
def POST(self): web.header("Content-Type","text/html; charset=utf-8") form = forms.product_add_form() if not form.validates(): return render("baseform.html",form=form,title="新增产品套餐",action="/product/add") else: db = get_db() if db.query(models.RadProduct).filter(models.RadProduct.id == form.d.id).count()>0: return errorpage("产品编号重复") try: radproduct = models.RadProduct() radproduct.id = form.d.id radproduct.name = form.d.name radproduct.policy = form.d.policy radproduct.fee_num = form.d.fee_num radproduct.fee_price = int(Decimal(form.d.fee_price)*100) radproduct.concur_number = form.d.concur_number radproduct.bind_mac = form.d.bind_mac radproduct.bind_vlan = form.d.bind_vlan radproduct.bandwidth_code = form.d.bandwidth_code radproduct.input_max_limit = form.d.input_max_limit radproduct.output_max_limit = form.d.output_max_limit radproduct.input_rate_code = form.d.input_rate_code radproduct.output_rate_code = form.d.output_rate_code radproduct.domain_code = form.d.domain_code radproduct.status = 0 db.add(radproduct) db.commit() db.flush() except Exception,e: db.rollback() log.error("add product error: %s"%str(e)) return errorpage("产品新增失败 %s"%str(e)) raise web.seeother("/product",absolute=True)
def POST(self): web.header("Content-Type","text/html; charset=utf-8") form = forms.group_add_form() if not form.validates(): return render("baseform.html",form=form,title="新增用户组",action="/group/add") else: db = get_db() if db.query(models.RadGroup)\ .filter(models.RadGroup.node_id == form.d.node_id)\ .filter(models.RadGroup.group_id == form.d.group_id)\ .count()>0: return errorpage("用户组编码重复") try: group = models.RadGroup() group.node_id = form.d.node_id group.group_id = form.d.group_id group.group_name = form.d.group_name db.add(group) db.commit() db.flush() except Exception,e: db.rollback() log.error("add group error: %s"%str(e)) return errorpage("新增用户组失败 %s"%str(e)) raise web.seeother("/group",absolute=True)
def POST(self, none): web.header("Content-Type", "text/html; charset=utf-8") form = forms.product_update_form() if not form.validates(): return render("baseform.html", form=form, title="修改产品套餐", action="/product/update/") else: db = get_db() product = db.query(models.RadProduct).get(form.d.id) if not product: return errorpage("产品不存在") try: product.name = form.d.name product.fee_num = form.d.fee_num product.fee_price = int(Decimal(form.d.fee_price) * 100) product.concur_number = form.d.concur_number product.bind_mac = form.d.bind_mac product.bind_vlan = form.d.bind_vlan product.bandwidth_code = form.d.bandwidth_code product.input_max_limit = form.d.input_max_limit product.output_max_limit = form.d.output_max_limit product.input_rate_code = form.d.input_rate_code product.output_rate_code = form.d.output_rate_code product.domain_code = form.d.domain_code product.status = 0 db.commit() db.flush() except Exception, e: db.rollback() log.error("update product error: %s" % str(e)) return errorpage("修改套餐失败 %s" % str(e)) raise web.seeother("/product", absolute=True)
def POST(self): web.header("Content-Type","text/html; charset=utf-8") form = forms.nas_add_form() if not form.validates(): return render("baseform.html",form=form,title="新增NAS设备",action="/nas/add") else: db = get_db() if db.query(models.RadNas).filter(models.RadNas.ip_addr == form.d.ip_addr).count()>0: return errorpage("Nas %s 已经存在"%form.d.ip_addr) try: nas = models.RadNas() nas.id = nextid() nas.ip_addr = form.d.ip_addr nas.name = form.d.name nas.auth_secret = form.d.auth_secret nas.acct_secret = form.d.acct_secret nas.vendor_id = form.d.vendor_id nas.time_type = form.d.time_type nas.status = form.d.status db.add(nas) db.commit() db.flush() except Exception,e: db.rollback() log.error("add nes error: %s"%str(e)) return errorpage("新增Nas失败 %s"%str(e)) raise web.seeother("/nas",absolute=True)
def POST(self, none): web.header("Content-Type", "text/html; charset=utf-8") form = forms.node_update_form() if not form.validates(source=web.input(nas_bind=[])): return render("baseform.html", form=form, title="新增节点", action="/node/update/") else: db = get_db() radnode = db.query(models.RadNode).filter( models.RadNode.id == form.d.node_id).first() if not radnode: return errorpage("节点不存在") try: radnode.id = form.d.node_id radnode.name = form.d.node_name radnode.desc = form.d.node_desc radopr = db.query(models.RadOpr)\ .filter(models.RadOpr.type==1)\ .filter(models.RadOpr.node_id == form.d.node_id).first() radopr.node_id = radnode.id radopr.id = nextid() radopr.type = 1 radopr.name = form.d.opr_name radopr.ip_addr = form.d.opr_ip radopr.password = encrypt(form.d.opr_passwd) radopr.status = 0 #修改nas绑定 for nasnode in db.query(models.RadNasNode).filter( models.RadNasNode.node_id == radnode.id): db.delete(nasnode) for ip in form.d.nas_bind: radnasnode = models.RadNasNode() radnasnode.node_id = radnode.id radnasnode.ip_addr = ip db.add(radnasnode) db.commit() db.flush() except Exception, e: db.rollback() log.error("update node error: %s" % str(e)) return errorpage("节点修改失败 %s" % str(e)) raise web.seeother("/node", absolute=True)
def GET(self,productid): if productid: db = get_db() try: if db.query(models.RadUser).filter(models.RadUser.product_id == productid).count()>0: return errorpage("产品已经有用户使用,不允许删除") radproduct = db.query(models.RadProduct).get(productid) if radproduct: db.delete(radproduct) db.commit() db.flush() except Exception,e: db.rollback() log.error("delete product error: %s"%str(e)) return errorpage("删除失败 %s"%str(e))
def GET(self, productid): if productid: db = get_db() try: if db.query(models.RadUser).filter( models.RadUser.product_id == productid).count() > 0: return errorpage("产品已经有用户使用,不允许删除") radproduct = db.query(models.RadProduct).get(productid) if radproduct: db.delete(radproduct) db.commit() db.flush() except Exception, e: db.rollback() log.error("delete product error: %s" % str(e)) return errorpage("删除失败 %s" % str(e))
def POST(self): web.header("Content-Type", "text/html; charset=utf-8") form = forms.user_add_form() if not form.validates(): form.group_id.args = getGroupIds(form.d.node_id) return render("baseform.html", form=form, title="新增用户", action="/user/add") else: db = get_db() if db.query(models.RadUser)\ .filter(models.RadUser.user_name == form.d.user_name)\ .count()>0: return errorpage("帐号重复") try: user = models.RadUser() user.id = nextid() user.node_id = form.d.node_id user.group_id = form.d.group_id user.user_name = form.d.user_name user.user_cname = form.d.user_cname user.password = encrypt(form.d.password) user.product_id = form.d.product_id user.status = form.d.status user.auth_begin_date = form.d.auth_begin_date user.auth_end_date = form.d.auth_end_date user.user_control = form.d.user_control user.concur_number = form.d.concur_number user.user_vlan = form.d.user_vlan user.user_mac = form.d.user_mac user.ip_addr = form.d.ip_addr user.install_address = form.d.install_address user.balance = 0 user.time_length = 0 user.basic_fee = 0 user.create_time = currtime() db.add(user) db.commit() db.flush() except Exception, e: db.rollback() log.error("add user error: %s" % str(e)) return errorpage("新增用户失败 %s" % str(e)) raise web.seeother("/user", absolute=True)
def POST(self): web.header("Content-Type","text/html; charset=utf-8") form = forms.node_add_form() if not form.validates(source=web.input(nas_bind=[])): return render("baseform.html",form=form,title="新增节点",action="/node/add") else: db = get_db() if db.query(models.RadNode).filter(models.RadNode.id == form.d.node_id).count()>0: return errorpage("节点编号重复") try: radnode = models.RadNode() radnode.id = form.d.node_id radnode.name = form.d.node_name radnode.desc = form.d.node_desc radopr = models.RadOpr() radopr.node_id = radnode.id radopr.id = nextid() radopr.type = 1 radopr.name = form.d.opr_name radopr.ip_addr = form.d.opr_ip radopr.password = encrypt(form.d.opr_passwd) radopr.status = 0 db.add(radnode) db.add(radopr) #新增nas绑定 for ip in form.d.nas_bind: radnasnode = models.RadNasNode() radnasnode.node_id = radnode.id radnasnode.ip_addr = ip db.add(radnasnode) db.commit() db.flush() except Exception,e: db.rollback() log.error("add node error: %s"%str(e)) return errorpage("节点新增失败 %s"%str(e)) raise web.seeother("/node",absolute=True)
def POST(self): web.header("Content-Type","text/html; charset=utf-8") form = forms.user_add_form() if not form.validates(): form.group_id.args = getGroupIds(form.d.node_id) return render("baseform.html",form=form,title="新增用户",action="/user/add") else: db = get_db() if db.query(models.RadUser)\ .filter(models.RadUser.user_name == form.d.user_name)\ .count()>0: return errorpage("帐号重复") try: user = models.RadUser() user.id = nextid() user.node_id = form.d.node_id user.group_id = form.d.group_id user.user_name = form.d.user_name user.user_cname = form.d.user_cname user.password = encrypt(form.d.password) user.product_id = form.d.product_id user.status = form.d.status user.auth_begin_date = form.d.auth_begin_date user.auth_end_date = form.d.auth_end_date user.user_control = form.d.user_control user.concur_number = form.d.concur_number user.user_vlan = form.d.user_vlan user.user_mac = form.d.user_mac user.ip_addr = form.d.ip_addr user.install_address = form.d.install_address user.balance = 0 user.time_length = 0 user.basic_fee = 0 user.create_time = currtime() db.add(user) db.commit() db.flush() except Exception,e: db.rollback() log.error("add user error: %s"%str(e)) return errorpage("新增用户失败 %s"%str(e)) raise web.seeother("/user",absolute=True)
def GET(self,nasid): if nasid: db = get_db() try: for nas in db.query(models.RadNas).filter(models.RadNas.id == nasid): db.delete(nas) db.commit() db.flush() except Exception,e: db.rollback() log.error("delete nas error: %s"%str(e)) return errorpage("删除失败 %s"%str(e))
def POST(self): web.header("Content-Type", "text/html; charset=utf-8") form = forms.product_add_form() if not form.validates(): return render("baseform.html", form=form, title="新增产品套餐", action="/product/add") else: db = get_db() if db.query(models.RadProduct).filter( models.RadProduct.id == form.d.id).count() > 0: return errorpage("产品编号重复") try: radproduct = models.RadProduct() radproduct.id = form.d.id radproduct.name = form.d.name radproduct.policy = form.d.policy radproduct.fee_num = form.d.fee_num radproduct.fee_price = int(Decimal(form.d.fee_price) * 100) radproduct.concur_number = form.d.concur_number radproduct.bind_mac = form.d.bind_mac radproduct.bind_vlan = form.d.bind_vlan radproduct.bandwidth_code = form.d.bandwidth_code radproduct.input_max_limit = form.d.input_max_limit radproduct.output_max_limit = form.d.output_max_limit radproduct.input_rate_code = form.d.input_rate_code radproduct.output_rate_code = form.d.output_rate_code radproduct.domain_code = form.d.domain_code radproduct.status = 0 db.add(radproduct) db.commit() db.flush() except Exception, e: db.rollback() log.error("add product error: %s" % str(e)) return errorpage("产品新增失败 %s" % str(e)) raise web.seeother("/product", absolute=True)
def GET(self): user_id = web.input().get("user_id") if user_id: db = get_db() try: for user in db.query(models.RadUser).filter(models.RadUser.id == user_id): db.delete(user) db.commit() db.flush() except Exception as e: db.rollback() log.error("delete user error: %s"%str(e)) return errorpage("删除失败") raise web.seeother("/user",absolute=True)
def POST(self,none): web.header("Content-Type","text/html; charset=utf-8") form = forms.nas_update_form() if not form.validates(): return render("baseform.html",form=form,title="修改NAS设备",action="/nas/update/") else: db = get_db() nas = db.query(models.RadNas).get(form.d.id) if not nas: return errorpage("Nas不存在") try: nas.name = form.d.name nas.auth_secret = form.d.auth_secret nas.acct_secret = form.d.acct_secret nas.vendor_id = form.d.vendor_id nas.time_type = form.d.time_type nas.status = form.d.status db.commit() db.flush() except Exception,e: db.rollback() log.error("update nas error: %s"%str(e)) return errorpage("修改Nas失败 %s"%str(e)) raise web.seeother("/nas",absolute=True)
def GET(self): user_id = web.input().get("user_id") if user_id: db = get_db() try: for user in db.query( models.RadUser).filter(models.RadUser.id == user_id): db.delete(user) db.commit() db.flush() except Exception as e: db.rollback() log.error("delete user error: %s" % str(e)) return errorpage("删除失败") raise web.seeother("/user", absolute=True)
def GET(self,nodeid): if nodeid: db = get_db() try: for node in db.query(models.RadNode).filter(models.RadNode.id == nodeid): db.delete(node) for opr in db.query(models.RadOpr).filter(models.RadOpr.node_id == nodeid): db.delete(opr) for nasnode in db.query(models.RadNasNode).filter(models.RadNasNode.node_id == nodeid): db.delete(nasnode) db.commit() db.flush() except Exception,e: db.rollback() log.error("delete node error: %s"%str(e)) return errorpage("删除失败 %s"%str(e))
def GET(self): node_id = web.input().get("node_id") group_id = web.input().get("group_id") if node_id and group_id: db = get_db() try: for group in db.query(models.RadGroup)\ .filter(models.RadGroup.node_id == node_id)\ .filter(models.RadGroup.group_id == group_id): db.delete(group) db.commit() db.flush() except Exception as e: db.rollback() log.error("delete group error: %s"%str(e)) return errorpage("删除失败") raise web.seeother("/group",absolute=True)
def GET(self): node_id = web.input().get("node_id") group_id = web.input().get("group_id") if node_id and group_id: db = get_db() try: for group in db.query(models.RadGroup)\ .filter(models.RadGroup.node_id == node_id)\ .filter(models.RadGroup.group_id == group_id): db.delete(group) db.commit() db.flush() except Exception as e: db.rollback() log.error("delete group error: %s" % str(e)) return errorpage("删除失败") raise web.seeother("/group", absolute=True)
def GET(self, nodeid): if nodeid: db = get_db() try: for node in db.query( models.RadNode).filter(models.RadNode.id == nodeid): db.delete(node) for opr in db.query( models.RadOpr).filter(models.RadOpr.node_id == nodeid): db.delete(opr) for nasnode in db.query(models.RadNasNode).filter( models.RadNasNode.node_id == nodeid): db.delete(nasnode) db.commit() db.flush() except Exception, e: db.rollback() log.error("delete node error: %s" % str(e)) return errorpage("删除失败 %s" % str(e))