Exemplo n.º 1
0
def revoke_access(request):
	'''
	Revoke an access to a specified server.
	View Type: Form POST
	'''
	if request.method == 'POST':
		user = User.objects.get(username=request.POST['username'])
		host = Server.objects.get(hostname=request.POST['hostname'])
		hostuser = request.POST['hostuser']

		message = None

		if SshKeys.objects.filter(user=user).count == 0:
			message = 'No RSA saved on database. Contact user to set his RSA key.'
		elif SshKeys.objects.filter(user=user).count() > 1:
			message = 'More than one RSA saved on database. Contact administrator to set his RSA key.'
		else:
			rsa_key = SshKeys.objects.get(user=user)
			err = Controller.revokePermission(user, host, request.POST['hostuser'], rsa_key)
			if err is None:
				message = 'Permission revoked on: ' + host.hostname + ' with ' + hostuser + ' (for the user ' + user.username + ')'
				if Demands.objects.filter(user=user, server=host, hostuser=hostuser).exists():
					Demands.objects.get(user=user, server=host, hostuser=hostuser).delete()
			else:
				message = err.message

		messages.success(request, message)
	else:
		messages.success(request, 'You have not the rights to do this action')

	return HttpResponseRedirect(reverse('admin-permissions'))
Exemplo n.º 2
0
def revoke_access(request):
    '''
	Revoke an access to a specified server.
	View Type: Form POST
	'''
    if request.method == 'POST':
        user = User.objects.get(username=request.POST['username'])
        host = Server.objects.get(hostname=request.POST['hostname'])
        hostuser = request.POST['hostuser']

        message = None

        if SshKeys.objects.filter(user=user).count == 0:
            message = 'No RSA saved on database. Contact user to set his RSA key.'
        elif SshKeys.objects.filter(user=user).count() > 1:
            message = 'More than one RSA saved on database. Contact administrator to set his RSA key.'
        else:
            rsa_key = SshKeys.objects.get(user=user)
            err = Controller.revokePermission(user, host,
                                              request.POST['hostuser'],
                                              rsa_key)
            if err is None:
                message = 'Permission revoked on: ' + host.hostname + ' with ' + hostuser + ' (for the user ' + user.username + ')'
                if Demands.objects.filter(user=user,
                                          server=host,
                                          hostuser=hostuser).exists():
                    Demands.objects.get(user=user,
                                        server=host,
                                        hostuser=hostuser).delete()
            else:
                message = err.message

        messages.success(request, message)
    else:
        messages.success(request, 'You have not the rights to do this action')

    return HttpResponseRedirect(reverse('admin-permissions'))