Example #1
0
def saveResellerChanges(request):
    try:
        val = request.session['userID']
        data = json.loads(request.body)

        if data['userToBeModified'] == 'admin':
            finalResponse = {
                'status': 0,
                'errorMessage': "Super user can not be modified.",
                'error_message': "Super user can not be modified."
            }
            json_data = json.dumps(finalResponse)
            return HttpResponse(json_data)

        currentACL = ACLManager.loadedACL(val)

        if currentACL['admin'] == 1:
            pass
        elif currentACL['resellerCenter'] == 1:
            pass
        else:
            return ACLManager.loadErrorJson()

        userToBeModified = Administrator.objects.get(
            userName=data['userToBeModified'])
        newOwner = Administrator.objects.get(userName=data['newOwner'])

        try:
            if ACLManager.websitesLimitCheck(newOwner, data['websitesLimit'],
                                             userToBeModified) == 0:
                finalResponse = {
                    'status':
                    0,
                    'errorMessage':
                    "You've reached maximum websites limit as a reseller.",
                    'error_message':
                    "You've reached maximum websites limit as a reseller."
                }
                json_data = json.dumps(finalResponse)
                return HttpResponse(json_data)
        except:
            pass

        userToBeModified.owner = newOwner.pk
        try:
            userToBeModified.initWebsitesLimit = data['websitesLimit']
        except:
            pass
        userToBeModified.save()

        finalResponse = {'status': 1}
        json_data = json.dumps(finalResponse)
        return HttpResponse(json_data)
    except BaseException, msg:
        finalResponse = {
            'status': 0,
            'errorMessage': str(msg),
            'error_message': str(msg)
        }
        json_data = json.dumps(finalResponse)
        return HttpResponse(json_data)
Example #2
0
def submitUserCreation(request):
    try:

        try:
            userID = request.session['userID']
            currentACL = ACLManager.loadedACL(userID)

            data = json.loads(request.body)
            firstName = data['firstName']
            lastName = data['lastName']
            email = data['email']
            userName = data['userName']
            password = data['password']
            websitesLimit = data['websitesLimit']
            selectedACL = data['selectedACL']
            securityLevel = data['securityLevel']

            selectedACL = ACL.objects.get(name=selectedACL)

            if selectedACL.adminStatus == 1:
                type = 1
            else:
                type = 3

            if securityLevel == 'LOW':
                securityLevel = secMiddleware.LOW
            else:
                securityLevel = secMiddleware.HIGH

            token = hashPassword.generateToken(userName, password)
            password = hashPassword.hash_password(password)
            currentAdmin = Administrator.objects.get(pk=userID)

            if ACLManager.websitesLimitCheck(currentAdmin, websitesLimit) == 0:
                data_ret = {
                    'status':
                    0,
                    'createStatus':
                    0,
                    'error_message':
                    "You've reached maximum websites limit as a reseller."
                }

                final_json = json.dumps(data_ret)
                return HttpResponse(final_json)

            if currentACL['admin'] == 1:

                newAdmin = Administrator(
                    firstName=firstName,
                    lastName=lastName,
                    email=email,
                    type=type,
                    userName=userName,
                    password=password,
                    initWebsitesLimit=websitesLimit,
                    owner=currentAdmin.pk,
                    acl=selectedACL,
                    token=token,
                    securityLevel=securityLevel,
                )
                newAdmin.save()

            elif currentACL['changeUserACL'] == 1:

                newAdmin = Administrator(
                    firstName=firstName,
                    lastName=lastName,
                    email=email,
                    type=type,
                    userName=userName,
                    password=password,
                    initWebsitesLimit=websitesLimit,
                    owner=currentAdmin.pk,
                    acl=selectedACL,
                    token=token,
                    securityLevel=securityLevel,
                )
                newAdmin.save()
            elif currentACL['createNewUser'] == 1:

                newAdmin = Administrator(
                    firstName=firstName,
                    lastName=lastName,
                    email=email,
                    type=type,
                    userName=userName,
                    password=password,
                    initWebsitesLimit=websitesLimit,
                    owner=currentAdmin.pk,
                    acl=selectedACL,
                    token=token,
                    securityLevel=securityLevel,
                )
                newAdmin.save()
            else:
                data_ret = {
                    'status':
                    0,
                    'createStatus':
                    0,
                    'error_message':
                    "You are not authorized to access this resource."
                }

                final_json = json.dumps(data_ret)
                return HttpResponse(final_json)

            data_ret = {
                'status': 1,
                'createStatus': 1,
                'error_message': "None"
            }
            final_json = json.dumps(data_ret)
            return HttpResponse(final_json)

        except BaseException, msg:
            data_ret = {
                'status': 0,
                'createStatus': 0,
                'error_message': str(msg)
            }
            json_data = json.dumps(data_ret)
            return HttpResponse(json_data)

    except KeyError:
        data_ret = {
            'status': 0,
            'createStatus': 0,
            'error_message': "Not logged in as admin",
        }
        json_data = json.dumps(data_ret)
        return HttpResponse(json_data)