def add_form(request): lists = dict() try: if request.method == 'GET': auth = AuthSession(request.session) client = auth.get_clientFactory() if not request.GET.__contains__('equip_name'): form = SearchEquipForm() else: form = SearchEquipForm(request.GET) if form.is_valid(): name_equip = form.cleaned_data['equip_name'] equip = client.create_equipamento().listar_por_nome(name_equip) id_equip = equip.get('equipamento').get('id') protocol_list = client.create_tipo_acesso().listar() lists['formCad'] = formCad = EquipAccessForm(protocol_list) formCad.fields['id_equip'].initial = id_equip formCad.fields['name_equip'].initial = name_equip lists['form'] = form return render_to_response(EQUIPMENTACESS_FORM, lists, context_instance=RequestContext(request)) if request.method == 'POST': auth = AuthSession(request.session) client = auth.get_clientFactory() form = SearchEquipForm() form.fields['equip_name'].initial = request.POST['name_equip'] protocol_list = client.create_tipo_acesso().listar() formCad = EquipAccessForm(protocol_list, request.POST) if formCad.is_valid(): user = formCad.cleaned_data['user'] host = formCad.cleaned_data['host'] password = formCad.cleaned_data['password'] second_password = formCad.cleaned_data['second_password'] equip = formCad.cleaned_data['id_equip'] protocol = formCad.cleaned_data['protocol'] try: client.create_equipamento_acesso().inserir( equip, host, user, password, protocol, second_password) messages.add_message( request, messages.SUCCESS, equip_access_messages.get("success_insert")) return search_list_param(request, equip) except EquipamentoAcessoError, e: messages.add_message( request, messages.ERROR, equip_access_messages.get("already_association")) except NetworkAPIClientError, e: messages.add_message(request, messages.ERROR, e)
def edit_form(request, id_group_user): try: lists = dict() lists['form'] = GroupUserForm() if request.method == 'POST': auth = AuthSession(request.session) client = auth.get_clientFactory() id_group = int(id_group_user) form = GroupUserForm(request.POST) lists['form'] = form lists['action'] = reverse("group-user.edit", args=[id_group]) if form.is_valid(): id_group_user = form.cleaned_data['id_group_user'] name = form.cleaned_data['name'] read = PERMISSION.get(form.cleaned_data['read']) write = PERMISSION.get(form.cleaned_data['write']) edition = PERMISSION.get(form.cleaned_data['edition']) delete = PERMISSION.get(form.cleaned_data['delete']) try: client.create_grupo_usuario().alterar( id_group_user, name, read, write, edition, delete) messages.add_message( request, messages.SUCCESS, group_user_messages.get("success_edit")) return redirect('group-user.list') except NetworkAPIClientError, e: messages.add_message(request, messages.ERROR, e) return render_to_response(GROUPUSER_FORM, lists, context_instance=RequestContext(request)) id_group = int(id_group_user) auth = AuthSession(request.session) client = auth.get_clientFactory() group_user = client.create_grupo_usuario().search(id_group) if group_user is None: messages.add_message( request, messages.ERROR, group_user_messages.get("invalid_group_user")) return redirect('group-user.list') group_user = group_user.get('user_group') # Set Group User data initial = {'id_group_user': group_user.get('id'), 'name': group_user.get('nome'), 'read': get_permission(group_user.get('leitura')), 'write': get_permission( group_user.get('escrita')), 'edition': get_permission(group_user.get('edicao')), 'delete': get_permission(group_user.get('exclusao'))} form = GroupUserForm(initial=initial) lists['form'] = form lists['action'] = reverse("group-user.edit", args=[id_group])
def edit_form(request, id_optionvip): try: lists = dict() lists['form'] = OptionVipForm() if request.method == 'POST': auth = AuthSession(request.session) client = auth.get_clientFactory() id_ovip = int(id_optionvip) form = OptionVipForm(request.POST) lists['form'] = form lists['action'] = reverse("option-vip.edit", args=[id_ovip]) if form.is_valid(): id_option = form.cleaned_data['id_option'] name_option = form.cleaned_data['name_option'] type_option = form.cleaned_data['type_option'] try: client.create_option_vip().alter( id_option, type_option, name_option) messages.add_message( request, messages.SUCCESS, option_vip_messages.get("success_edit")) return redirect('option-vip.list') except NetworkAPIClientError, e: messages.add_message(request, messages.ERROR, e) return render_to_response(OPTIONVIP_FORM, lists, context_instance=RequestContext(request)) id_ovip = int(id_optionvip) auth = AuthSession(request.session) client = auth.get_clientFactory() option_vip = client.create_option_vip().search(id_ovip) if option_vip is None: messages.add_message( request, messages.ERROR, option_vip_messages.get("invalid_option_vip")) return redirect('option-vip.list') option_vip = option_vip.get('option_vip') # Set Option VIP data initial = {'id_option': option_vip.get('id'), 'name_option': option_vip.get( 'nome_opcao_txt'), 'type_option': option_vip.get('tipo_opcao')} form = OptionVipForm(initial=initial) lists['form'] = form lists['action'] = reverse("option-vip.edit", args=[id_ovip])
def edit_form(request, id_group_equipament): try: lists = dict() if request.method == 'POST': auth = AuthSession(request.session) client = auth.get_clientFactory() id_egroup = int(id_group_equipament) form = GroupEquipForm(request.POST) lists['form'] = form lists['action'] = reverse("group-equip.edit", args=[id_egroup]) if form.is_valid(): id = form.cleaned_data['id'] name = form.cleaned_data['name'] try: client.create_grupo_equipamento().alterar(id, name) messages.add_message( request, messages.SUCCESS, group_equip_messages.get("success_edit")) return redirect('group-equip.list') except NetworkAPIClientError, e: messages.add_message(request, messages.ERROR, e) return render_to_response(GROUP_EQUIPMENT_FORM, lists, context_instance=RequestContext(request)) id_egroup = int(id_group_equipament) auth = AuthSession(request.session) client = auth.get_clientFactory() egroup = client.create_grupo_equipamento().search(id_egroup) if egroup is None: messages.add_message( request, messages.ERROR, group_equip_messages.get("invalid_group_equipament")) return redirect('group-equip.list') egroup = egroup.get('group_equipament') # Set Group Equipament data initial = {'id': egroup.get('id'), 'name': egroup.get('nome')} form = GroupEquipForm(initial=initial) lists['form'] = form lists['action'] = reverse("group-equip.edit", args=[id_egroup])
def add_configuration(request, id_environment): context = dict() try: auth = AuthSession(request.session) client = auth.get_clientFactory() net_type_list = client.create_tipo_rede().listar() form = IpConfigForm(net_type_list, request.POST or None) # Get user auth auth = AuthSession(request.session) environment_client = auth.get_clientFactory().create_ambiente() environment_dict = environment_client.buscar_por_id(id_environment) environment = environment_dict.get('ambiente') context["form"] = form context["action"] = reverse( 'environment.configuration.add', args=[id_environment]) context["environment"] = environment if form.is_valid(): network = form.cleaned_data['network_validate'] prefix = form.cleaned_data['prefix'] ip_version = form.cleaned_data['ip_version'] network_type = form.cleaned_data['net_type'] environment_client.configuration_save( id_environment, network, prefix, ip_version, network_type) messages.add_message(request, messages.SUCCESS, environment_messages.get( "success_configuration_insert")) context["form"] = IpConfigForm(net_type_list) except AmbienteNaoExisteError as e: messages.add_message(request, messages.ERROR, e) return redirect('environment.list') except InvalidParameterError as e: messages.add_message(request, messages.ERROR, e) 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(templates.ENVIRONMENT_CIDR, context, context_instance=RequestContext(request))
def edit_form_perm(request, id_ugroup, id_perm): try: lists = dict() lists['edit_perms'] = True lists['action_edit_perms'] = reverse( "user-group-perm.edit", args=[id_ugroup, id_perm]) # Get user auth = AuthSession(request.session) client_perm = auth.get_clientFactory( ).create_permissao_administrativa() # Get Group User by ID from NetworkAPI lists['ugroup'] = auth.get_clientFactory().create_grupo_usuario().search( id_ugroup).get('user_group') function_list = validates_dict( auth.get_clientFactory().create_permission().list_all(), 'perms') perm = client_perm.search(id_perm).get("perm") if request.method == "POST": form = PermissionGroupForm(function_list, request.POST) lists['form_perms'] = form if form.is_valid(): id_perm = form.cleaned_data['id_group_perms'] function = form.cleaned_data['function'] read = convert_boolean_to_int(form.cleaned_data['read']) write = convert_boolean_to_int(form.cleaned_data['write']) client_perm.alterar(id_perm, function, read, write, id_ugroup) messages.add_message( request, messages.SUCCESS, perm_group_messages.get("success_edit")) return redirect('user-group.list', id_ugroup, 1) # GET else: initial = {"id_group_perms": perm.get("id"), "function": perm.get("permission"), "read": convert_string_to_boolean( perm.get("leitura")), "write": convert_string_to_boolean(perm.get("escrita"))} lists['form_perms'] = PermissionGroupForm( function_list, initial=initial) except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.ERROR, e)
def edit_form(request, id_vip): """ Method to call edit_form_shared """ auth = AuthSession(request.session) client_api = auth.get_clientFactory() return facade.edit_form_shared(request, id_vip, client_api)
def access_type_form(request): lists = dict() try: auth = AuthSession(request.session) client = auth.get_clientFactory() if request.method == 'POST': form = TipoAcessoForm(request.POST) lists['form'] = form if form.is_valid(): protocolo = form.cleaned_data['nome'] client.create_tipo_acesso().inserir(protocolo) messages.add_message( request, messages.SUCCESS, access_type_messages.get('success_create')) lists['form'] = TipoAcessoForm() # GET METHOD else: lists['form'] = TipoAcessoForm() except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.ERROR, e)
def insert_vrf(request): try: lists = {} auth = AuthSession(request.session) client = auth.get_clientFactory() lists["form_vrf"] = VrfForm() # TODO Alterar depois de edit pra "" if request.method == 'POST': # Set data in form vrf_form = VrfForm(request.POST) # Return data to form in case of error lists["form_vrf"] = vrf_form # Validate if vrf_form.is_valid(): vrf = vrf_form.cleaned_data["vrf"] internal_name = vrf_form.cleaned_data["internal_name"] list_vrf = [{ "vrf": vrf, "internal_name": internal_name }] client.create_api_vrf().create(list_vrf) messages.add_message( request, messages.SUCCESS, vrf_messages.get("success_insert")) return redirect('vrf.list') except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.ERROR, e)
def show_form(request): try: if request.method == "POST": # Get user auth = AuthSession(request.session) client = auth.get_clientFactory() # Um form com os dados de POST form = ScriptTypeForm(request.POST) if form.is_valid(): tipo = form.cleaned_data['script_type'] descricao = form.cleaned_data['description'] try: client.create_tipo_roteiro().inserir(tipo, descricao) messages.add_message( request, messages.SUCCESS, script_type_messages.get("success_insert")) return redirect('script.type.list') except NomeTipoRoteiroDuplicadoError, e: messages.add_message( request, messages.ERROR, script_type_messages.get("error_equal_name") % tipo) else:
def ajax_view_real_shared(request, id_equip, lists): try: lists['equip_id'] = id_equip # Get user auth = AuthSession(request.session) client = auth.get_clientFactory() # Get reals related vips_reals = client.create_equipamento().get_real_related(id_equip) lists['vips'] = [vips_reals.get('vips'), ] if type( vips_reals.get('vips')) is dict else vips_reals.get('vips') lists['equip_name'] = vips_reals.get('equip_name') # Returns HTML response = HttpResponse(loader.render_to_string( EQUIPMENT_VIEW_AJAX, lists, context_instance=RequestContext(request))) response.status_code = 200 return response except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.ERROR, e)
def remove_environment(request): if request.method == 'POST': auth = AuthSession(request.session) client = auth.get_clientFactory() ids = request.POST.getlist('ids[]') error_not_found = list() error_associated = list() have_errors = False try: client.create_api_environment().delete_environment(';'.join(str(id) for id in ids)) except DetailedEnvironmentError, e: # Detailed message for VLAN errors logger.error(e) have_errors = True messages.add_message(request, messages.ERROR, e) except AmbienteNaoExisteError, e: # Environment doesn't exist. logger.error(e) have_errors = True error_not_found.append(id_env)
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() # Get all environments from NetworkAPI env_list = client.create_ambiente().list_all() # Get all network types from NetworkAPI net_list = client.create_tipo_rede().listar() lists["search_form"] = SearchVlanForm(env_list, net_list) lists['search_var'] = id_vlan lists['sf_number'] = sf_number lists['sf_name'] = sf_name lists['sf_environment'] = sf_environment lists['sf_nettype'] = sf_nettype lists['sf_subnet'] = sf_subnet lists['sf_ipversion'] = sf_ipversion lists['sf_network'] = sf_network lists['sf_iexact'] = sf_iexact lists['sf_acl'] = sf_acl except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.ERROR, e)
def healthcheck_expect_form(request): lists = dict() try: auth = AuthSession(request.session) client = auth.get_clientFactory() ambientes = client.create_ambiente().list_all() if request.method == 'POST': form = HealthckeckExpectForm(ambientes, request.POST) lists['form'] = form if form.is_valid(): match_list = form.cleaned_data['match_list'] expect_string = form.cleaned_data['expect_string'] environment_id = form.cleaned_data['environment'] client.create_ambiente().add_healthcheck_expect( environment_id, expect_string, match_list) messages.add_message( request, messages.SUCCESS, healthcheck_messages.get('success_create')) lists['form'] = HealthckeckExpectForm(ambientes) # GET METHOD else: lists['form'] = HealthckeckExpectForm(ambientes) except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.ERROR, e)
def dissociate_channel_interface(request, channel_id, interface_id): auth = AuthSession(request.session) client = auth.get_clientFactory() fields_get = ['id', 'protected', 'type__details', 'native_vlan', 'equipment__details', 'front_interface__basic', 'back_interface', 'channel__basic'] data = dict() data["start_record"] = 0 data["end_record"] = 50 data["extends_search"] = [] data["asorting_cols"] = [] data["searchable_columns"] = ["channel__id"] data["custom_search"] = channel_id try: sw_ids = list() interfaces = client.create_api_interface_request().search(search=data, fields=fields_get).get('interfaces') interface_obj = interfaces[0] for i in interfaces: sw_ids.append(int(i.get('id'))) except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.WARNING, 'Erro ao buscar o channel de Id %s.' % channel_id) url = request.META.get('HTTP_REFERER') if request.META.get('HTTP_REFERER') else reverse('interface.list') return HttpResponseRedirect(url)
def ajax_view_real_shared(request, id_equip, lists): try: lists['equip_id'] = id_equip # Get user auth = AuthSession(request.session) client = auth.get_clientFactory() # Get reals related vips_reals = client.create_equipamento().get_real_related(id_equip) lists['vips'] = [ vips_reals.get('vips'), ] if type(vips_reals.get('vips')) is dict else vips_reals.get('vips') lists['equip_name'] = vips_reals.get('equip_name') # Returns HTML response = HttpResponse( loader.render_to_string(EQUIPMENT_VIEW_AJAX, lists, context_instance=RequestContext(request))) response.status_code = 200 return response except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.ERROR, e)
def save_pool(request): """ Method to call shared_save_pool """ auth = AuthSession(request.session) client = auth.get_clientFactory() return facade.shared_save_pool(request, client)
def add_form(request): """ Method to call add_form_shared """ auth = AuthSession(request.session) client_api = auth.get_clientFactory() return facade.add_form_shared(request, client_api)
def ajax_popular_environment(request): """ Method to call popular_environment_shared """ auth = AuthSession(request.session) client_api = auth.get_clientFactory() return facade.popular_environment_shared(request, client_api)
def search_list(request): try: lists = dict() lists['delete_form'] = DeleteForm() # Get user auth = AuthSession(request.session) client = auth.get_clientFactory() # Get all environments from NetworkAPI env_list = client.create_ambiente().list_all() # Get all equipment types from NetworkAPI type_equip_list = client.create_tipo_equipamento().listar() # Get all groups from NetworkAPI group_list = client.create_grupo_equipamento().listar() search_form = SearchEquipmentForm( env_list, type_equip_list, group_list) lists['search_form'] = search_form except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.ERROR, e)
def ajax_modelo_equip(request, id_marca): try: lists = dict() # Get user auth = AuthSession(request.session) client = auth.get_clientFactory() marca = int(id_marca) if marca > 0: modelos = client.create_modelo().listar_por_marca(marca) lists['modelos'] = modelos.get('model') # Returns HTML response = HttpResponse(loader.render_to_string( EQUIPMENT_MODELO, lists, context_instance=RequestContext(request))) # Send response status with error response.status_code = 200 return response else: # Returns HTML response = HttpResponse(loader.render_to_string( EQUIPMENT_MODELO, lists, context_instance=RequestContext(request))) # Send response status with error response.status_code = 200 return response except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.ERROR, e)
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)
def ajax_popular_environment(request): """ Method to call popular_environment_shared """ auth = AuthSession(request.session) client_api = auth.get_clientFactory() return facade.popular_environment_shared(request, client_api)
def search_list(request): try: lists = dict() lists['delete_form'] = DeleteForm() # Get user auth = AuthSession(request.session) client = auth.get_clientFactory() # Get all environments from NetworkAPI env_list = client.create_ambiente().list_all() # Get all equipment types from NetworkAPI type_equip_list = client.create_tipo_equipamento().listar() # Get all groups from NetworkAPI group_list = client.create_grupo_equipamento().listar() search_form = SearchEquipmentForm(env_list, type_equip_list, group_list) lists['search_form'] = search_form except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.ERROR, e)
def add_form(request): """ Method to call add_form_shared """ auth = AuthSession(request.session) client_api = auth.get_clientFactory() return facade.add_form_shared(request, client_api)
def ajax_acl_name_suggest(request): lists = dict() try: nome = request.GET['nome'] id_ambiente = request.GET['id_ambiente'] auth = AuthSession(request.session) client = auth.get_clientFactory() environment = client.create_ambiente().buscar_por_id( id_ambiente).get('ambiente') suggest_name = str( nome + environment['nome_ambiente_logico']).replace(" ", "") lists['suggest_name'] = suggest_name # Returns HTML response = HttpResponse(loader.render_to_string( AJAX_SUGGEST_NAME, lists, context_instance=RequestContext(request))) # Send response status with error response.status_code = 200 return response except: lists['suggest_name'] = '' # Returns HTML response = HttpResponse(loader.render_to_string( AJAX_SUGGEST_NAME, lists, context_instance=RequestContext(request))) # Send response status with error response.status_code = 200 return response
def save_pool(request): """ Method to call shared_save_pool """ auth = AuthSession(request.session) client = auth.get_clientFactory() return facade.shared_save_pool(request, client)
def list_all(request): try: filter_list = dict() # Get user auth = AuthSession(request.session) filter_client = auth.get_clientFactory().create_filter() # Get all filters from NetworkAPI filter_list = filter_client.list_all() for filter_ in filter_list['filter']: filter_['is_more'] = str(False) if filter_.get('equip_types') is not None: if type(filter_['equip_types']) is dict: filter_['equip_types'] = [filter_['equip_types']] if len(filter_['equip_types']) > 3: filter_['is_more'] = str(True) filter_list['form'] = DeleteForm() except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.ERROR, e)
def basic_edit_interface(request, interface=None): if request.method == "POST": auth = AuthSession(request.session) client = auth.get_clientFactory() try: interface_obj = client.create_api_interface_request().get(ids=[ interface]) interface = interface_obj.get('interfaces')[0] except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.WARNING, 'Erro ao buscar interface id %s.' % interface) interface_dict = interface interface_dict["interface"] = request.POST.get('sw_interface_name') interface_dict["description"] = request.POST.get('sw_int_desc') try: client.create_api_interface_request().update([interface_dict]) messages.add_message(request, messages.SUCCESS, 'Interface atualizada com sucesso.') except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.ERROR, e)
def dissociate_channel_interface(request, channel_id, interface_id): auth = AuthSession(request.session) client = auth.get_clientFactory() fields_get = ['id', 'protected', 'type__details', 'native_vlan', 'equipment__details', 'front_interface__basic', 'back_interface', 'channel__basic'] data = dict() data["start_record"] = 0 data["end_record"] = 50 data["extends_search"] = [] data["asorting_cols"] = [] data["searchable_columns"] = ["channel__id"] data["custom_search"] = channel_id try: sw_ids = list() interfaces = client.create_api_interface_request().search(search=data, fields=fields_get).get('interfaces') interface_obj = interfaces[0] for i in interfaces: sw_ids.append(int(i.get('id'))) except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.WARNING, 'Erro ao buscar o channel de Id %s.' % channel_id) url = request.META.get('HTTP_REFERER') if request.META.get('HTTP_REFERER') else reverse('interface.list') return HttpResponseRedirect(url)
def edit_interface_post(request, interface=None): lists = {} auth = AuthSession(request.session) client = auth.get_clientFactory() fields = ['id', 'equipment__details', 'front_interface', 'back_interface'] equipment_name = "" try: interface_obj = client.create_api_interface_request().get( ids=[interface], fields=fields) interfaces = interface_obj.get('interfaces')[0] equipment = interfaces.get('equipment') equipment_name = equipment.get('name') lists["equip_name"] = equipment_name except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.WARNING, 'Erro ao buscar interface %s.' % interface) return HttpResponseRedirect('/interface/?search_equipment=%s' % equipment_name)
def show_form(request): try: if request.method == "POST": # Get user auth = AuthSession(request.session) client = auth.get_clientFactory() # Um form com os dados de POST form = ScriptTypeForm(request.POST) if form.is_valid(): tipo = form.cleaned_data['script_type'] descricao = form.cleaned_data['description'] try: client.create_tipo_roteiro().inserir( tipo, descricao) messages.add_message( request, messages.SUCCESS, script_type_messages.get("success_insert")) return redirect('script.type.list') except NomeTipoRoteiroDuplicadoError, e: messages.add_message( request, messages.ERROR, script_type_messages.get("error_equal_name") % tipo) else:
def add_form(request): try: if request.method == "POST": # Get user auth = AuthSession(request.session) client = auth.get_clientFactory() form = OptionVipForm(request.POST) if form.is_valid(): name_option = form.cleaned_data['name_option'] type_option = form.cleaned_data['type_option'] try: client.create_option_vip().add(type_option, name_option) messages.add_message( request, messages.SUCCESS, option_vip_messages.get("success_insert")) return redirect('option-vip.list') except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.ERROR, e) else:
def add_form(request): try: # Get user auth = AuthSession(request.session) client = auth.get_clientFactory() # Enviar listas para formar os Selects do formulário forms_aux = dict() # Get all script_types from NetworkAPI forms_aux['tipo_roteiro'] = client.create_tipo_roteiro().listar() forms_aux['modelos'] = client.create_modelo().listar().get('model') # If form was submited if request.method == 'POST': form = ScriptForm(forms_aux, request.POST) if form.is_valid(): name = form.cleaned_data['name'] script_type = form.cleaned_data['script_type'] modelo = form.cleaned_data['model'] description = form.cleaned_data['description'] try: client.create_roteiro().inserir(script_type, name, modelo, description) messages.add_message(request, messages.SUCCESS, script_messages.get("success_insert")) return redirect('script.list') except NomeRoteiroDuplicadoError, e: messages.add_message(request, messages.ERROR, e) else:
def search_list_param(request, id_equip): lists = dict() try: auth = AuthSession(request.session) client = auth.get_clientFactory() equip = client.create_equipamento().listar_por_id(id_equip) name_equip = equip.get('equipamento').get('nome') # recuperando lista de equipamentos de acesso equip_access_list = client.create_equipamento_acesso().list_by_equip( name_equip) access_type = client.create_tipo_acesso().listar() lists['form'] = SearchEquipForm(initial={"equip_name": name_equip}) lists['delete_form'] = DeleteForm( initial={"equip_name": name_equip, "equip_id": id_equip}) equip_access_list = replace_id_to_name(equip_access_list[ "equipamento_acesso"], access_type["tipo_acesso"], "tipo_acesso", "id", "protocolo") lists['equip_access_list'] = equip_access_list return render_to_response(EQUIPMENTACESS_SEARCH_LIST, lists, context_instance=RequestContext(request)) except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.ERROR, e)
def add_form(request): try: # Get user auth = AuthSession(request.session) client = auth.get_clientFactory() # Enviar listas para formar os Selects do formulário forms_aux = dict() # Get all script_types from NetworkAPI forms_aux['tipo_roteiro'] = client.create_tipo_roteiro().listar() forms_aux['modelos'] = client.create_modelo().listar().get('model') # If form was submited if request.method == 'POST': form = ScriptForm(forms_aux, request.POST) if form.is_valid(): name = form.cleaned_data['name'] script_type = form.cleaned_data['script_type'] modelo = form.cleaned_data['model'] description = form.cleaned_data['description'] try: client.create_roteiro().inserir(script_type, name, modelo, description) messages.add_message(request, messages.SUCCESS, script_messages.get("success_insert")) return redirect('script.list') except NomeRoteiroDuplicadoError, e: messages.add_message(request, messages.ERROR, e) else:
def template_delete(request): auth = AuthSession(request.session) client = auth.get_clientFactory() if request.method == 'POST': form = DeleteForm(request.POST) if form.is_valid(): # Get user user = AuthSession(request.session).get_user() # All ids to be deleted ids = split_to_array(form.cleaned_data['ids']) for id in ids: id_split = id.split('+') template_name = id_split[0] template_name = urllib.unquote_plus(str(template_name)) network = id_split[1] if check_template(template_name, network, user): client.create_ambiente().set_template( 0, template_name, network) delete_template(template_name, network, user) messages.add_message(request, messages.SUCCESS, acl_messages.get("success_remove")) else: messages.add_message(request, messages.ERROR, error_messages.get("select_one")) return HttpResponseRedirect(reverse('acl.template.list'))
def remove(request, id_vlan, network): try: # Get user auth = AuthSession(request.session) client = auth.get_clientFactory() vlan = client.create_vlan().get(id_vlan).get("vlan") environment = client.create_ambiente().buscar_por_id( vlan.get("ambiente")).get("ambiente") key_acl = acl_key(network) if vlan.get(key_acl) is None: messages.add_message(request, messages.ERROR, acl_messages.get("error_acl_not_exist")) return HttpResponseRedirect( reverse('vlan.edit.by.id', args=[id_vlan])) if network == NETWORK_TYPES.v4: client.create_vlan().invalidate(id_vlan) else: client.create_vlan().invalidate_ipv6(id_vlan) deleteAclGit(vlan.get(key_acl), environment, network, AuthSession(request.session).get_user()) messages.add_message(request, messages.SUCCESS, acl_messages.get("success_remove")) except (NetworkAPIClientError, GITError, ValueError), e: logger.error(e) messages.add_message(request, messages.ERROR, e)
def template_list(request): try: auth = AuthSession(request.session) client = auth.get_clientFactory() lists = dict() # Get user user = AuthSession(request.session).get_user() templates = get_templates(user) lists['templates'] = list() lists["delete_form"] = DeleteForm() for template in templates: envs = client.create_ambiente().get_environment_template( template['name'], template['network']) if envs: envs = envs['ambiente'] if not isinstance( envs['ambiente'], unicode) else [ envs['ambiente'], ] lists['templates'].append({ 'name': template['name'], 'network': template['network'], 'envs': envs }) except (NetworkAPIClientError, GITError, ValueError), e: logger.error(e) messages.add_message(request, messages.ERROR, e)
def script(request, id_vlan, network): try: # Get user auth = AuthSession(request.session) client = auth.get_clientFactory() vlan = client.create_vlan().get(id_vlan).get("vlan") environment = client.create_ambiente().buscar_por_id( vlan.get("ambiente")).get("ambiente") key_acl = acl_key(network) if vlan.get(key_acl) is None: messages.add_message(request, messages.ERROR, acl_messages.get("error_acl_not_exist")) return HttpResponseRedirect( reverse('vlan.edit.by.id', args=[id_vlan])) if network == NETWORK_TYPES.v4: template_name = environment['ipv4_template'] else: template_name = environment['ipv6_template'] scriptAclGit(vlan.get(key_acl), vlan, environment, network, AuthSession(request.session).get_user(), template_name) except (NetworkAPIClientError, GITError, ValueError), e: logger.error(e) messages.add_message(request, messages.ERROR, e)
def remove_environment(request): if request.method == 'POST': auth = AuthSession(request.session) client = auth.get_clientFactory() ids = request.POST.getlist('ids[]') error_not_found = list() error_associated = list() have_errors = False try: client.create_api_environment().delete_environment(';'.join(str(id) for id in ids)) except DetailedEnvironmentError, e: # Detailed message for VLAN errors logger.error(e) have_errors = True messages.add_message(request, messages.ERROR, e) except AmbienteNaoExisteError, e: # Environment doesn't exist. logger.error(e) have_errors = True error_not_found.append(id_env)
def insert_vrf(request): try: lists = {} auth = AuthSession(request.session) client = auth.get_clientFactory() lists["form_vrf"] = VrfForm() # TODO Alterar depois de edit pra "" if request.method == 'POST': # Set data in form vrf_form = VrfForm(request.POST) # Return data to form in case of error lists["form_vrf"] = vrf_form # Validate if vrf_form.is_valid(): vrf = vrf_form.cleaned_data["vrf"] internal_name = vrf_form.cleaned_data["internal_name"] list_vrf = [{"vrf": vrf, "internal_name": internal_name}] client.create_api_vrf().create(list_vrf) messages.add_message(request, messages.SUCCESS, vrf_messages.get("success_insert")) return redirect('vrf.list') except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.ERROR, e)
def ajax_ldap_users_by_group(request, ldap_group, id_user): try: lists = dict() # Get user auth = AuthSession(request.session) client = auth.get_clientFactory() exclude_list = [] user_list = client.create_usuario().listar().get('usuario') for usr in user_list: if usr['user_ldap'] is not None and usr['user_ldap'] != '' and usr['id'] != id_user: exclude_list.append(usr['user_ldap']) ldap_users = Ldap(auth).get_users_group(ldap_group, exclude_list) lists['ldap_users'] = ldap_users # Returns HTML response = HttpResponse(loader.render_to_string( AJAX_LDAP_USERS_BY_GROUP, lists, context_instance=RequestContext(request))) response.status_code = 200 return response except LDAPError: lists[ 'error'] = 'O LDAP não está disponível, não será possível associar o usuário CadVlan a um usuário do LDAP.' # Returns HTML response = HttpResponse(loader.render_to_string( AJAX_LDAP_USERS_BY_GROUP, lists, context_instance=RequestContext(request))) # Send response status with error response.status_code = 278 return response
def add_form(request): try: if request.method == "POST": # Get user auth = AuthSession(request.session) client = auth.get_clientFactory() form = GroupUserForm(request.POST) if form.is_valid(): name = form.cleaned_data['name'] read = PERMISSION.get(form.cleaned_data['read']) write = PERMISSION.get(form.cleaned_data['write']) edition = PERMISSION.get(form.cleaned_data['edition']) delete = PERMISSION.get(form.cleaned_data['delete']) try: client.create_grupo_usuario().inserir( name, read, write, edition, delete) messages.add_message( request, messages.SUCCESS, group_user_messages.get("success_insert")) return redirect('group-user.list') except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.ERROR, e) else:
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))
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))
def delete_individ_perms_of_object(request): try: if request.method == 'POST': auth = AuthSession(request.session) client = auth.get_clientFactory() form = DeletePermsForm(request.POST) if form.is_valid(): ids_perms = split_to_array(form.cleaned_data['ids_perms']) id_ugroup = form.cleaned_data['id_ugroup'] id_type_obj = form.cleaned_data['id_type_obj'] client.create_api_object_group_permission().delete(ids_perms) messages.add_message( request, messages.SUCCESS, object_group_perm_messages. get('success_delete')) except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.ERROR, e)
def list_all(request): try: filter_list = dict() # Get user auth = AuthSession(request.session) filter_client = auth.get_clientFactory().create_filter() # Get all filters from NetworkAPI filter_list = filter_client.list_all() for filter_ in filter_list['filter']: filter_['is_more'] = str(False) if filter_.get('equip_types') is not None: if type(filter_['equip_types']) is dict: filter_['equip_types'] = [filter_['equip_types']] if len(filter_['equip_types']) > 3: filter_['is_more'] = str(True) filter_list['form'] = DeleteForm() except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.ERROR, e)
def edit_right(request, id_egroup, id_right): lists = dict() lists['id_egroup'] = id_egroup try: # Get user auth = AuthSession(request.session) client = auth.get_clientFactory() user_group = client.create_grupo_usuario().listar() if request.method == 'POST': form = UserEquipGroupForm(user_group, request.POST) lists['ugroup_form'] = form if form.is_valid(): update = convert_boolean_to_int(form.cleaned_data['update']) delete = convert_boolean_to_int(form.cleaned_data['delete']) read = convert_boolean_to_int(form.cleaned_data['read']) write = convert_boolean_to_int(form.cleaned_data['write']) client.create_direito_grupo_equipamento().alterar( id_right, read, write, update, delete) messages.add_message(request, messages.SUCCESS, equip_group_messages.get( "sucess_group_user_equip_edit")) # Redirect to list_all action return redirect('equip-group.list', id_egroup, 1) else: lists['open_form'] = "True" # Get Requisition else: # Get Group Equipament by ID from NetworkAPI egroup = client.create_grupo_equipamento().search( id_egroup)['group_equipament'] right = client.create_direito_grupo_equipamento().buscar_por_id( id_right).get('direito_grupo_equipamento') write = convert_int_to_boolean(right.get('escrita')) update = convert_int_to_boolean(right.get('alterar_config')) read = convert_int_to_boolean(right.get('leitura')) delete = convert_int_to_boolean(right.get('exclusao')) lists['ugroup_form'] = UserEquipGroupForm(user_group, initial={"id_egroup": id_egroup, "egroup": egroup.get('nome'), "delete": delete, "update": update, "write": write, "read": read, 'ugroup': right.get("id_grupo_usuario")}) except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.ERROR, e)
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))
def disconnect_interfaces(request, interface_a=None, interface_b=None): auth = AuthSession(request.session) client = auth.get_clientFactory() try: client.create_api_interface_request().disconnecting_interfaces([interface_a, interface_b]) messages.add_message(request, messages.SUCCESS, 'Conexão removida.') except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.ERROR, e)
def delete_channel(request, channel_id=None): auth = AuthSession(request.session) client = auth.get_clientFactory() try: client.create_api_interface_request().remove_channel([channel_id]) messages.add_message(request, messages.SUCCESS, equip_interface_messages.get("success_remove_channel")) except ValueError, e: logger.error(e) messages.add_message(request, messages.ERROR, e)
def disconnect(request, id_interface, back_or_front, equip_name, id_interf_edit): try: auth = AuthSession(request.session) client = auth.get_clientFactory() client.create_api_interface_request().remove_connection(id_interface, back_or_front) messages.add_message(request, messages.SUCCESS, equip_interface_messages.get("success_disconnect")) except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.ERROR, e)
def ajax_view_env(request, env_id): try: auth = AuthSession(request.session) client = auth.get_clientFactory() lists = dict() except NetworkAPIClientError, e: logger.error(e) messages.add_message(request, messages.ERROR, e)