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 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 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))
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))
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':
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))
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"]
# 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()
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))
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"]
@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))
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))
@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))