Example #1
0
File: __init__.py Project: hmpf/nav
def netbox_list(request):
    """Controller for showing all netboxes"""
    info = NetboxInfo()
    query = (Netbox.objects.select_related(
        "room", "category", "type",
        "organization").prefetch_related("profiles").annotate(
            profile=ArrayAgg("profiles__name")))
    filter_form = NetboxFilterForm(request.GET)
    value_list = (
        'sysname',
        'room',
        'ip',
        'category',
        'organization',
        'profile',
        'type__name',
    )
    return render_list(
        request,
        query,
        value_list,
        'seeddb-netbox-edit',
        edit_url_attr='pk',
        filter_form=filter_form,
        template='seeddb/list_netbox.html',
        extra_context=info.template_context,
    )
Example #2
0
File: __init__.py Project: hmpf/nav
def patch_list(request):
    """The view used when listing all patches"""
    query = Patch.objects.none()
    info = PatchInfo()
    value_list = (
        'cabling__room',
        'interface__netbox__sysname',
        'interface__ifname',
        'interface__ifalias',
        'cabling__jack',
        'split',
    )

    context = info.template_context
    context.update({
        'rooms': Room.objects.all(),
        'netboxes': Netbox.objects.all()
    })
    return render_list(
        request,
        query,
        value_list,
        'seeddb-patch-edit',
        template='seeddb/list_patches.html',
        extra_context=context,
    )
Example #3
0
def vlan_list(request):
    info = VlanInfo()
    query = (Vlan.objects.extra(
        select={
            'prefixes': ("array_to_string("
                         "ARRAY(SELECT netaddr FROM prefix "
                         "WHERE vlanid=vlan.vlanid), ', ')")
        }).select_related("net_type", "organization", "usage").all())
    filter_form = VlanFilterForm(request.GET)
    value_list = (
        'net_type',
        'vlan',
        'organization',
        'usage',
        'net_ident',
        'description',
        'prefixes',
    )
    return render_list(
        request,
        query,
        value_list,
        'seeddb-vlan-edit',
        filter_form=filter_form,
        extra_context=info.template_context,
    )
Example #4
0
def patch_list(request):
    query = Patch.objects.all()
    info = PatchInfo()
    value_list = (
        'interface__netbox__sysname', 'interface__ifname',
        'cabling__room', 'cabling__jack', 'split')
    return render_list(request, query, value_list, 'seeddb-patch-edit',
                       extra_context=info.template_context)
Example #5
0
def location_list(request):
    info = LocationInfo()
    value_list = ('id', 'description')
    query = Location.objects.all()
    return render_list(request,
                       query,
                       value_list,
                       'seeddb-location-edit',
                       extra_context=info.template_context)
Example #6
0
def netboxtype_list(request):
    info = NetboxTypeInfo()
    query = NetboxType.objects.all()
    filter_form = NetboxTypeFilterForm(request.GET)
    value_list = (
        'name', 'vendor', 'description', 'sysobjectid')
    return render_list(request, query, value_list, 'seeddb-type-edit',
                       filter_form=filter_form,
                       extra_context=info.template_context)
Example #7
0
def netboxgroup_list(request):
    info = NetboxGroupInfo()
    query = NetboxGroup.objects.all()
    value_list = ('id', 'description')
    return render_list(request,
                       query,
                       value_list,
                       'seeddb-netboxgroup-edit',
                       extra_context=info.template_context)
Example #8
0
def organization_list(request):
    info = OrganizationInfo()
    query = Organization.objects.all()
    filter_form = OrganizationFilterForm(request.GET)
    value_list = (
        'id', 'parent', 'description', 'data')
    return render_list(request, query, value_list, 'seeddb-organization-edit',
                       filter_form=filter_form,
                       extra_context=info.template_context)
Example #9
0
def prefix_list(request):
    """Controller for listing prefixes"""
    info = PrefixInfo()
    query = Prefix.objects.filter(vlan__net_type__edit=True)
    value_list = (
        'net_address', 'vlan__net_type', 'vlan__organization',
        'vlan__net_ident', 'vlan__usage', 'vlan__description', 'vlan__vlan')
    return render_list(request, query, value_list, 'seeddb-prefix-edit',
                       extra_context=info.template_context)
Example #10
0
def vendor_list(request):
    info = VendorInfo()
    query = Vendor.objects.all()
    value_list = ('id', )
    return render_list(request,
                       query,
                       value_list,
                       None,
                       extra_context=info.template_context)
Example #11
0
def prefix_list(request):
    """Controller for listing prefixes"""
    info = PrefixInfo()
    query = Prefix.objects.filter(vlan__net_type__edit=True)
    value_list = (
        'net_address', 'vlan__net_type', 'vlan__organization',
        'vlan__net_ident', 'vlan__usage', 'vlan__description', 'vlan__vlan')
    return render_list(request, query, value_list, 'seeddb-prefix-edit',
                       extra_context=info.template_context)
Example #12
0
def service_list(request):
    info = ServiceInfo()
    query = Service.objects.all()
    value_list = ('netbox__sysname', 'handler', 'version')
    return render_list(request,
                       query,
                       value_list,
                       'seeddb-service-edit',
                       extra_context=info.template_context)
Example #13
0
def room_list(request):
    """Controller for listing rooms. Used in room()"""
    info = RoomInfo()
    value_list = (
        'id', 'location', 'description', 'position', 'data')
    query = Room.objects.all()
    filter_form = RoomFilterForm(request.GET)
    return render_list(request, query, value_list, 'seeddb-room-edit',
                       filter_form=filter_form,
                       extra_context=info.template_context)
Example #14
0
def patch_list(request):
    query = Patch.objects.all()
    info = PatchInfo()
    value_list = ('interface__netbox__sysname', 'interface__ifname',
                  'cabling__room', 'cabling__jack', 'split')
    return render_list(request,
                       query,
                       value_list,
                       'seeddb-patch-edit',
                       extra_context=info.template_context)
Example #15
0
def room_list(request):
    """Controller for listing rooms. Used in room()"""
    info = RoomInfo()
    value_list = (
        'id', 'location', 'description', 'position', 'data')
    query = Room.objects.all()
    filter_form = RoomFilterForm(request.GET)
    return render_list(request, query, value_list, 'seeddb-room-edit',
                       filter_form=filter_form,
                       extra_context=info.template_context)
Example #16
0
def vendor_list(request):
    """The view used when listing all vendors"""
    info = VendorInfo()
    query = Vendor.objects.all()
    value_list = ('id', )
    return render_list(request,
                       query,
                       value_list,
                       None,
                       extra_context=info.template_context)
Example #17
0
def usage_list(request):
    """The view used when listing all usages"""
    info = UsageInfo()
    query = Usage.objects.all()
    value_list = ('id', 'description')
    return render_list(request,
                       query,
                       value_list,
                       'seeddb-usage-edit',
                       extra_context=info.template_context)
Example #18
0
def organization_list(request):
    info = OrganizationInfo()
    query = Organization.objects.all()
    filter_form = OrganizationFilterForm(request.GET)
    value_list = ('id', 'parent', 'description', 'data')
    return render_list(request,
                       query,
                       value_list,
                       'seeddb-organization-edit',
                       filter_form=filter_form,
                       extra_context=info.template_context)
Example #19
0
def netboxtype_list(request):
    info = NetboxTypeInfo()
    query = NetboxType.objects.all()
    filter_form = NetboxTypeFilterForm(request.GET)
    value_list = ('name', 'vendor', 'description', 'sysobjectid')
    return render_list(request,
                       query,
                       value_list,
                       'seeddb-type-edit',
                       filter_form=filter_form,
                       extra_context=info.template_context)
Example #20
0
def management_profile_list(request):
    """Controller for listing management profiles. Used in
    management_profile()"""
    info = ManagementProfileInfo()
    value_list = (
        'name', 'description', 'get_protocol_display')
    query = ManagementProfile.objects.all()
    filter_form = ManagementProfileFilterForm(request.GET)
    return render_list(request, query, value_list,
                       edit_url='seeddb-management-profile-edit',
                       filter_form=filter_form,
                       extra_context=info.template_context)
Example #21
0
def cabling_list(request):
    info = CablingInfo()
    query = Cabling.objects.all()
    filter_form = CablingFilterForm(request.GET)
    value_list = ('room', 'jack', 'building', 'target_room', 'category',
                  'description')
    return render_list(request,
                       query,
                       value_list,
                       'seeddb-cabling-edit',
                       filter_form=filter_form,
                       extra_context=info.template_context)
Example #22
0
def cabling_list(request):
    info = CablingInfo()
    query = Cabling.objects.none()  # Everything is fetched by API
    value_list = ('room', 'jack', 'building', 'target_room', 'category',
                  'description')
    context = info.template_context
    context.update({'rooms': Room.objects.all().order_by('id')})
    return render_list(request,
                       query,
                       value_list,
                       'seeddb-cabling-edit',
                       template='seeddb/list_cables.html',
                       extra_context=context)
Example #23
0
def management_profile_list(request):
    """Controller for listing management profiles. Used in
    management_profile()"""
    info = ManagementProfileInfo()
    value_list = ( 'name', 'description', 'get_protocol_display', 'related')
    netbox_link = reverse('seeddb-netbox')
    queryset = ManagementProfile.objects.annotate(related=Count('netbox'))
    filter_form = ManagementProfileFilterForm(request.GET)
    return render_list(request, queryset, value_list,
                       edit_url='seeddb-management-profile-edit',
                       filter_form=filter_form,
                       extra_context=info.template_context,
                       add_related=add_netbox_links)
Example #24
0
def vlan_list(request):
    info = VlanInfo()
    query = Vlan.objects.extra(
        select={
            'prefixes': "array_to_string(ARRAY(SELECT netaddr FROM prefix WHERE vlanid=vlan.vlanid), ', ')"
        }
    ).all()
    filter_form = VlanFilterForm(request.GET)
    value_list = (
        'net_type', 'vlan', 'organization', 'usage', 'net_ident',
        'description', 'prefixes')
    return render_list(request, query, value_list, 'seeddb-vlan-edit',
                       filter_form=filter_form,
                       extra_context=info.template_context)
Example #25
0
def netbox_list(request):
    """Controller for showing all netboxes"""
    info = NetboxInfo()
    query = Netbox.objects.all()
    filter_form = NetboxFilterForm(request.GET)
    value_list = ('sysname', 'room', 'ip', 'category', 'organization',
                  'read_only', 'read_write', 'snmp_version', 'type__name')
    return render_list(request,
                       query,
                       value_list,
                       'seeddb-netbox-edit',
                       edit_url_attr='pk',
                       filter_form=filter_form,
                       template='seeddb/list_netbox.html',
                       extra_context=info.template_context,
                       censor_list=create_index_list(
                           value_list, ['read_only', 'read_write']))
Example #26
0
def usage_list(request):
    info = UsageInfo()
    query = Usage.objects.all()
    value_list = ('id', 'description')
    return render_list(request, query, value_list, 'seeddb-usage-edit',
                       extra_context=info.template_context)
Example #27
0
def service_list(request):
    info = ServiceInfo()
    query = Service.objects.all()
    value_list = ('netbox__sysname', 'handler', 'version')
    return render_list(request, query, value_list, 'seeddb-service-edit',
                       extra_context=info.template_context)
Example #28
0
def vendor_list(request):
    info = VendorInfo()
    query = Vendor.objects.all()
    value_list = ('id',)
    return render_list(request, query, value_list, None,
                       extra_context=info.template_context)
Example #29
0
def location_list(request):
    info = LocationInfo()
    value_list = ('id', 'description')
    query = Location.objects.all()
    return render_list(request, query, value_list, 'seeddb-location-edit',
                       extra_context=info.template_context)