def allow_by_mac(request,pc_id,pc_state): if not request.user.is_authenticated(): return HttpResponseRedirect('/login/') response = HttpResponse() pc=Computer.objects.get(id=pc_id) network_type=pc.classroom.network_device.network_type if network_type=="Mikrotik": try: mk =MikrotikRouter() mk.set_networkdevice(pc.classroom.network_device) mk.login() if pc_state == "ON": mk.add_firewall_rule_by_mac(pc.mac,"accept") else: mk.delete_firewall_rule_by_mac(pc.mac,"accept") response.write(""); except Exception, e: response.write("ERROR: "+str(e))
def get_pcs_information(classroom,list_pcs_classroom): pcs=[] network_type=classroom.network_device.network_type if network_type=="Mikrotik": mk =MikrotikRouter() mk.set_networkdevice(classroom.network_device) mk.login() #print classroom for computer in list_pcs_classroom: print computer resposta = mk.list_firewall_rule_by_mac(computer.mac) if resposta: network_action=resposta[0]['action'] blocked = True else: network_action=None blocked = False pcs.append({'id':computer.id,'network_action':network_action,'identifier':computer.identifier,'mac':computer.mac,'resposta':resposta,'serial':computer.serial}) return pcs