Exemplo n.º 1
0
def rack():
    '''机架设置'''
    role_Permission = getattr(Permission, current_user.role)
    rack_form = RackForm()
    sidebarclass = init__sidebar('edititem')
    if request.method == "POST" and \
            role_Permission >= Permission.ALTER_REPLY:
        sidebarclass = init__sidebar('additem')
        if rack_form.validate_on_submit():
            rack = Rack(rack=rack_form.rack.data,
                        site=rack_form.site.data,
                        count=rack_form.count.data,
                        power=rack_form.power.data,
                        sales=rack_form.sales.data,
                        client=rack_form.client.data,
                        start_time=rack_form.start_time.data,
                        expire_time=rack_form.expire_time.data,
                        remark=rack_form.remark.data)
            db.session.add(rack)
            db.session.commit()
            value = ("rack:%s site:%s count:%s power:%s sales:%s client:%s"
                     "start_time:%s expire_time:%s remark:%s") % (
                         rack.rack, rack.site, rack.count, rack.power,
                         rack.sales, rack.client, rack.start_time,
                         rack.expire_time, rack.remark)
            record_sql(current_user.username, u"创建", u"机架", rack.id, "rack",
                       value)
            flash(u'机柜添加成功')
        else:
            for key in rack_form.errors.keys():
                flash(rack_form.errors[key][0])

    if request.method == "GET":
        search = request.args.get('search', '')
        if search:
            # 搜索
            page = int(request.args.get('page', 1))
            sidebarclass = init__sidebar('edititem')
            res = search_res(Rack, 'rack', search)
            if res:
                pagination = res.paginate(page, 100, False)
                items = pagination.items
                return render_template('cmdb/item.html',
                                       titles=titles,
                                       thead=thead,
                                       endpoint=endpoint,
                                       del_page=del_page,
                                       change_page=change_page,
                                       item_form=rack_form,
                                       sidebarclass=sidebarclass,
                                       pagination=pagination,
                                       search_value=search,
                                       items=items)

    return render_template('cmdb/item.html',
                           titles=titles,
                           item_form=rack_form,
                           sidebarclass=sidebarclass)
Exemplo n.º 2
0
def ipsubnet():
    '''IP子网'''
    role_Permission = getattr(Permission, current_user.role)
    ipsubnet_form = IpSubnetForm()
    sidebarclass = init__sidebar('edititem')
    if request.method == "POST" and \
            role_Permission >= Permission.ALTER_REPLY:
        sidebarclass = init__sidebar('additem')
        if ipsubnet_form.validate_on_submit():
            ipsubnet=IpSubnet(
                 subnet=ipsubnet_form.subnet.data,
                 start_ip=ipsubnet_form.start_ip.data,
                 end_ip=ipsubnet_form.end_ip.data,
                 netmask=ipsubnet_form.netmask.data,
                 site=ipsubnet_form.site.data,
                 sales=ipsubnet_form.sales.data,
                 client=ipsubnet_form.client.data,
                 start_time=ipsubnet_form.start_time.data,
                 expire_time=ipsubnet_form.expire_time.data,
                 remark=ipsubnet_form.remark.data
            )
            db.session.add(ipsubnet)
            db.session.commit()
            value = ("subnet:%s start_ip:%s end_ip:%s netmask:%s"
                     "site:%s sales:%s client:%s start_time:%s"
                     "expire_time:%s remark:%s" 
            ) % (ipsubnet.subnet, ipsubnet.start_ip, ipsubnet.end_ip,
                 ipsubnet.netmask, ipsubnet.site, ipsubnet.sales, ipsubnet.client,
                 ipsubnet.start_time, ipsubnet.expire_time, ipsubnet.remark)
            record_sql(current_user.username, u"创建", u"IP子网",
                       ipsubnet.id, "subnet", value)
            
            flash(u'IP子网添加成功')
        else:
            for key in ipsubnet_form.errors.keys():
                flash(ipsubnet_form.errors[key][0])

    if request.method == "GET":
        search = request.args.get('search', '')
        if search:
            # 搜索
            page = int(request.args.get('page', 1))
            sidebarclass = init__sidebar('edititem')
            res = search_res(IpSubnet, 'subnet', search)
            if res:
                pagination = res.paginate(page, 100, False)
                items = pagination.items
                return render_template(
                    'cmdb/item.html', titles=titles, thead=thead, 
                    endpoint=endpoint, del_page=del_page, change_page=change_page,
                    item_form=ipsubnet_form, sidebarclass=sidebarclass, pagination=pagination,
                    search_value=search, items=items
                )
    
    return render_template(
        'cmdb/item.html', titles = titles, item_form=ipsubnet_form,
        sidebarclass=sidebarclass
    )
Exemplo n.º 3
0
def site():
    '''机房设置'''
    role_Permission = getattr(Permission, current_user.role)
    site_form = SiteForm()
    sidebarclass = init__sidebar('edititem')
    if request.method == "POST" and \
            role_Permission >= Permission.ALTER_REPLY:
        sidebarclass = init__sidebar('additem')
        if site_form.validate_on_submit():
            site = Site(site=site_form.site.data,
                        isp=site_form.isp.data,
                        location=site_form.location.data,
                        address=site_form.address.data,
                        contact=site_form.contact.data,
                        dns=site_form.dns.data,
                        remark=site_form.remark.data)
            db.session.add(site)
            db.session.commit()
            value = ("site:%s isp:%s location:%s address:%s"
                     "contact:%s  dns:%s remark:%s") % (
                         site.site, site.isp, site.location, site.address,
                         site.contact, site.dns, site.remark)
            record_sql(current_user.username, u"创建", u"机房", site.id, "site",
                       value)
            flash(u'机房添加成功')
        else:
            for key in site_form.errors.keys():
                flash(site_form.errors[key][0])

    if request.method == "GET":
        search = request.args.get('search', '')
        if search:
            # 搜索
            page = int(request.args.get('page', 1))
            sidebarclass = init__sidebar('edititem')
            res = search_res(Site, 'site', search)
            if res:
                pagination = res.paginate(page, 100, False)
                items = pagination.items
                return render_template('cmdb/item.html',
                                       titles=titles,
                                       thead=thead,
                                       endpoint=endpoint,
                                       del_page=del_page,
                                       change_page=change_page,
                                       item_form=site_form,
                                       sidebarclass=sidebarclass,
                                       pagination=pagination,
                                       search_value=search,
                                       items=items)

    return render_template('cmdb/item.html',
                           titles=titles,
                           item_form=site_form,
                           sidebarclass=sidebarclass)
Exemplo n.º 4
0
def rack():
    '''机架设置'''
    role_Permission = getattr(Permission, current_user.role)
    rack_form = RackForm()
    sidebarclass = init__sidebar('edititem')
    if request.method == "POST" and \
            role_Permission >= Permission.ALTER_REPLY:
        sidebarclass = init__sidebar('additem')
        if rack_form.validate_on_submit():
            rack = Rack(
                rack=rack_form.rack.data,
                site=rack_form.site.data,
                count=rack_form.count.data,
                power=rack_form.power.data,
                sales=rack_form.sales.data,
                client=rack_form.client.data,
                start_time=rack_form.start_time.data,
                expire_time=rack_form.expire_time.data,
                remark=rack_form.remark.data
            )
            db.session.add(rack)
            db.session.commit()
            value = (
                "rack:%s site:%s count:%s power:%s sales:%s client:%s"
                "start_time:%s expire_time:%s remark:%s"
            ) % (rack.rack, rack.site, rack.count, rack.power, rack.sales,
                 rack.client, rack.start_time, rack.expire_time, rack.remark)
            record_sql(current_user.username, u"创建", u"机架", rack.id, "rack", value)
            flash(u'机柜添加成功')
        else:
            for key in rack_form.errors.keys():
                flash(rack_form.errors[key][0])

    if request.method == "GET":
        search = request.args.get('search', '')
        if search:
            # 搜索
            page = int(request.args.get('page', 1))
            sidebarclass = init__sidebar('edititem')
            res = search_res(Rack, 'rack', search)
            if res:
                pagination = res.paginate(page, 100, False)
                items = pagination.items
                return render_template(
                    'cmdb/item.html', titles=titles, thead=thead, 
                    endpoint=endpoint, del_page=del_page, change_page=change_page,
                    item_form=rack_form, sidebarclass=sidebarclass, pagination=pagination,
                    search_value=search, items=items
                )
    
    return render_template(
        'cmdb/item.html', titles = titles, item_form=rack_form,
        sidebarclass=sidebarclass
    )
Exemplo n.º 5
0
def ippool_delete():
    del_id = int(request.form["id"])
    ippool = IpPool.query.filter_by(id=del_id).first()
    if ippool:
        if Cabinet.query.filter_by(wan_ip=ippool.ip).first():
            return "删除失败 这个IP有设备在使用"
        record_sql(current_user.username, u"删除", u"IP池",
                   ippool.id, "ip", ippool.ip)
        db.session.delete(ippool)
        db.session.commit()
        return "OK"
    return u"删除失败 没有找到这个IP"
Exemplo n.º 6
0
def ippool_delete():
    del_id = int(request.form["id"])
    ippool = IpPool.query.filter_by(id=del_id).first()
    if ippool:
        if Cabinet.query.filter_by(wan_ip=ippool.ip).first():
            return "删除失败 这个IP有设备在使用"
        record_sql(current_user.username, u"删除", u"IP池", ippool.id, "ip",
                   ippool.ip)
        db.session.delete(ippool)
        db.session.commit()
        return "OK"
    return u"删除失败 没有找到这个IP"
Exemplo n.º 7
0
def rack_delete():
    del_id = int(request.form["id"])
    rack = Rack.query.filter_by(id=del_id).first()
    if rack:
        if Cabinet.query.filter_by(rack=rack.rack, site=rack.site).first():
            return u'删除失败,还有设置使用这个机柜'
        record_sql(current_user.username, u"删除", u"机架", rack.id, "rack",
                   rack.rack)
        db.session.delete(rack)
        db.session.commit()
        return "OK"
    return u"删除失败没有找到这个机柜"
Exemplo n.º 8
0
def ipsubnet_delete():
    del_id = int(request.form["id"])
    ipsubnet = IpSubnet.query.filter_by(id=del_id).first()
    if ipsubnet:
        if IpPool.query.filter_by(subnet=ipsubnet.subnet).first():
            return u"删除失败 有IP使用这个子网"
        record_sql(current_user.username, u"删除", u"IP子网",
                   ipsubnet.id, "ipsubnet", ipsubnet.subnet)
        db.session.delete(ipsubnet)
        db.session.commit()
        return "OK"
    return u"删除失败 没有找到这个IP范围"
Exemplo n.º 9
0
def ipsubnet_delete():
    del_id = int(request.form["id"])
    ipsubnet = IpSubnet.query.filter_by(id=del_id).first()
    if ipsubnet:
        if IpPool.query.filter_by(subnet=ipsubnet.subnet).first():
            return u"删除失败 有IP使用这个子网"
        record_sql(current_user.username, u"删除", u"IP子网", ipsubnet.id,
                   "ipsubnet", ipsubnet.subnet)
        db.session.delete(ipsubnet)
        db.session.commit()
        return "OK"
    return u"删除失败 没有找到这个IP范围"
Exemplo n.º 10
0
def rack_delete():
    del_id = int(request.form["id"])
    rack = Rack.query.filter_by(id=del_id).first()
    if rack:
        if Cabinet.query.filter_by(rack=rack.rack, site=rack.site).first():
            return u'删除失败,还有设置使用这个机柜'
        record_sql(current_user.username, u"删除", u"机架", rack.id, "rack",
                   rack.rack)
        db.session.delete(rack)
        db.session.commit()
        return "OK"
    return u"删除失败没有找到这个机柜"
Exemplo n.º 11
0
def cabinet_delete():
    del_id = int(request.form["id"])
    cabinet = Cabinet.query.filter_by(id=del_id).first()
    if cabinet:
        if cabinet.wan_ip:
            change_ip = IpPool.query.filter_by(ip=cabinet.wan_ip).first()
            change_ip.client=''
            db.session.add(change_ip)
        record_sql(current_user.username, u"删除", u"机柜表", cabinet.id, "an", cabinet.an)
        db.session.delete(cabinet)
        db.session.commit()
        return "OK"
    return u"删除失败没有找到这个设备"
Exemplo n.º 12
0
def cabinet_delete():
    del_id = int(request.form["id"])
    cabinet = Cabinet.query.filter_by(id=del_id).first()
    if cabinet:
        if cabinet.wan_ip:
            change_ip = IpPool.query.filter_by(ip=cabinet.wan_ip).first()
            change_ip.client = ''
            db.session.add(change_ip)
        record_sql(current_user.username, u"删除", u"机柜表", cabinet.id, "an",
                   cabinet.an)
        db.session.delete(cabinet)
        db.session.commit()
        return "OK"
    return u"删除失败没有找到这个设备"
Exemplo n.º 13
0
def site_delete():
    del_id = int(request.form["id"])
    site = Site.query.filter_by(id=del_id).first()
    if site:
        if Rack.query.filter_by(site=site.site).first():
            return u"删除失败 这个机房有机架在使用"
        if IpPool.query.filter_by(site=site.site).first():
            return u"删除失败 这个机房有IP子网在使用"
        record_sql(current_user.username, u"删除", u"机房", site.id, "site",
                   site.site)
        db.session.delete(site)
        db.session.commit()
        return "OK"
    return u"删除失败 没有找到这个机房"
Exemplo n.º 14
0
def sales():
    '''机房设置'''
    role_Permission = getattr(Permission, current_user.role)
    sales_form = SalesForm()
    sidebarclass = init__sidebar('edititem')
    if request.method == "POST" and \
            role_Permission >= Permission.ALTER_REPLY:
        sidebarclass = init__sidebar('additem')
        if sales_form.validate_on_submit():
            sales = Sales(username=sales_form.username.data,
                          contact=sales_form.contact.data,
                          remark=sales_form.remark.data)
            db.session.add(sales)
            db.session.commit()
            value = ("usrename:%s contact:%s remark:%s") % (
                sales.username, sales.contact, sales.remark)
            record_sql(current_user.username, u"创建", u"销售", sales.id, "sales",
                       value)
            flash(u'销售添加成功')
        else:
            for key in sales_form.errors.keys():
                flash(sales_form.errors[key][0])

    if request.method == "GET":
        search = request.args.get('search', '')
        if search:
            # 搜索
            page = int(request.args.get('page', 1))
            sidebarclass = init__sidebar('edititem')
            res = search_res(Sales, 'username', search)
            if res:
                pagination = res.paginate(page, 100, False)
                items = pagination.items
                return render_template('cmdb/item.html',
                                       titles=titles,
                                       thead=thead,
                                       endpoint=endpoint,
                                       del_page=del_page,
                                       change_page=change_page,
                                       item_form=sales_form,
                                       sidebarclass=sidebarclass,
                                       pagination=pagination,
                                       search_value=search,
                                       items=items)

    return render_template('cmdb/item.html',
                           titles=titles,
                           item_form=sales_form,
                           sidebarclass=sidebarclass)
Exemplo n.º 15
0
def client_change():
    change_id = int(request.form["id"])
    item = request.form["item"]
    value = request.form["value"]
    client = Client.query.filter_by(id=change_id).first()
    if client:
        verify = CustomValidator(item, change_id, value)
        res = verify.validate_return()
        if res == "OK":
            record_sql(current_user.username, u"更改", u"客户", client.id, item, value)
            setattr(client, item, value) 
            db.session.add(client)
            return "OK"
        return res 
    return u"更改失败没有找到该客户"
Exemplo n.º 16
0
def client_change():
    change_id = int(request.form["id"])
    item = request.form["item"]
    value = request.form["value"]
    client = Client.query.filter_by(id=change_id).first()
    if client:
        verify = CustomValidator(item, change_id, value)
        res = verify.validate_return()
        if res == "OK":
            record_sql(current_user.username, u"更改", u"客户", client.id, item,
                       value)
            setattr(client, item, value)
            db.session.add(client)
            return "OK"
        return res
    return u"更改失败没有找到该客户"
Exemplo n.º 17
0
def ippool_change():
    change_id = int(request.form["id"])
    item = request.form["item"]
    value = request.form['value']
    ippool = IpPool.query.filter_by(id=change_id).first()
    if ippool:
        verify = CustomValidator(item, value)
        res = verify.validate_return()
        if res == "OK":
            record_sql(current_user.username, u"修改", u"IP池",
                       ippool.id, item, value)
            setattr(ippool, item, value) 
            db.session.add(ippool)
            return "OK"
        return res 
    return u"更改失败没有找到该用户"
Exemplo n.º 18
0
def ippool_change():
    change_id = int(request.form["id"])
    item = request.form["item"]
    value = request.form['value']
    ippool = IpPool.query.filter_by(id=change_id).first()
    if ippool:
        verify = CustomValidator(item, value)
        res = verify.validate_return()
        if res == "OK":
            record_sql(current_user.username, u"修改", u"IP池", ippool.id, item,
                       value)
            setattr(ippool, item, value)
            db.session.add(ippool)
            return "OK"
        return res
    return u"更改失败没有找到该用户"
Exemplo n.º 19
0
def reak_change():
    change_id = int(request.form["id"])
    item = request.form["item"]
    value = request.form['value']
    rack = Rack.query.filter_by(id=change_id).first()
    if rack:
        verify = CustomValidator(item, change_id, value)
        res = verify.validate_return()
        if res == "OK":
            record_sql(current_user.username, u"更改", u"机架", rack.id, item,
                       value)
            setattr(rack, item, value)
            db.session.add(rack)
            return "OK"
        return res
    return u"更改失败没有找到该用户"
Exemplo n.º 20
0
def reak_change():
    change_id = int(request.form["id"])
    item = request.form["item"]
    value = request.form['value']
    rack = Rack.query.filter_by(id=change_id).first()
    if rack:
        verify = CustomValidator(item, change_id, value)
        res = verify.validate_return()
        if res == "OK":
            record_sql(current_user.username, u"更改", u"机架", rack.id, item,
                       value)
            setattr(rack, item, value)
            db.session.add(rack)
            return "OK"
        return res
    return u"更改失败没有找到该用户"
Exemplo n.º 21
0
def sales_delete():
    del_id = int(request.form["id"])
    sales = Sales.query.filter_by(id=del_id).first()
    if sales:
        if Rack.query.filter_by(sales=sales.username).first():
            return u"删除失败 这个销售有机架在使用"
        if IpSubnet.query.filter_by(sales=sales.username).first():
            return u"删除失败 这个销售有IP子网在使用"
        if Cabinet.query.filter_by(sales=sales.username).first():
            return u"删除失败 这个销售有设备在使用"
        record_sql(current_user.username, u"删除", u"销售", sales.id, "sales",
                   sales.username)
        db.session.delete(sales)
        db.session.commit()
        return "OK"
    return u"删除失败 没有找到这个机房"
Exemplo n.º 22
0
def sales_change():
    change_id = int(request.form["id"])
    item = request.form["item"]
    value = request.form["value"]
    sales = Sales.query.filter_by(id=change_id).first()
    if sales:
        verify = CustomValidator(item, change_id, value)
        res = verify.validate_return()
        if res == "OK":
            record_sql(current_user.username, u"更改", u"销售", sales.id, item,
                       value)
            setattr(sales, item, value)
            db.session.add(sales)
            return "OK"
        return res
    return u"更改失败没有找到这个销售"
Exemplo n.º 23
0
def client():
    '''机房设置'''
    role_Permission = getattr(Permission, current_user.role)
    client_form = ClientForm()
    sidebarclass = init__sidebar('edititem')
    if request.method == "POST" and \
            role_Permission >= Permission.ALTER_REPLY:
        sidebarclass = init__sidebar('additem')
        if client_form.validate_on_submit():
            client = Client(
                username=client_form.username.data,
                contact=client_form.contact.data,
                remark=client_form.remark.data
            )
            db.session.add(client)
            db.session.commit()
            value = (
                "username:%s contact:%s remark:%s"
            ) % (client.username, client.contact, client.remark)
            record_sql(current_user.username, u"创建", u"销售", client.id, "client", value)
            flash(u'客户添加成功')
        else:
            for key in client_form.errors.keys():
                flash(client_form.errors[key][0])
        
    if request.method == "GET":
        search = request.args.get('search', '')
        if search:
            # 搜索
            page = int(request.args.get('page', 1))
            sidebarclass = init__sidebar('edititem')
            res = search_res(Client, 'username' , search)
            if res:
                pagination = res.paginate(page, 100, False)
                items = pagination.items
                return render_template(
                    'cmdb/item.html', titles=titles, thead=thead, 
                    endpoint=endpoint, del_page=del_page, change_page=change_page, 
                    item_form=client_form, sidebarclass=sidebarclass, pagination=pagination,
                    search_value=search, items=items
                )

    return render_template(
        'cmdb/item.html', titles = titles, item_form=client_form, 
        sidebarclass=sidebarclass
    )
Exemplo n.º 24
0
def client_delete():
    del_id = int(request.form["id"])
    client = Client.query.filter_by(id=del_id).first()
    if client:
        if Rack.query.filter_by(client=client.username).first():
            return u"删除失败 这个销售有机架在使用"
        if IpSubnet.query.filter_by(client=client.username).first():
            return u"删除失败 这个销售有IP子网在使用"
        if IpPool.query.filter_by(client=client.username).first():
            return u"删除失败 这个销售有IP在使用"
        if Cabinet.query.filter_by(client=client.username).first():
            return u"删除失败 这个销售有设备在使用"
        record_sql(current_user.username, u"删除", u"客户", client.id, "client", client.username)
        db.session.delete(client)
        db.session.commit()
        return "OK"
    return u"删除失败 没有找到这个客户"
Exemplo n.º 25
0
def client_delete():
    del_id = int(request.form["id"])
    client = Client.query.filter_by(id=del_id).first()
    if client:
        if Rack.query.filter_by(client=client.username).first():
            return u"删除失败 这个销售有机架在使用"
        if IpSubnet.query.filter_by(client=client.username).first():
            return u"删除失败 这个销售有IP子网在使用"
        if IpPool.query.filter_by(client=client.username).first():
            return u"删除失败 这个销售有IP在使用"
        if Cabinet.query.filter_by(client=client.username).first():
            return u"删除失败 这个销售有设备在使用"
        record_sql(current_user.username, u"删除", u"客户", client.id, "client",
                   client.username)
        db.session.delete(client)
        db.session.commit()
        return "OK"
    return u"删除失败 没有找到这个客户"
Exemplo n.º 26
0
def cabinet_change():
    change_id = int(request.form["id"])
    item = request.form["item"]
    value = request.form['value']
    cabinet = Cabinet.query.filter_by(id=change_id).first()
    if cabinet:
        verify = CustomValidator(item, change_id, value)
        res = verify.validate_return()
        if res == "OK":
            if item == "wan_ip":
                if cabinet.wan_ip:
                    old_ip = IpPool.query.filter_by(ip=cabinet.wan_ip).first()
                    old_ip.client = ""
                    db.session.add(old_ip)
                add_ip = IpPool.query.filter_by(ip=value).first()
                add_ip.client = cabinet.client
                db.session.add(add_ip)
            record_sql(current_user.username, u"更改", u"机柜表", cabinet.id, item,
                       value)
            setattr(cabinet, item, value)
            db.session.add(cabinet)
            return "OK"
        return res
    return u"更改失败没有找到该用户"
Exemplo n.º 27
0
def cabinet_change():
    change_id = int(request.form["id"])
    item = request.form["item"]
    value = request.form['value']
    cabinet = Cabinet.query.filter_by(id=change_id).first()
    if cabinet:
        verify = CustomValidator(item, change_id, value)
        res = verify.validate_return()
        if res == "OK":
            if item == "wan_ip":
                if cabinet.wan_ip:
                    old_ip = IpPool.query.filter_by(ip=cabinet.wan_ip).first()
                    old_ip.client=""
                    db.session.add(old_ip)
                add_ip = IpPool.query.filter_by(ip=value).first()
                add_ip.client = cabinet.client
                db.session.add(add_ip)
            record_sql(current_user.username, u"更改", u"机柜表",
                       cabinet.id, item, value)
            setattr(cabinet, item, value) 
            db.session.add(cabinet)
            return "OK"
        return res
    return u"更改失败没有找到该用户"
Exemplo n.º 28
0
def ippool():
    '''IP池'''
    role_Permission = getattr(Permission, current_user.role)
    ippool_form = IpPoolForm()
    sidebarclass = init__sidebar('edititem')
    if request.method == "POST" and \
            role_Permission >= Permission.ALTER_REPLY:
        sidebarclass = init__sidebar('additem')
        if ippool_form.validate_on_submit():
            ip_list = ippool_form.start_ip.data.split('.')
            fornt_ip = '.'.join(ip_list[:-1])
            start_ip = int(ip_list[-1])
            end_ip = int(ippool_form.end_ip.data) + 1
            for i in range(start_ip, end_ip):
                add_ip = fornt_ip + ".%s" % i
                if not IpPool.query.filter_by(ip=add_ip).first():
                    ippool = IpPool(ip=add_ip,
                                    netmask=ippool_form.netmask.data,
                                    gateway=ippool_form.gateway.data,
                                    subnet=ippool_form.subnet.data,
                                    site=ippool_form.site.data,
                                    client=ippool_form.client.data,
                                    remark=ippool_form.remark.data)
                    db.session.add(ippool)
                    db.session.commit()

                    value = ("ip:%s gateway:%s subnet:%s site:%s"
                             "client:%s remark:%s") % (
                                 ippool.ip, ippool.gateway, ippool.subnet,
                                 ippool.site, ippool.client, ippool.remark)
                    record_sql(current_user.username, u"创建", u"IP池", ippool.id,
                               "ip", value)

                else:
                    flash(u'添加失败 %s 已经添加' % add_ip)
                    break
            flash(u'IP添加成功')

        else:
            for key in ippool_form.errors.keys():
                flash(ippool_form.errors[key][0])

    if request.method == "GET":
        search = request.args.get('search', '')
        if search:
            # 搜索
            page = int(request.args.get('page', 1))
            sidebarclass = init__sidebar('edititem')
            res = search_res(IpPool, 'ip', search)
            if res:
                pagination = res.paginate(page, 100, False)
                items = pagination.items
                return render_template('cmdb/item.html',
                                       titles=titles,
                                       thead=thead,
                                       endpoint=endpoint,
                                       del_page=del_page,
                                       change_page=change_page,
                                       item_form=ippool_form,
                                       sidebarclass=sidebarclass,
                                       pagination=pagination,
                                       search_value=search,
                                       items=items)

    return render_template('cmdb/item.html',
                           titles=titles,
                           item_form=ippool_form,
                           sidebarclass=sidebarclass)
Exemplo n.º 29
0
def ippool():
    '''IP池'''
    role_Permission = getattr(Permission, current_user.role)
    ippool_form = IpPoolForm()
    sidebarclass = init__sidebar('edititem')
    if request.method == "POST" and \
            role_Permission >= Permission.ALTER_REPLY:
        sidebarclass = init__sidebar('additem')
        if ippool_form.validate_on_submit():
            ip_list = ippool_form.start_ip.data.split('.')
            fornt_ip = '.'.join(ip_list[:-1])
            start_ip = int(ip_list[-1]) 
            end_ip = int(ippool_form.end_ip.data) + 1
            for i in range(start_ip, end_ip):
                add_ip = fornt_ip + ".%s" % i
                if not IpPool.query.filter_by(ip=add_ip).first():
                    ippool = IpPool(
                        ip = add_ip,
                        netmask=ippool_form.netmask.data,
                        gateway=ippool_form.gateway.data,
                        subnet=ippool_form.subnet.data,
                        site=ippool_form.site.data,
                        client=ippool_form.client.data,
                        remark=ippool_form.remark.data
                    )
                    db.session.add(ippool)
                    db.session.commit()
                    
                    value = ("ip:%s gateway:%s subnet:%s site:%s"
                             "client:%s remark:%s"
                    ) % (ippool.ip, ippool.gateway, ippool.subnet,
                         ippool.site, ippool.client, ippool.remark)
                    record_sql(current_user.username, u"创建", u"IP池",
                               ippool.id, "ip", value)

                else:
                    flash(u'添加失败 %s 已经添加' % add_ip)
                    break
            flash(u'IP添加成功')    
             
        else:
            for key in ippool_form.errors.keys():
                flash(ippool_form.errors[key][0])

    if request.method == "GET":
        search = request.args.get('search', '')
        if search:
            # 搜索
            page = int(request.args.get('page', 1))
            sidebarclass = init__sidebar('edititem')
            res = search_res(IpPool, 'ip', search)
            if res:
                pagination = res.paginate(page, 100, False)
                items = pagination.items
                return render_template(
                    'cmdb/item.html', titles=titles, thead=thead, 
                    endpoint=endpoint, del_page=del_page, change_page=change_page,
                    item_form=ippool_form, sidebarclass=sidebarclass, pagination=pagination,
                    search_value=search, items=items
                )
    
    return render_template(
        'cmdb/item.html', titles = titles, item_form=ippool_form, sidebarclass=sidebarclass
    )
Exemplo n.º 30
0
def cabinet():
    '''机柜表'''
    role_Permission = getattr(Permission, current_user.role)
    cabinet_form = CabinetForm()
    sidebarclass = init__sidebar('edititem')
    if request.method == "POST" and \
            role_Permission >= Permission.ALTER_REPLY:
        sidebarclass = init__sidebar('additem')
        if cabinet_form.validate_on_submit():
            cabinet = Cabinet(an=cabinet_form.an.data,
                              wan_ip=cabinet_form.wan_ip.data,
                              lan_ip=cabinet_form.lan_ip.data,
                              site=cabinet_form.site.data,
                              rack=cabinet_form.rack.data,
                              seat=cabinet_form.seat.data,
                              bandwidth=cabinet_form.bandwidth.data,
                              up_link=cabinet_form.up_link.data,
                              height=cabinet_form.height.data,
                              brand=cabinet_form.brand.data,
                              model=cabinet_form.model.data,
                              sn=cabinet_form.sn.data,
                              sales=cabinet_form.sales.data,
                              client=cabinet_form.client.data,
                              start_time=cabinet_form.start_time.data,
                              expire_time=cabinet_form.expire_time.data,
                              remark=cabinet_form.remark.data)
            db.session.add(cabinet)
            db.session.commit()
            if cabinet_form.wan_ip.data:
                ip = IpPool.query.filter_by(
                    ip=cabinet_form.wan_ip.data).first()
                ip.client = cabinet_form.client.data
                db.session.add(ip)

            value = (
                "an:%s wan_ip:%s lan_ip:%s site:%s rack:%s seat:%s"
                "bandwidth:%s up_link:%s height:%s brand:%s model:%s"
                "sn:%s sales:%s client:%s start_time:%s expire_time%s remark:%s"
            ) % (cabinet.an, cabinet.wan_ip, cabinet.lan_ip, cabinet.site,
                 cabinet.rack, cabinet.seat, cabinet.bandwidth,
                 cabinet.up_link, cabinet.height, cabinet.brand, cabinet.model,
                 cabinet.sn, cabinet.sales, cabinet.client, cabinet.start_time,
                 cabinet.expire_time, cabinet.remark)
            record_sql(current_user.username, u"创建", u"机柜表", cabinet.id, "an",
                       value)

            flash(u'设备添加成功')
        else:
            for key in cabinet_form.errors.keys():
                flash(cabinet_form.errors[key][0])

    if request.method == "GET":
        search = request.args.get('search', '')
        if search:
            # 搜索
            page = int(request.args.get('page', 1))
            sidebarclass = init__sidebar('edititem')
            res = search_res(Cabinet, 'an', search)
            if res:
                pagination = res.paginate(page, 100, False)
                items = pagination.items
                return render_template('cmdb/item.html',
                                       titles=titles,
                                       thead=thead,
                                       endpoint=endpoint,
                                       del_page=del_page,
                                       change_page=change_page,
                                       item_form=cabinet_form,
                                       sidebarclass=sidebarclass,
                                       pagination=pagination,
                                       search_value=search,
                                       items=items)

    return render_template('cmdb/item.html',
                           titles=titles,
                           item_form=cabinet_form,
                           sidebarclass=sidebarclass)
Exemplo n.º 31
0
def cabinet():
    '''机柜表'''
    role_Permission = getattr(Permission, current_user.role)
    cabinet_form = CabinetForm()
    sidebarclass = init__sidebar('edititem')
    if request.method == "POST" and \
            role_Permission >= Permission.ALTER_REPLY:
        sidebarclass = init__sidebar('additem')
        if cabinet_form.validate_on_submit():
            cabinet = Cabinet(
                 an = cabinet_form.an.data,
                 wan_ip = cabinet_form.wan_ip.data,
                 lan_ip = cabinet_form.lan_ip.data,
                 site=cabinet_form.site.data,
                 rack=cabinet_form.rack.data,
                 seat=cabinet_form.seat.data,
                 bandwidth=cabinet_form.bandwidth.data,
                 up_link=cabinet_form.up_link.data,
                 height=cabinet_form.height.data,
                 brand=cabinet_form.brand.data,
                 model=cabinet_form.model.data,
                 sn=cabinet_form.sn.data,
                 sales=cabinet_form.sales.data,
                 client=cabinet_form.client.data,
                 start_time=cabinet_form.start_time.data,
                 expire_time=cabinet_form.expire_time.data,
                 remark=cabinet_form.remark.data
            )
            db.session.add(cabinet)
            db.session.commit()
            if cabinet_form.wan_ip.data:
                ip = IpPool.query.filter_by(ip=cabinet_form.wan_ip.data).first()
                ip.client = cabinet_form.client.data
                db.session.add(ip)

            value = ("an:%s wan_ip:%s lan_ip:%s site:%s rack:%s seat:%s"
                    "bandwidth:%s up_link:%s height:%s brand:%s model:%s"
                    "sn:%s sales:%s client:%s start_time:%s expire_time%s remark:%s"
            ) % (cabinet.an, cabinet.wan_ip, cabinet.lan_ip, cabinet.site, 
                 cabinet.rack, cabinet.seat, cabinet.bandwidth, cabinet.up_link,
                 cabinet.height, cabinet.brand, cabinet.model, cabinet.sn,
                 cabinet.sales, cabinet.client, cabinet.start_time, cabinet.expire_time,
                 cabinet.remark)
            record_sql(current_user.username, u"创建", u"机柜表", cabinet.id, "an", value)

            flash(u'设备添加成功')
        else:
            for key in cabinet_form.errors.keys():
                flash(cabinet_form.errors[key][0])

    if request.method == "GET":
        search = request.args.get('search', '')
        if search:
            # 搜索
            page = int(request.args.get('page', 1))
            sidebarclass = init__sidebar('edititem')
            res = search_res(Cabinet, 'an', search)
            if res:
                pagination = res.paginate(page, 100, False)
                items = pagination.items
                return render_template(
                    'cmdb/item.html', titles=titles, thead=thead, 
                    endpoint=endpoint, del_page=del_page, change_page=change_page,
                    item_form=cabinet_form, sidebarclass=sidebarclass, pagination=pagination,
                    search_value=search, items=items
                )
    
    return render_template(
        'cmdb/item.html', titles = titles, item_form=cabinet_form,
        sidebarclass=sidebarclass
    )
Exemplo n.º 32
0
def ipsubnet():
    '''IP子网'''
    role_Permission = getattr(Permission, current_user.role)
    ipsubnet_form = IpSubnetForm()
    sidebarclass = init__sidebar('edititem')
    if request.method == "POST" and \
            role_Permission >= Permission.ALTER_REPLY:
        sidebarclass = init__sidebar('additem')
        if ipsubnet_form.validate_on_submit():
            ipsubnet = IpSubnet(subnet=ipsubnet_form.subnet.data,
                                start_ip=ipsubnet_form.start_ip.data,
                                end_ip=ipsubnet_form.end_ip.data,
                                netmask=ipsubnet_form.netmask.data,
                                site=ipsubnet_form.site.data,
                                sales=ipsubnet_form.sales.data,
                                client=ipsubnet_form.client.data,
                                start_time=ipsubnet_form.start_time.data,
                                expire_time=ipsubnet_form.expire_time.data,
                                remark=ipsubnet_form.remark.data)
            db.session.add(ipsubnet)
            db.session.commit()
            value = ("subnet:%s start_ip:%s end_ip:%s netmask:%s"
                     "site:%s sales:%s client:%s start_time:%s"
                     "expire_time:%s remark:%s") % (
                         ipsubnet.subnet, ipsubnet.start_ip, ipsubnet.end_ip,
                         ipsubnet.netmask, ipsubnet.site, ipsubnet.sales,
                         ipsubnet.client, ipsubnet.start_time,
                         ipsubnet.expire_time, ipsubnet.remark)
            record_sql(current_user.username, u"创建", u"IP子网", ipsubnet.id,
                       "subnet", value)

            flash(u'IP子网添加成功')
        else:
            for key in ipsubnet_form.errors.keys():
                flash(ipsubnet_form.errors[key][0])

    if request.method == "GET":
        search = request.args.get('search', '')
        if search:
            # 搜索
            page = int(request.args.get('page', 1))
            sidebarclass = init__sidebar('edititem')
            res = search_res(IpSubnet, 'subnet', search)
            if res:
                pagination = res.paginate(page, 100, False)
                items = pagination.items
                return render_template('cmdb/item.html',
                                       titles=titles,
                                       thead=thead,
                                       endpoint=endpoint,
                                       del_page=del_page,
                                       change_page=change_page,
                                       item_form=ipsubnet_form,
                                       sidebarclass=sidebarclass,
                                       pagination=pagination,
                                       search_value=search,
                                       items=items)

    return render_template('cmdb/item.html',
                           titles=titles,
                           item_form=ipsubnet_form,
                           sidebarclass=sidebarclass)