コード例 #1
0
    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)
コード例 #2
0
ファイル: admin.py プロジェクト: FoShanTK/ToughRADIUS
def node_add_update(db): 
    form=forms.node_update_form()
    if not form.validates(source=request.forms):
        return render("base_form", form=form)
    node = db.query(models.SlcNode).get(form.d.id)
    node.node_name = form.d.node_name
    node.node_desc = form.d.node_desc

    ops_log = models.SlcRadOperateLog()
    ops_log.operator_name = get_cookie("username")
    ops_log.operate_ip = get_cookie("login_ip")
    ops_log.operate_time = utils.get_currtime()
    ops_log.operate_desc = u'操作员(%s)修改区域信息:%s'%(get_cookie("username"),serial_json(node))
    db.add(ops_log)

    db.commit()
    redirect("/node")    
コード例 #3
0
def node_add_update(db):
    form = forms.node_update_form()
    if not form.validates(source=request.forms):
        return render("base_form", form=form)
    node = db.query(models.SlcNode).get(form.d.id)
    node.node_name = form.d.node_name
    node.node_desc = form.d.node_desc

    ops_log = models.SlcRadOperateLog()
    ops_log.operator_name = get_cookie("username")
    ops_log.operate_ip = get_cookie("login_ip")
    ops_log.operate_time = utils.get_currtime()
    ops_log.operate_desc = u'操作员(%s)修改区域信息:%s' % (get_cookie("username"),
                                                  serial_json(node))
    db.add(ops_log)

    db.commit()
    redirect("/node")
コード例 #4
0
ファイル: node.py プロジェクト: jamiesun/PyRadius
    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)
コード例 #5
0
ファイル: node.py プロジェクト: jamiesun/PyRadius
 def GET(self,nodeid):
     web.header("Content-Type","text/html; charset=utf-8")
     db = get_db()
     radnode = db.query(models.RadNode).get(nodeid)
     radopr = db.query(models.RadOpr)\
         .filter(models.RadOpr.type==1)\
         .filter(models.RadOpr.node_id == nodeid).first() 
     nodenas = db.query(models.RadNasNode)\
         .filter(models.RadNasNode.node_id == nodeid)
     data = dict(node_id=radnode.id,
         node_name=radnode.name,
         node_desc=radnode.desc,
         opr_id=radopr.id,
         opr_name=radopr.name,
         opr_ip=radopr.ip_addr,
         opr_passwd=decrypt(radopr.password),
         nas_bind=[ nn.ip_addr for nn in nodenas ])  
     form = forms.node_update_form()
     form.fill(data)
     return render("baseform.html",form=form,title="修改节点",action="/node/update/")   
コード例 #6
0
 def GET(self, nodeid):
     web.header("Content-Type", "text/html; charset=utf-8")
     db = get_db()
     radnode = db.query(models.RadNode).get(nodeid)
     radopr = db.query(models.RadOpr)\
         .filter(models.RadOpr.type==1)\
         .filter(models.RadOpr.node_id == nodeid).first()
     nodenas = db.query(models.RadNasNode)\
         .filter(models.RadNasNode.node_id == nodeid)
     data = dict(node_id=radnode.id,
                 node_name=radnode.name,
                 node_desc=radnode.desc,
                 opr_id=radopr.id,
                 opr_name=radopr.name,
                 opr_ip=radopr.ip_addr,
                 opr_passwd=decrypt(radopr.password),
                 nas_bind=[nn.ip_addr for nn in nodenas])
     form = forms.node_update_form()
     form.fill(data)
     return render("baseform.html",
                   form=form,
                   title="修改节点",
                   action="/node/update/")
コード例 #7
0
def node_update(db):
    node_id = request.params.get("node_id")
    form = forms.node_update_form()
    form.fill(db.query(models.SlcNode).get(node_id))
    return render("base_form", form=form)
コード例 #8
0
ファイル: admin.py プロジェクト: FoShanTK/ToughRADIUS
def node_update(db):  
    node_id = request.params.get("node_id")
    form=forms.node_update_form()
    form.fill(db.query(models.SlcNode).get(node_id))
    return render("base_form",form=form)