Example #1
0
        public static List <string> ReasonsForNotBeingClonable(this EditionEntityLight edition, CedUser user)
        {
            var reasons = new List <string>();

            if (!edition.IsClonable(user))
            {
                if (!WebConfigHelper.CloningAllowed)
                {
                    reasons.Add("Cloning not allowed.");
                    return(reasons);
                }

                if (!Constants.ValidEventActivitiesToClone.Select(x => x.ToLower()).ToArray().Contains(edition.EventActivity.ToLower()))
                {
                    reasons.Add(edition.EventActivity);
                }

                if (!Constants.ValidEditionStatusesToClone.Contains(edition.Status))
                {
                    reasons.Add(edition.Status.ToEnum <EditionStatusType>().GetDescription());
                }

                if (!edition.DirectorEmails.Contains(user.CurrentUser.Email.ToLower()))
                {
                    reasons.Add("You don't have permission.");
                }
            }

            return(reasons);
        }
Example #2
0
        public static bool IsClonable(this EditionEntityLight edition, CedUser user)
        {
            if (!WebConfigHelper.CloningAllowed)
            {
                return(false);
            }

            if (!Constants.ValidEventActivitiesToClone.Select(x => x.ToLower()).ToArray().Contains(edition.EventActivity.ToLower()))
            {
                return(false);
            }

            if (!Constants.ValidEditionStatusesToClone.Contains(edition.Status))
            {
                return(false);
            }

            if (user.IsSuperAdmin)
            {
                return(true);
            }

            if (edition.DirectorEmails.Contains(user.CurrentUser.Email.ToLower()))
            {
                return(true);
            }

            return(false);
        }
Example #3
0
        public static List <string> ReasonsForNotBeingEditable(this EditionEntityLight edition, CedUser user)
        {
            var reasons = new List <string>();

            if (!edition.IsEditable(user))
            {
                if (!Constants.ValidEventActivitiesToEdit.Select(x => x.ToLower()).ToArray().Contains(edition.EventActivity.ToLower()))
                {
                    reasons.Add(edition.EventActivity);
                }

                if (!Constants.ValidEditionStatusesToEdit.Contains(edition.Status))
                {
                    reasons.Add(edition.Status.ToEnum <EditionStatusType>().GetDescription());
                }
            }

            return(reasons);
        }
Example #4
0
        public static bool IsEditable(this EditionEntityLight edition, CedUser user)
        {
            if (!Constants.ValidEventActivitiesToEdit.Select(x => x.ToLower()).ToArray().Contains(edition.EventActivity.ToLower()))
            {
                return(false);
            }

            if (edition.Status == EditionStatusType.WaitingForApproval.GetHashCode() && user.IsApprover)
            {
                return(true);
            }

            if (!Constants.ValidEditionStatusesToEdit.Contains(edition.Status))
            {
                return(false);
            }

            return(true);
        }