protected virtual PermissionResult CanDelete(TModel value)
        {
            var orgModel = value as IOwnedByOrganization;

            if (orgModel != null && !IsInOrganization(orgModel.OrganizationId))
            {
                return(PermissionResult.DenyWithResult(NotFound()));
            }

            return(PermissionResult.Allow);
        }
        protected virtual PermissionResult CanUpdate(TModel original, Delta <TUpdateModel> changes)
        {
            var orgModel = original as IOwnedByOrganization;

            if (orgModel != null && !IsInOrganization(orgModel.OrganizationId))
            {
                return(PermissionResult.DenyWithResult(BadRequest("Invalid organization id specified.")));
            }

            return(PermissionResult.Allow);
        }
예제 #3
0
        protected override PermissionResult CanAdd(Project value)
        {
            if (String.IsNullOrEmpty(value.Name))
            {
                return(PermissionResult.DenyWithResult(BadRequest("Project name is required.")));
            }

            if (!_billingManager.CanAddProject(value))
            {
                return(PermissionResult.DenyWithResult(PlanLimitReached("Please upgrade your plan to add additional projects.")));
            }

            return(base.CanAdd(value));
        }
예제 #4
0
        protected override PermissionResult CanAdd(Organization value)
        {
            if (String.IsNullOrEmpty(value.Name))
            {
                return(PermissionResult.DenyWithResult(BadRequest("Organization name is required.")));
            }

            if (!_billingManager.CanAddOrganization(ExceptionlessUser))
            {
                return(PermissionResult.DenyWithResult(PlanLimitReached("Please upgrade your plan to add an additional organization.")));
            }

            return(base.CanAdd(value));
        }
        protected virtual PermissionResult CanAdd(TModel value)
        {
            var orgModel = value as IOwnedByOrganization;

            if (_isOrganization || orgModel == null)
            {
                return(PermissionResult.Allow);
            }

            if (!IsInOrganization(orgModel.OrganizationId))
            {
                return(PermissionResult.DenyWithResult(BadRequest("Invalid organization id specified.")));
            }

            return(PermissionResult.Allow);
        }
예제 #6
0
        protected override PermissionResult CanDelete(Organization value)
        {
            if (!String.IsNullOrEmpty(value.StripeCustomerId) && User.IsInRole(AuthorizationRoles.GlobalAdmin))
            {
                return(PermissionResult.DenyWithResult(BadRequest("An organization cannot be deleted if it has a subscription.")));
            }

            List <Project> projects = _projectRepository.GetByOrganizationId(value.Id).ToList();

            if (!User.IsInRole(AuthorizationRoles.GlobalAdmin) && projects.Any())
            {
                return(PermissionResult.DenyWithResult(BadRequest("An organization cannot be deleted if it contains any projects.")));
            }

            return(base.CanDelete(value));
        }