public void AddTemplate(String name, List <String> contentModules, List <dtoChannelConfigurator> items) { if (UserContext.isAnonymous) { View.DisplaySessionTimeout(RootObject.Add(View.CurrentType, View.PreloadOwnership, View.PreloadFromIdCommunity, View.PreloadFromModuleCode, View.PreloadFromModulePermissions)); } else { dtoBaseTemplateOwner owner = View.Ownership; if (!contentModules.Any() && (String.IsNullOrEmpty(owner.ModuleCode) || (View.CurrentType == TemplateType.Module))) { contentModules.Add(owner.ModuleCode); } TemplateDefinition template = Service.AddTemplate(name, View.CurrentType, owner, contentModules, items); if (template == null) { View.DisplayTemplateAddError(); } else if (View.PreloadCurrentSessionId == Guid.Empty) { View.GoToUrl(RootObject.EditByStep(View.CurrentType, View.Ownership, WizardTemplateStep.Settings, View.PreloadFromIdCommunity, View.PreloadFromModuleCode, View.PreloadFromModulePermissions, View.GetEncodedBackUrl(), template.Id, template.Versions[0].Id, false, true)); } else { View.GoToUrl(RootObject.EditByStep(View.CurrentType, View.Ownership, WizardTemplateStep.Settings, View.PreloadFromIdCommunity, View.PreloadFromModuleCode, View.PreloadFromModulePermissions, "", template.Id, template.Versions[0].Id, false, true)); } } }
public static string EditByStep(System.Guid sessionId, TemplateType type, dtoBaseTemplateOwner ownerInfo, WizardTemplateStep step, Int32 idContainerCommunity, String moduleCode, long idPermissions, String backUrl, long idTemplate = 0, long idVersion = 0, Boolean preview = false, Boolean added = false, Boolean backToContainerModule = false) { string baseQuery = ((idTemplate > 0) ? "idTemplate=" + idTemplate.ToString() : "") + ((idVersion > 0) ? "&idVersion=" + idVersion.ToString() : "") + ((added) ? "&add=true" : "") + ((preview) ? "&preview=true" : ""); if (!string.IsNullOrEmpty(baseQuery)) { baseQuery += "&"; } baseQuery += BaseQueryString(type, ownerInfo) + BaseContainerString(idContainerCommunity, moduleCode, idPermissions); switch (step) { case WizardTemplateStep.Settings: return(modulehome + "EditSettings.aspx?" + baseQuery + (backToContainerModule ? "&toCnt=true" : "") + (String.IsNullOrEmpty(backUrl) ? "" : "&backUrl=" + backUrl) + ((sessionId == System.Guid.Empty) ? "" : "&sId=" + sessionId.ToString())); case WizardTemplateStep.Translations: return(modulehome + "EditTemplate.aspx?" + baseQuery + (backToContainerModule ? "&toCnt=true" : "") + (String.IsNullOrEmpty(backUrl) ? "" : "&backUrl=" + backUrl) + ((sessionId == System.Guid.Empty) ? "" : "&sId=" + sessionId.ToString())); case WizardTemplateStep.Permission: return(modulehome + "EditPermission.aspx?" + baseQuery + (backToContainerModule ? "&toCnt=true" : "") + (String.IsNullOrEmpty(backUrl) ? "" : "&backUrl=" + backUrl) + ((sessionId == System.Guid.Empty) ? "" : "&sId=" + sessionId.ToString())); default: return(""); } }
public static String List(Int32 idContainerCommunity, TemplateType type, dtoBaseTemplateOwner ownerInfo, Boolean setFromCookies = false, String moduleCode = "", long idPermissions = 0, long idTemplate = 0, long idVersion = 0) { Boolean fromContainer = ((!String.IsNullOrEmpty(moduleCode) || idPermissions > 0) && idContainerCommunity > 0); String url = modulehome + "List.aspx?" + BaseQueryString((fromContainer) ? TemplateType.Module : type, (fromContainer) ? null: ownerInfo) + BaseContainerString(idContainerCommunity, moduleCode, idPermissions, setFromCookies); url += (idTemplate > 0) ? "&idTemplate=" + idTemplate.ToString():""; url += (idVersion > 0) ? "#ver_" + idVersion.ToString() : (idTemplate > 0) ? "#tmp_" + idTemplate.ToString() : ""; return(url); }
private ModuleGenericTemplateMessages GetPermissions(String moduleCode, long permissions, Int32 idCommunity, TemplateType type) { ModuleGenericTemplateMessages permission = null; Int32 idUser = UserContext.CurrentUserID; switch (type) { case TemplateType.Module: if (moduleCode == ModuleTemplateMessages.UniqueCode) { permission = new ModuleGenericTemplateMessages(Service.GetPermission(idCommunity, OwnerType.Module)); } else { Int32 idModule = CurrentManager.GetModuleID(moduleCode); dtoBaseTemplateOwner ownerInfo = View.PreloadOwnership; ModuleObject obj = (ownerInfo.Type == OwnerType.Object) ? ModuleObject.CreateLongObject(ownerInfo.IdObject, ownerInfo.IdObjectType, ownerInfo.IdObjectCommunity, CurrentManager.GetModuleCode(ownerInfo.IdObjectModule), ownerInfo.IdObjectModule) : null; if (obj != null && obj.ServiceID == 0 && !String.IsNullOrEmpty(obj.ServiceCode)) { obj.ServiceID = CurrentManager.GetModuleID(obj.ServiceCode); } else if (obj != null && obj.ServiceID > 0 && String.IsNullOrEmpty(obj.ServiceCode)) { obj.ServiceCode = CurrentManager.GetModuleCode(obj.ServiceID); } if (permissions > 0) { permission = View.GetModulePermissions(moduleCode, idModule, CurrentManager.GetModulePermission(UserContext.CurrentUserID, idCommunity, idModule), idCommunity, UserContext.UserTypeID, obj); } else { permission = View.GetModulePermissions(moduleCode, idModule, GetModulePermission(idCommunity, idModule), idCommunity, UserContext.UserTypeID, obj); } } break; case TemplateType.User: Person p = GetCurrentUser(ref idUser); Boolean allowView = (p != null && p.TypeID != (Int32)UserTypeStandard.Guest && p.TypeID != (Int32)UserTypeStandard.PublicUser); permission = new ModuleGenericTemplateMessages("personal"); permission.Add = allowView; permission.Administration = allowView; permission.Clone = allowView; permission.DeleteMyTemplates = allowView; permission.Edit = allowView; permission.List = allowView; break; } if (permission == null) { permission = new ModuleGenericTemplateMessages(moduleCode); } return(permission); }
private static String BaseQueryString(TemplateType type, dtoBaseTemplateOwner template) { String query = "type=" + type.ToString(); if (template != null) { query += "&ownType=" + template.Type.ToString(); query += ((template.IdPerson > 0) ? "&idPerson=" + template.IdPerson.ToString() : ""); query += ((template.IdCommunity > 0) ? "&idCommunity=" + template.IdCommunity.ToString() : ""); query += ((template.IdModule > 0) ? "&idModule=" + template.IdModule.ToString() : ""); query += ((!String.IsNullOrEmpty(template.ModuleCode)) ? "&moduleCode=" + template.ModuleCode : ""); query += ((template.ModulePermission > 0) ? "&idModuleP=" + template.ModulePermission.ToString() : ""); query += ((template.IdObject > 0) ? "&idObj=" + template.IdObject.ToString() : ""); query += ((template.IdObjectType > 0) ? "&idObjType=" + template.IdObjectType.ToString() : ""); query += ((template.IdObjectModule > 0) ? "&idObjModule=" + template.IdObjectModule.ToString() : ""); query += ((template.IdObjectCommunity > 0) ? "&idObjCommunity=" + template.IdObjectCommunity.ToString() : ""); } return(query); }
public static string EditByStep(TemplateType type, dtoBaseTemplateOwner ownerInfo, WizardTemplateStep step, Int32 idContainerCommunity, String moduleCode, long idPermissions, String backUrl, long idTemplate = 0, long idVersion = 0, Boolean preview = false, Boolean added = false, Boolean backToContainerModule = false) { return(EditByStep(Guid.Empty, type, ownerInfo, step, idContainerCommunity, moduleCode, idPermissions, backUrl, idTemplate, idVersion, preview, added)); }
public static string Add(System.Guid sessionId, TemplateType type, dtoBaseTemplateOwner ownerInfo, Int32 idContainerCommunity, String moduleCode = "", long idPermissions = 0) { return(modulehome + "Add.aspx?" + BaseQueryString(type, ownerInfo) + BaseContainerString(idContainerCommunity, moduleCode, idPermissions) + ((sessionId == System.Guid.Empty) ? "" : "&sId=" + sessionId.ToString())); }
public static string Add(TemplateType type, dtoBaseTemplateOwner ownerInfo, Int32 idContainerCommunity, String moduleCode = "", long idPermissions = 0) { return(Add(Guid.Empty, type, ownerInfo, idContainerCommunity, moduleCode, idPermissions)); }
private void InitializeList(dtoModuleContext context, Int32 idCommunity, TemplateType type, long permissions) { dtoBaseTemplateOwner ownerInfo = null; Boolean allowAdd = false; String addUrl = ""; String addPersonalUrl = ""; String addObjectUrl = ""; View.IsInitializedList = true; if (context == null) { context = GetModuleContext(View.CurrentModuleCode, permissions, View.CurrentIdCommunity, type); } #region "Permissions" allowAdd = context.Permissions.Administration || context.Permissions.Add; System.Guid sessionId = View.CurrentSessionId; switch (type) { case TemplateType.System: if (allowAdd) { ownerInfo = new dtoBaseTemplateOwner() { IdCommunity = idCommunity, IsPortal = (idCommunity == 0), Type = OwnerType.Module, ModuleCode = context.ModuleCode, IdModule = context.IdModule, ModulePermission = context.ModulePermissions }; addUrl = RootObject.Add(sessionId, TemplateType.System, ownerInfo, idCommunity, context.ModuleCode, context.ModulePermissions); } break; case TemplateType.Module: allowAdd = context.Permissions.Administration || context.Permissions.Add; // DA RIVEDERE if (allowAdd) { ownerInfo = new dtoBaseTemplateOwner() { IdCommunity = idCommunity, IsPortal = (idCommunity == 0), Type = OwnerType.Module, ModuleCode = context.ModuleCode, IdModule = context.IdModule, ModulePermission = context.ModulePermissions }; addUrl = RootObject.Add(sessionId, TemplateType.Module, ownerInfo, idCommunity, context.ModuleCode, context.ModulePermissions); ModuleObject obj = View.CurrentModuleObject; if (obj != null) { ownerInfo = new dtoBaseTemplateOwner() { IdCommunity = idCommunity, IsPortal = (idCommunity == 0), Type = OwnerType.Object, IdObject = obj.ObjectLongID, IdObjectType = obj.ObjectTypeID, IdObjectCommunity = obj.CommunityID, IdObjectModule = obj.ServiceID, ModuleCode = context.ModuleCode, IdModule = context.IdModule, ModulePermission = context.ModulePermissions }; addObjectUrl = RootObject.Add(sessionId, TemplateType.Module, ownerInfo, idCommunity, context.ModuleCode, context.ModulePermissions); } } dtoBaseTemplateOwner personalOwnerInfo = new dtoBaseTemplateOwner() { IdCommunity = idCommunity, IsPortal = (idCommunity == 0), Type = OwnerType.Person, IdPerson = UserContext.CurrentUserID, ModuleCode = View.PreloadModuleCode, IdModule = (String.IsNullOrEmpty(View.PreloadModuleCode) ? 0 : CurrentManager.GetModuleID(View.PreloadModuleCode)) }; addPersonalUrl = RootObject.Add(sessionId, TemplateType.User, personalOwnerInfo, idCommunity, context.ModuleCode, context.ModulePermissions); break; case TemplateType.User: if (allowAdd) { ownerInfo = new dtoBaseTemplateOwner() { IdCommunity = 0, IsPortal = true, Type = OwnerType.Person, IdPerson = UserContext.CurrentUserID, ModuleCode = View.PreloadModuleCode, IdModule = (String.IsNullOrEmpty(View.PreloadModuleCode) ? 0 : CurrentManager.GetModuleID(View.PreloadModuleCode)) }; addPersonalUrl = RootObject.Add(sessionId, TemplateType.User, ownerInfo, 0, context.ModuleCode, context.ModulePermissions); } break; } #endregion #region "Filters" dtoBaseFilters filters = (View.PreloadFromCookies) ? View.GetFromCookies() : null; if (filters == null) { filters = new dtoBaseFilters(); filters.Ascending = true; filters.SearchForName = ""; filters.Status = TemplateStatus.Active; filters.TemplateType = type; //filters.LoaderType = context.LoaderType; switch (type) { case TemplateType.Module: filters.ModuleCode = View.PreloadModuleCode; break; } filters.Ascending = true; filters.OrderBy = TemplateOrder.ByName; filters.TranslationsStatus = View.GetTranslationsStatus(); filters.TranslationsType = View.GetTranslationsTypes(); filters.TemplateDisplay = TemplateDisplay.OnlyVisible; View.SaveToCookies(filters); } #endregion View.InitializeList(context, filters, GetAvailableTypes(type), GetAvailableDisplay(type), allowAdd, addUrl, addPersonalUrl, addObjectUrl); }
public void InitView() { long idTemplate = View.PreloadIdTemplate; long idVersion = View.PreloadIdVersion; TemplateType t = View.PreloadTemplateType; dtoBaseTemplateOwner ownerInfo = View.PreloadOwnership; Int32 idCommunity = ownerInfo.IdCommunity; if (idCommunity == -1) { idCommunity = UserContext.CurrentCommunityID; } if (ownerInfo.IdModule == 0 && !String.IsNullOrEmpty(ownerInfo.ModuleCode)) { ownerInfo.IdModule = CurrentManager.GetModuleID(ownerInfo.ModuleCode); } View.Ownership = ownerInfo; View.IdTemplateCommunity = idCommunity; if (UserContext.isAnonymous) { Logout(t, idTemplate, idVersion); } else { Boolean allowSave = false; TemplateDefinitionVersion version = Service.GetVersion(idVersion); List <lm.Comol.Core.Wizard.NavigableWizardItem <dtoTemplateStep> > steps = Service.GetAvailableSteps(idVersion, WizardTemplateStep.Translations, ownerInfo.Type);; if (version == null || (version.Deleted != BaseStatusDeleted.None && !View.PreloadPreview) || (version.Template == null)) { View.DisplayUnknownTemplate(); steps.ForEach(s => s.Status = Wizard.WizardItemStatus.disabled); View.SendUserAction(idCommunity, Service.ServiceModuleID(), ModuleTemplateMessages.ActionType.UnknownTemplateVersion); } else { dtoTemplatePermission permission = null; Boolean isPreview = View.PreloadPreview; Boolean allowSee = false; View.IdTemplate = version.Template.Id; View.IdVersion = version.Id; t = version.Template.Type; switch (ownerInfo.Type) { case OwnerType.None: View.UnableToReadUrlSettings(); View.SendUserAction(idCommunity, Service.ServiceModuleID(), ModuleTemplateMessages.ActionType.MalformedUrl); break; case OwnerType.Object: //allowSave = View.HasPermissionForObject(ModuleObject.CreateLongObject(ownerInfo.IdObject, ownerInfo.IdObjectType, ownerInfo.IdObjectCommunity, CurrentManager.GetModuleCode(ownerInfo.IdObjectModule))); //break; case OwnerType.Module: View.IdTemplateModule = ownerInfo.IdModule; if (ownerInfo.IdModule == Service.ServiceModuleID()) { permission = Service.GetItemPermission(idVersion); } else { permission = Service.GetManagementTemplatePermission(version, GetPermissions(ownerInfo.ModuleCode, ownerInfo.ModulePermission, ownerInfo.IdCommunity, t)); } allowSave = permission.AllowEdit; allowSee = permission.AllowUse; break; default: permission = Service.GetItemPermission(idVersion); allowSave = permission.AllowEdit; allowSee = permission.AllowUse; break; } allowSave = allowSave && (version.Status == TemplateStatus.Draft) && !isPreview; //allowActivate = allowDraft && (version.DefaultTranslation.IsValid() || (version!=null && version.Translations.Where(tn => tn.Deleted == BaseStatusDeleted.None && tn.IsValid).Any())); Boolean isAdministrative = Service.IsAdministrativeUser(UserContext.CurrentUserID); View.InputReadOnly = isPreview || (!allowSave && allowSee); View.AllowSave = allowSave; if (allowSave || allowSee) { LoadDefaultTranslation(version); View.SendUserAction(idCommunity, Service.ServiceModuleID(), ModuleTemplateMessages.ActionType.StartEditingSettings); } else { View.DisplayNoPermission(idCommunity, Service.ServiceModuleID()); View.SendUserAction(idCommunity, Service.ServiceModuleID(), ModuleTemplateMessages.ActionType.TryToEditingSettings); } } View.CurrentType = t; View.LoadWizardSteps(idCommunity, steps); if (String.IsNullOrEmpty(View.PreloadBackUrl)) { View.SetBackUrl(RootObject.List(View.PreloadFromIdCommunity, t, ownerInfo, true, View.PreloadFromModuleCode, View.PreloadFromModulePermissions, idTemplate, idVersion)); } else { View.SetBackUrl(View.PreloadBackUrl); } } }
public Boolean SaveAsTemplate(OwnerType t, String prefixName, List <dtoTemplateTranslation> translations, List <String> contentModules, lm.Comol.Core.MailCommons.Domain.Messages.MessageSettings settings, lm.Comol.Core.DomainModel.ModuleObject obj = null) { Boolean saved = false; if (UserContext.isAnonymous) { View.CurrentMode = Domain.EditMessageMode.None; } else { TemplateType type = TemplateType.None; dtoBaseTemplateOwner ownership = new dtoBaseTemplateOwner() { IdPerson = UserContext.CurrentUserID, ModuleCode = View.ModuleCode }; switch (t) { case OwnerType.Object: ownership.Type = OwnerType.Object; ownership.IdObject = obj.ObjectLongID; ownership.IdObjectCommunity = obj.CommunityID; ownership.IdObjectModule = obj.ServiceID; ownership.IdObjectType = obj.ObjectTypeID; ownership.IsPortal = false; break; case OwnerType.Person: ownership.IsPortal = true; ownership.Type = OwnerType.Person; break; case OwnerType.Module: ownership.IsPortal = false; ownership.IdCommunity = View.ContainerIdCommunity; ownership.IdModule = CurrentManager.GetModuleID(View.ModuleCode); ownership.ModuleCode = View.ModuleCode; ownership.Type = OwnerType.Module; break; default: ownership = null; break; } if (ownership != null) { TemplateDefinition template = Service.AddTemplate(prefixName, type, ownership, contentModules, translations, settings); if (template == null) { View.DisplayTemplateUnSaved(t); } else { View.DisplayTemplateSaved(t); } } else { View.DisplayTemplateUnSaved(t); } } return(saved); }
public void InitView() { TemplateType t = View.PreloadTemplateType; dtoBaseTemplateOwner ownerInfo = View.PreloadOwnership; Int32 idCommunity = ownerInfo.IdCommunity; if (idCommunity == -1) { idCommunity = UserContext.CurrentCommunityID; //if (t== TemplateType.System) ownerInfo.IdCommunity = idCommunity; } if (ownerInfo.IdModule == 0 && !String.IsNullOrEmpty(ownerInfo.ModuleCode)) { ownerInfo.IdModule = CurrentManager.GetModuleID(ownerInfo.ModuleCode); } View.Ownership = ownerInfo; View.IdTemplateCommunity = idCommunity; View.CurrentType = t; if (UserContext.isAnonymous) { View.DisplaySessionTimeout(RootObject.Add(t, View.PreloadOwnership, View.PreloadFromIdCommunity, View.PreloadFromModuleCode, View.PreloadFromModulePermissions)); } else { Boolean allowAdd = false; switch (ownerInfo.Type) { case OwnerType.None: View.UnableToReadUrlSettings(); View.SendUserAction(idCommunity, Service.ServiceModuleID(), ModuleTemplateMessages.ActionType.MalformedUrl); break; //case OwnerType.Object: // allowAdd = View.HasPermissionForObject(ModuleObject.CreateLongObject(ownerInfo.IdObject, ownerInfo.IdObjectType, ownerInfo.IdObjectCommunity,CurrentManager.GetModuleCode(ownerInfo.IdObjectModule))); // break; default: if (t == TemplateType.Module) { ModuleGenericTemplateMessages p = GetPermissions(View.PreloadFromModuleCode, View.PreloadFromModulePermissions, View.PreloadFromIdCommunity, t); allowAdd = p.Administration || p.Add; } else { allowAdd = Service.AllowAdd(ownerInfo); } break; } List <lm.Comol.Core.Wizard.NavigableWizardItem <dtoTemplateStep> > steps = Service.GetAvailableSteps(0, WizardTemplateStep.Settings, ownerInfo.Type); View.AllowAdd = allowAdd; if (allowAdd) { Boolean isAdministrative = Service.IsAdministrativeUser(UserContext.CurrentUserID); View.AllowSenderEdit = isAdministrative && t == TemplateType.System; View.AllowSubjectEdit = isAdministrative; View.AllowSignatureEdit = isAdministrative; List <NotificationChannel> channels = Service.GetAvailableChannels(t, 0); if (t == TemplateType.Module || ownerInfo.IdModule > 0) { View.IdTemplateModule = ownerInfo.IdModule; View.DisplayInput(CurrentManager.GetLanguage(UserContext.Language.Id), Service.GetTemplateNumber(ownerInfo), channels); if (channels.Any() && channels.Count == 1 && channels.Contains(NotificationChannel.Mail)) { AddNotificationSetting(NotificationChannel.Mail, new List <dtoChannelConfigurator>()); } } else { View.DisplayInput(CurrentManager.GetLanguage(UserContext.Language.Id), Service.GetTemplateNumber(ownerInfo), View.GetAvailableModules(), channels); if (t == TemplateType.User && channels.Contains(NotificationChannel.Mail)) { AddNotificationSetting(NotificationChannel.Mail, new List <dtoChannelConfigurator>()); } } View.SendUserAction(idCommunity, Service.ServiceModuleID(), ModuleTemplateMessages.ActionType.StartAddNewTemplate); } else { steps = steps.Where(s => s.Id.Type == WizardTemplateStep.Settings).ToList(); steps[0].Status = Wizard.WizardItemStatus.disabled; steps[0].DisplayOrderDetail = Wizard.DisplayOrderEnum.first | Wizard.DisplayOrderEnum.last; View.DisplayAddUnavailable(); View.SendUserAction(idCommunity, Service.ServiceModuleID(), ModuleTemplateMessages.ActionType.TryToAddNewTemplate); } View.LoadWizardSteps(idCommunity, steps); if (String.IsNullOrEmpty(View.PreloadBackUrl)) { View.SetBackUrl(RootObject.List(View.PreloadFromIdCommunity, t, ownerInfo, true, View.PreloadFromModuleCode, View.PreloadFromModulePermissions)); } else { View.SetBackUrl(View.PreloadBackUrl); } } }
public void InitView() { if (UserContext.isAnonymous) { View.DisplaySessionTimeout(RootObject.List(View.PreloadIdCommunity, View.PreloadTemplateType, View.PreloadOwnership, View.PreloadFromCookies, View.PreloadModuleCode, View.PreloadModulePermissions, View.PreloadModulePermissions)); } else { Int32 idCommunity = View.PreloadIdCommunity; if (idCommunity < 0) { idCommunity = UserContext.CurrentCommunityID; } View.IdManagerCommunity = idCommunity; TemplateType type = View.PreloadTemplateType; if (type == TemplateType.None) { type = TemplateType.User; } dtoBaseFilters filters = (View.PreloadFromCookies) ? View.GetFromCookies() : null; if (filters == null) { filters = new dtoBaseFilters(); filters.Ascending = true; filters.SearchForName = ""; filters.Status = TemplateStatus.Active; filters.TemplateType = type; //filters.SetLoadingType(type); switch (type) { case TemplateType.Module: filters.ModuleCode = View.PreloadModuleCode; break; } filters.Ascending = true; filters.OrderBy = TemplateOrder.ByName; filters.TranslationsStatus = View.GetTranslationsStatus(); filters.TranslationsType = View.GetTranslationsTypes(); filters.TemplateDisplay = TemplateDisplay.OnlyVisible; View.SaveToCookies(filters); } Int32 idUser = UserContext.CurrentUserID; Boolean allowView = false; Boolean allowAdd = false; String addUrl = ""; dtoModuleContext context = new dtoModuleContext(); context.ModuleCode = View.PreloadModuleCode; context.ModulePermissions = View.PreloadModulePermissions; context.IdCommunity = idCommunity; dtoBaseTemplateOwner ownerInfo = null; ModuleTemplateMessages module = null; switch (type) { case TemplateType.System: module = ModuleTemplateMessages.CreatePortalmodule(UserContext.UserTypeID, OwnerType.System); allowView = module.Administration || module.List; allowAdd = module.Administration || module.Add; if (allowAdd) { ownerInfo = new dtoBaseTemplateOwner() { IdCommunity = 0, IsPortal = true, Type = OwnerType.System, ModuleCode = View.PreloadModuleCode, IdModule = (String.IsNullOrEmpty(View.PreloadModuleCode) ? 0 : CurrentManager.GetModuleID(View.PreloadModuleCode)) }; addUrl = RootObject.Add(TemplateType.System, ownerInfo, idCommunity, View.PreloadModuleCode, View.PreloadModulePermissions); } context.LoaderType = TemplateLoaderType.System; context.IdModule = Service.ServiceModuleID(); context.Permissions = new ModuleGenericTemplateMessages(module); break; case TemplateType.Module: if (context.ModuleCode == ModuleTemplateMessages.UniqueCode) { context.IdModule = Service.ServiceModuleID(); module = Service.GetPermission(idCommunity, OwnerType.Module); context.ModulePermissions = module.GetPermissions(); allowView = module.Administration || module.List; allowAdd = module.Administration || module.Add; if (allowAdd) { ownerInfo = new dtoBaseTemplateOwner() { IdCommunity = idCommunity, IsPortal = (idCommunity == 0), Type = OwnerType.Module, ModuleCode = context.ModuleCode, IdModule = context.IdModule, ModulePermission = context.ModulePermissions }; addUrl = RootObject.Add(TemplateType.Module, ownerInfo, idCommunity, context.ModuleCode, context.ModulePermissions); } context.Permissions = new ModuleGenericTemplateMessages(module); context.LoaderType = TemplateLoaderType.Module; } else if (View.PreloadModulePermissions > 0) { context.IdModule = CurrentManager.GetModuleID(context.ModuleCode); long dbPermissions = CurrentManager.GetModulePermission(UserContext.CurrentUserID, idCommunity, context.IdModule); context.Permissions = View.GetModulePermissions(context.ModuleCode, context.IdModule, dbPermissions, idCommunity, UserContext.UserTypeID); if (lm.Comol.Core.DomainModel.PermissionHelper.CheckPermissionSoft(dbPermissions, context.ModulePermissions)) { allowView = true; allowAdd = true; if (allowAdd) { ownerInfo = new dtoBaseTemplateOwner() { IdCommunity = idCommunity, IsPortal = (idCommunity == 0), Type = OwnerType.Module, ModuleCode = context.ModuleCode, IdModule = context.IdModule, ModulePermission = context.ModulePermissions }; addUrl = RootObject.Add(TemplateType.Module, ownerInfo, idCommunity, context.ModuleCode, context.ModulePermissions); } } context.LoaderType = TemplateLoaderType.OtherModule; } else { context.IdModule = CurrentManager.GetModuleID(context.ModuleCode); context.Permissions = View.GetModulePermissions(context.ModuleCode, context.IdModule, GetModulePermission(idCommunity, context.IdModule), idCommunity, UserContext.UserTypeID); context.LoaderType = TemplateLoaderType.OtherModule; allowView = context.Permissions.Administration || context.Permissions.List; allowAdd = context.Permissions.Administration || context.Permissions.Add; if (allowAdd) { ownerInfo = new dtoBaseTemplateOwner() { IdCommunity = idCommunity, IsPortal = (idCommunity == 0), Type = OwnerType.Module, ModuleCode = context.ModuleCode, IdModule = context.IdModule, ModulePermission = context.ModulePermissions }; addUrl = RootObject.Add(TemplateType.Module, ownerInfo, idCommunity, context.ModuleCode, context.ModulePermissions); } } break; case TemplateType.User: Person p = GetCurrentUser(ref idUser); allowView = (p != null && p.TypeID != (Int32)UserTypeStandard.Guest && p.TypeID != (Int32)UserTypeStandard.PublicUser); allowAdd = allowView; if (allowAdd) { ownerInfo = new dtoBaseTemplateOwner() { IdCommunity = idCommunity, IsPortal = (idCommunity == 0), Type = OwnerType.Person, IdPerson = UserContext.CurrentUserID, ModuleCode = View.PreloadModuleCode, IdModule = (String.IsNullOrEmpty(View.PreloadModuleCode) ? 0 : CurrentManager.GetModuleID(View.PreloadModuleCode)) }; addUrl = RootObject.Add(TemplateType.User, ownerInfo, idCommunity, context.ModuleCode, context.ModulePermissions); } context.LoaderType = TemplateLoaderType.User; context.Permissions = new ModuleGenericTemplateMessages("personal"); context.Permissions.Add = allowView; context.Permissions.Administration = allowView; context.Permissions.Clone = allowView; context.Permissions.DeleteMyTemplates = allowView; context.Permissions.Edit = allowView; context.Permissions.List = allowView; break; } if (allowView) { if (allowAdd) { View.SetAddUrl(addUrl); } switch (type) { case TemplateType.User: case TemplateType.System: View.InitializeList(context, filters, GetAvailableTypes(type), GetAvailableDisplay(type)); break; case TemplateType.Module: View.InitializeList(context, filters, GetAvailableTypes(type), GetAvailableDisplay(type)); break; } } else { View.DisplayNoPermission(idCommunity, Service.ServiceModuleID()); } } }