public void InitView() { long idProject = View.PreloadIdProject; dtoProjectContext cContext = new dtoProjectContext() { IdCommunity = View.PreloadIdCommunity, isPersonal = View.PreloadIsPersonal, isForPortal = View.PreloadForPortal }; dtoProject project = InitializeContext(idProject, ref cContext); if (UserContext.isAnonymous) { View.DisplaySessionTimeout(); } else { Person p = CurrentManager.GetPerson(UserContext.CurrentUserID); SetBackUrls(View.PreloadFromPage, View.PreloadIdContainerCommunity, project, cContext); List <lm.Comol.Core.Wizard.NavigableWizardItem <dtoProjectManagementStep> > steps = Service.GetAvailableSteps(WizardProjectStep.Settings, idProject); View.LoadWizardSteps(idProject, cContext.IdCommunity, cContext.isPersonal, cContext.isForPortal, steps); if (project == null) { View.DisplayUnknownProject(); View.SendUserAction(UserContext.CurrentCommunityID, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.ProjectUnknown); } else { ModuleProjectManagement mPermission = (project.isPortal) ? ModuleProjectManagement.CreatePortalmodule((p == null) ? (Int32)UserTypeStandard.Guest : p.TypeID) : new ModuleProjectManagement(CurrentManager.GetModulePermission(UserContext.CurrentUserID, cContext.IdCommunity, CurrentIdModule)); PmActivityPermission pPermissions = Service.GetProjectPermission(idProject, UserContext.CurrentUserID); List <ProjectAvailability> availabilities = new List <ProjectAvailability>(); ProjectAvailability cAvailability = project.Availability; Boolean hasActivities = Service.HasTasks(project.Id); if (project.Availability == ProjectAvailability.Draft) { availabilities.Add(ProjectAvailability.Draft); } if (hasActivities) { availabilities.Add(ProjectAvailability.Active); availabilities.Add(ProjectAvailability.Closed); availabilities.Add(ProjectAvailability.Suspended); } Boolean allowChangeOwner = false; Boolean allowChangeOwnerFromResource = false; Boolean allowChangeOwnerFromCommunity = false; if ((mPermission.Administration && !project.isPersonal) || (pPermissions & PmActivityPermission.ManageProject) == PmActivityPermission.ManageProject) { View.AllowSave = true; View.SendUserAction(cContext.IdCommunity, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.ProjectStartEditing); if (View.PreloadAddedProject) { View.DisplayAddedInfo(View.PreloadRequiredActions, View.PreloadAddedActions); } allowChangeOwner = (mPermission.Administration && !project.isPersonal) || ((pPermissions & PmActivityPermission.ChangeOwner) == PmActivityPermission.ChangeOwner); allowChangeOwnerFromResource = (project.Resources.Count > 1); allowChangeOwnerFromCommunity = (project.IdCommunity > 0); View.InitializeProject(project, hasActivities, project.Resources.Where(r => r.ProjectRole == ActivityRole.ProjectOwner).FirstOrDefault(), availabilities, cAvailability, allowChangeOwner, allowChangeOwnerFromResource, allowChangeOwnerFromCommunity); } else { ProjectResource resource = Service.GetResource(idProject, UserContext.CurrentUserID); if (resource != null && resource.Visibility == ProjectVisibility.Full) { View.InitializeProject(project, hasActivities, project.Resources.Where(r => r.ProjectRole == ActivityRole.ProjectOwner).FirstOrDefault(), availabilities, cAvailability, allowChangeOwner, allowChangeOwnerFromResource, allowChangeOwnerFromCommunity); View.SendUserAction(cContext.IdCommunity, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.ProjectViewSettings); } else { View.DisplayNoPermission(cContext.IdCommunity, CurrentIdModule); } } } } }
public dtoSettingsStep(WizardProjectStep type, Project project) : base(type) { Availability = (project == null) ? ProjectAvailability.Draft : project.Availability; }