Пример #1
0
def change_password(request):

    lists = dict()

    if request.method == 'GET':

        lists['change_pass_form'] = ChangePassForm()
        return render_to_response_ajax(AJAX_NEW_PASS, lists, context_instance=RequestContext(request))

    if request.method == 'POST':

        change_pass_form = ChangePassForm()

        try:

            change_pass_form = ChangePassForm(request.POST)

            if change_pass_form.is_valid():

                auth = AuthSession(request.session)
                client = auth.get_clientFactory()

                new_password = change_pass_form.cleaned_data['new_pass']
                user = auth.get_user()
                user_id = user.get_id()
                user_current_password = user.get_password()

                client.create_usuario().change_password(
                    user_id, user_current_password, new_password)
                user.set_password(new_password)

                messages.add_message(
                    request, messages.SUCCESS, auth_messages.get("pass_change_sucess"))

                # Returns HTML
                response = HttpResponse(loader.render_to_string(
                    AJAX_NEW_PASS, lists, context_instance=RequestContext(request)))
                # Send response status with error
                response.status_code = 200
                return response

            else:

                lists['change_pass_form'] = change_pass_form
                # Returns HTML
                response = HttpResponse(loader.render_to_string(
                    AJAX_NEW_PASS, lists, context_instance=RequestContext(request)))
                # Send response status with error
                response.status_code = 412
                return response

        except NetworkAPIClientError, e:
            logger.error(e)
            messages.add_message(request, messages.ERROR, e)

            lists['change_pass_form'] = change_pass_form
            return render_to_response_ajax(AJAX_NEW_PASS, lists, context_instance=RequestContext(request))
Пример #2
0
def ajax_autocomplete_environment(request):
    auth = AuthSession(request.session)
    client = auth.get_clientFactory()

    env_list = dict()

    try:
        data = {
            "start_record": 0,
            "end_record": 30000,
            "asorting_cols": ["divisao_dc", "ambiente_logico", "grupo_l3"],
            "searchable_columns": [],
            "custom_search": "",
            "extends_search": []
        }

        envs = client.create_api_environment().search(fields=["id", "name"],
                                                      search=data)
        env_list = cache_environment_list(envs.get('environments'))

    except NetworkAPIClientError as e:
        logger.error(e)
        messages.add_message(request, messages.ERROR, e)
    except BaseException as e:
        logger.error(e)
        messages.add_message(request, messages.ERROR, e)

    return render_to_response_ajax(templates.AJAX_AUTOCOMPLETE_ENVIRONMENT,
                                   env_list,
                                   context_instance=RequestContext(request))
Пример #3
0
def ajax_autocomplete_environment_l3(request):
    auth = AuthSession(request.session)
    client = auth.get_clientFactory()

    env_list = dict()

    try:
        data = {
            "start_record": 0,
            "end_record": 1000,
            "asorting_cols": ["nome"],
            "searchable_columns": [],
            "custom_search": "",
            "extends_search": []
        }
        envs = client.create_api_environment_l3().search(search=data)
        #Desativando cache para ambiente físico
        #env_list = cache_environment_l3(envs.get('l3_environments'))

        env_list = dict(list=envs.get('l3_environments'))

    except NetworkAPIClientError as e:
        logger.error(e)
        messages.add_message(request, messages.ERROR, e)
    except BaseException as e:
        logger.error(e)
        messages.add_message(request, messages.ERROR, e)

    return render_to_response_ajax(templates.AJAX_AUTOCOMPLETE_ENVIRONMENT,
                                   env_list,
                                   context_instance=RequestContext(request))
Пример #4
0
def ajax_autocomplete_acl_path(request):

    path_list = dict()

    try:
        # Get user auth
        auth = AuthSession(request.session)
        environment = auth.get_clientFactory().create_ambiente()

        paths = environment.list_acl_path().get(
            "acl_paths") if environment.list_acl_path() else list()
        path_list['list'] = paths

    except NetworkAPIClientError as e:
        logger.error(e)
        messages.add_message(request, messages.ERROR, e)
    except BaseException as e:
        logger.error(e)
        messages.add_message(request, messages.ERROR, e)

    return render_to_response_ajax(AJAX_AUTOCOMPLETE_LIST, path_list, context_instance=RequestContext(request))
Пример #5
0
    to_rem = list(set(old) - set(new))

    return to_add, to_rem


@log
@login_required
@has_perm([{"permission": ENVIRONMENT_VIP, "read": True}])
def ajax_autocomplete_users(request):
    try:

        user_list = dict()

        # Get user auth
        auth = AuthSession(request.session)
        user = auth.get_clientFactory().create_usuario()

        # Get list of equipments from cache
        user_list = list_users(user)

    except NetworkAPIClientError, e:
        logger.error(e)
        messages.add_message(request, messages.ERROR, e)
    except BaseException, e:
        logger.error(e)
        messages.add_message(request, messages.ERROR, e)

    return render_to_response_ajax(AJAX_AUTOCOMPLETE_LIST,
                                   user_list,
                                   context_instance=RequestContext(request))
Пример #6
0
    to_add = list(set(new) - set(old))
    to_rem = list(set(old) - set(new))

    return to_add, to_rem


@log
@login_required
@has_perm([{"permission": ENVIRONMENT_VIP, "read": True}])
def ajax_autocomplete_users(request):
    try:

        user_list = dict()

        # Get user auth
        auth = AuthSession(request.session)
        user = auth.get_clientFactory().create_usuario()

        # Get list of equipments from cache
        user_list = list_users(user)

    except NetworkAPIClientError, e:
        logger.error(e)
        messages.add_message(request, messages.ERROR, e)
    except BaseException, e:
        logger.error(e)
        messages.add_message(request, messages.ERROR, e)

    return render_to_response_ajax(AJAX_AUTOCOMPLETE_LIST, user_list, context_instance=RequestContext(request))
            "end_record": 1000,
            "asorting_cols": ["internal_name"],
            "searchable_columns": [],
            "custom_search": "",
            "extends_search": []
        }
        vrfs = client.create_api_vrf().search(search=data)
        vrf_list = cache_vrf_list(vrfs.get('vrfs'))
    except NetworkAPIClientError, e:
        logger.error(e)
        messages.add_message(request, messages.ERROR, e)
    except BaseException, e:
        logger.error(e)
        messages.add_message(request, messages.ERROR, e)

    return render_to_response_ajax(AJAX_VRF, vrf_list, context_instance=RequestContext(request))


@log
@login_required
@has_perm([{"permission": ADMINISTRATION, "read": True}, {"permission": ADMINISTRATION, "write": True}])
def add_vrf(request):
    """ function to handle the creation of a new vrf
    """

    try:

        auth = AuthSession(request.session)
        client = auth.get_clientFactory()

        if request.method == 'POST':
Пример #8
0
    auth = AuthSession(request.session)
    client = auth.get_clientFactory()

    env_list = dict()

    try:
        data = {
            "start_record": 0,
            "end_record": 30000,
            "asorting_cols": [],
            "searchable_columns": [],
            "custom_search": "",
            "extends_search": []
        }

        envs = client.create_api_environment().search(
            fields=["name", "min_num_vlan_1", "max_num_vlan_1"], search=data)
        env_list = cache_environment_list(envs.get('environments'))

    except NetworkAPIClientError, e:
        logger.error(e)
        messages.add_message(request, messages.ERROR, e)
    except BaseException, e:
        logger.error(e)
        messages.add_message(request, messages.ERROR, e)

    return render_to_response_ajax(AJAX_AUTOCOMPLETE_ENVIRONMENT,
                                   env_list,
                                   context_instance=RequestContext(request))
Пример #9
0
            lists['connect_form'] = ConnectFormV3(equipment[0],
                                                  interface_list,
                                                  initial={'equip_name': equipment[0].get('name'),
                                                           'equip_id': equipment[0].get('id')})
            lists['equipment'] = equipment[0]

        except Exception:
                if all_interfaces:
                    allInt = list()
                    for i in interface_list:
                        allInt.append({'id': i.get('id'), 'interface': i.get('interface')})
                    lists['all_interfaces'] = allInt

                    return render_to_response_ajax(AJAX_LIST_INTERFACES,
                                                   lists,
                                                   context_instance=RequestContext(request))

    elif request.method == "POST":

        equip_id = request.POST['equip_id']

        search_equipment = client.create_api_equipment().get([equip_id])
        equipment = search_equipment.get('equipments')

        interface_list = list()

        data = dict()
        data["start_record"] = 0
        data["end_record"] = 1000
        data["asorting_cols"] = ["id"]
Пример #10
0
        # Get user auth
        auth = AuthSession(request.session)
        vlan = auth.get_clientFactory().create_vlan()

        # Get list of vlans from cache
        vlan_list = cache_list_vlans(vlan)

    except NetworkAPIClientError, e:
        logger.error(e)
        messages.add_message(request, messages.ERROR, e)
    except BaseException, e:
        logger.error(e)
        messages.add_message(request, messages.ERROR, e)

    return render_to_response_ajax(AJAX_VLAN_AUTOCOMPLETE, vlan_list, context_instance=RequestContext(request))


@log
@login_required
@has_perm([{"permission": VLAN_MANAGEMENT, "read": True}, {"permission": ENVIRONMENT_MANAGEMENT, "read": True}, {"permission": NETWORK_TYPE_MANAGEMENT, "read": True}])
def search_list(request, id_vlan='0', sf_number='0', sf_name='0', sf_environment='0', sf_nettype='0', sf_subnet='0', sf_ipversion='0', sf_network='0', sf_iexact='0', sf_acl='0'):

    try:

        lists = dict()
        lists["delete_form"] = DeleteForm()

        # Get user
        auth = AuthSession(request.session)
        client = auth.get_clientFactory()
Пример #11
0
    auth = AuthSession(request.session)
    client = auth.get_clientFactory()

    equip_list = dict()

    try:
        data = {
            "start_record": 0,
            "end_record": 30000,
            "asorting_cols": [],
            "searchable_columns": [],
            "custom_search": "",
            "extends_search": []
        }

        equipment = client.create_api_equipment().search(fields=["name"],
                                                         search=data)

        equip_list = cache_equipment_list(equipment.get('equipments'))

    except NetworkAPIClientError, e:
        logger.error(e)
        messages.add_message(request, messages.ERROR, e)
    except BaseException, e:
        logger.error(e)
        messages.add_message(request, messages.ERROR, e)

    return render_to_response_ajax(AJAX_AUTOCOMPLETE_EQUIPMENTS,
                                   equip_list,
                                   context_instance=RequestContext(request))
Пример #12
0
            lists['connect_form'] = ConnectFormV3(equipment[0],
                                                  interface_list,
                                                  initial={'equip_name': equipment[0].get('name'),
                                                           'equip_id': equipment[0].get('id')})
            lists['equipment'] = equipment[0]

        except Exception:
                if all_interfaces:
                    allInt = list()
                    for i in interface_list:
                        allInt.append({'id': i.get('id'), 'interface': i.get('interface')})
                    lists['all_interfaces'] = allInt

                    return render_to_response_ajax(AJAX_LIST_INTERFACES,
                                                   lists,
                                                   context_instance=RequestContext(request))

    elif request.method == "POST":

        equip_id = request.POST['equip_id']

        search_equipment = client.create_api_equipment().get([equip_id])
        equipment = search_equipment.get('equipments')

        interface_list = list()

        data = dict()
        data["start_record"] = 0
        data["end_record"] = 1000
        data["asorting_cols"] = ["id"]
Пример #13
0
@log
@login_required
def ajax_autocomplete_environment(request):

    auth = AuthSession(request.session)
    client = auth.get_clientFactory()

    env_list = dict()

    try:
        data = {
            "start_record": 0,
            "end_record": 30000,
            "asorting_cols": [],
            "searchable_columns": [],
            "custom_search": "",
            "extends_search": []
        }

        envs = client.create_api_environment().search(fields=["name", "min_num_vlan_1", "max_num_vlan_1"], search=data)
        env_list = cache_environment_list(envs.get('environments'))

    except NetworkAPIClientError, e:
        logger.error(e)
        messages.add_message(request, messages.ERROR, e)
    except BaseException, e:
        logger.error(e)
        messages.add_message(request, messages.ERROR, e)

    return render_to_response_ajax(AJAX_AUTOCOMPLETE_ENVIRONMENT, env_list, context_instance=RequestContext(request))
Пример #14
0
def connect_interfaces(request,
                       id_interface=None,
                       front_or_back=None,
                       all_interfaces=None):

    auth = AuthSession(request.session)
    client = auth.get_clientFactory()

    lists = dict()
    lists['id_interface'] = id_interface
    lists['front_or_back'] = front_or_back

    if request.method == "GET":

        if request.GET.__contains__('search_equip'):
            equipment_name = request.GET.get('search_equip')
            logger.debug(equipment_name)
        else:
            try:
                int(all_interfaces)
                return render_to_response(NEW_INTERFACE_CONNECT_FORM, lists,
                                          RequestContext(request))
            except Exception:
                equipment_name = all_interfaces

        data = dict()
        data["start_record"] = 0
        data["end_record"] = 1000
        data["asorting_cols"] = ["id"]
        data["searchable_columns"] = ["nome"]
        data["custom_search"] = equipment_name
        data["extends_search"] = []

        equipment = list()

        try:
            search_equipment = client.create_api_equipment().search(
                search=data)
            equipment = search_equipment.get('equipments')

        except NetworkAPIClientError as e:
            logger.error(e)
            messages.add_message(request, messages.ERROR, e)
        except Exception as e:
            logger.error(e)
            messages.add_message(request, messages.ERROR, e)

        interface_list = list()

        for equip in equipment:

            data["searchable_columns"] = [""]
            data["custom_search"] = ""
            data["extends_search"] = [{'equipamento__id': equip.get('id')}]

            try:
                search_interface = client.create_api_interface_request(
                ).search(fields=[
                    'id', 'interface', 'front_interface__basic',
                    'back_interface__basic'
                ],
                         search=data)

                interface_list = search_interface.get('interfaces')
            except NetworkAPIClientError as e:
                logger.error(e)
                messages.add_message(request, messages.ERROR, e)
            except Exception as e:
                logger.error(e)
                messages.add_message(request, messages.ERROR, e)

        if not interface_list:
            logger.error('Equipment do not have interfaces availables.')
            messages.add_message(
                request, messages.ERROR,
                'Equipment do not have interfaces availables.')
            return render_to_response(NEW_INTERFACE_CONNECT_FORM, lists,
                                      RequestContext(request))

        try:
            int(front_or_back)
            for i in interface_list:
                if front_or_back and i.get(
                        'front_interface') or not front_or_back and i.get(
                            'back_interface'):
                    interface_list.remove(i)

            lists['connect_form'] = ConnectFormV3(equipment[0],
                                                  interface_list,
                                                  initial={
                                                      'equip_name':
                                                      equipment[0].get('name'),
                                                      'equip_id':
                                                      equipment[0].get('id')
                                                  })
            lists['equipment'] = equipment[0]

        except Exception:
            if all_interfaces:
                allInt = list()
                for i in interface_list:
                    allInt.append({
                        'id': i.get('id'),
                        'interface': i.get('interface')
                    })
                lists['all_interfaces'] = allInt

                return render_to_response_ajax(
                    AJAX_LIST_INTERFACES,
                    lists,
                    context_instance=RequestContext(request))

    elif request.method == "POST":

        equip_id = request.POST['equip_id']

        search_equipment = client.create_api_equipment().get([equip_id])
        equipment = search_equipment.get('equipments')

        interface_list = list()

        data = dict()
        data["start_record"] = 0
        data["end_record"] = 1000
        data["asorting_cols"] = ["id"]
        data["searchable_columns"] = [""]
        data["custom_search"] = ""

        for equip in equipment:

            data["extends_search"] = [{'equipamento__id': equip.get('id')}]

            try:
                search_interface = client.create_api_interface_request(
                ).search(fields=[
                    'id', 'interface', 'front_interface__basic',
                    'back_interface__basic'
                ],
                         search=data)

                interface_list = search_interface.get('interfaces')

            except NetworkAPIClientError as e:
                logger.error(e)
                messages.add_message(request, messages.ERROR, e)
            except Exception as e:
                logger.error(e)
                messages.add_message(request, messages.ERROR, e)

        for i in interface_list:
            if front_or_back and i.get(
                    'front_interface') or not front_or_back and i.get(
                        'back_interface'):
                interface_list.remove(i)

        form = ConnectFormV3(equipment[0], interface_list, request.POST)

        if form.is_valid():

            front = form.cleaned_data['front']
            back = form.cleaned_data['back']

            link_a = "front" if front_or_back else "back"
            interface_a = dict(link=link_a, id=id_interface)

            if front:
                interface_b = dict(link="front", id=front)
            else:
                interface_b = dict(link="back", id=back)

            try:
                client.create_api_interface_request().connecting_interfaces(
                    [interface_a, interface_b])
                messages.add_message(
                    request, messages.SUCCESS,
                    equip_interface_messages.get("success_connect"))
            except NetworkAPIClientError as e:
                logger.error(e)
                messages.add_message(request, messages.ERROR,
                                     'Erro linkando as interfaces: %s' % e)
            except Exception as e:
                logger.error(e)
                messages.add_message(request, messages.ERROR,
                                     'Erro linkando as interfaces: %s' % e)

            response = HttpResponseRedirect(
                reverse("interface.edit", args=[id_interface]))
            response.status_code = 278

            return response

        else:
            lists['connect_form'] = form
            lists['equipment'] = equipment[0]

    return render_to_response(NEW_INTERFACE_CONNECT_FORM, lists,
                              RequestContext(request))
Пример #15
0
@login_required
def ajax_autocomplete_equipment(request):

    auth = AuthSession(request.session)
    client = auth.get_clientFactory()

    equip_list = dict()

    try:
        data = {
            "start_record": 0,
            "end_record": 30000,
            "asorting_cols": [],
            "searchable_columns": [],
            "custom_search": "",
            "extends_search": []
        }

        equipment = client.create_api_equipment().search(fields=["name"], search=data)

        equip_list = cache_equipment_list(equipment.get('equipments'))

    except NetworkAPIClientError, e:
        logger.error(e)
        messages.add_message(request, messages.ERROR, e)
    except BaseException, e:
        logger.error(e)
        messages.add_message(request, messages.ERROR, e)

    return render_to_response_ajax(AJAX_AUTOCOMPLETE_EQUIPMENTS, equip_list, context_instance=RequestContext(request))