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); }
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); }
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); }
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); }