public override void Init() { context = new ProductContext { MasterPageFile = String.Concat(PathProvider.BaseVirtualPath, "Masters/BasicTemplate.Master"), DisabledIconFileName = "product_disabled_logo.png", IconFileName = "product_logo.png", LargeIconFileName = "product_logolarge.svg", SubscriptionManager = new ProductSubscriptionManager(), DefaultSortOrder = 20, SpaceUsageStatManager = new ProjectsSpaceUsageStatManager(), AdminOpportunities = () => ProjectsCommonResource.ProductAdminOpportunities.Split('|').ToList(), UserOpportunities = () => ProjectsCommonResource.ProductUserOpportunities.Split('|').ToList(), HasComplexHierarchyOfAccessRights = true, }; FileEngine.RegisterFileSecurityProvider(); SearchHandlerManager.Registry(new SearchHandler()); NotifyClient.RegisterSecurityInterceptor(); ClientScriptLocalization = new ClientLocalizationResources(); DIHelper.Register(); Mapper.Initialize(cfg => { cfg.CreateMap <Task, TasksWrapper>().ForMember(r => r.TenantId, opt => opt.MapFrom(r => GetCurrentTenant())); cfg.CreateMap <Message, DiscussionsWrapper>().ForMember(r => r.TenantId, opt => opt.MapFrom(r => GetCurrentTenant())); cfg.CreateMap <Milestone, MilestonesWrapper>().ForMember(r => r.TenantId, opt => opt.MapFrom(r => GetCurrentTenant())); cfg.CreateMap <Project, ProjectsWrapper>().ForMember(r => r.TenantId, opt => opt.MapFrom(r => GetCurrentTenant())); cfg.CreateMap <Subtask, SubtasksWrapper>().ForMember(r => r.TenantId, opt => opt.MapFrom(r => GetCurrentTenant())); cfg.CreateMap <Comment, CommentsWrapper>().ForMember(r => r.TenantId, opt => opt.MapFrom(r => GetCurrentTenant())); }); }
public override void Init() { context = new ProductContext { MasterPageFile = String.Concat(PathProvider.BaseVirtualPath, "Masters/BasicTemplate.Master"), DisabledIconFileName = "product_disabled_logo.png", IconFileName = "product_logo.png", LargeIconFileName = "product_logolarge.png", DefaultSortOrder = 30, SubscriptionManager = new ProductSubscriptionManager(), SpaceUsageStatManager = new CRMSpaceUsageStatManager(), AdminOpportunities = () => CRMCommonResource.ProductAdminOpportunities.Split('|').ToList(), UserOpportunities = () => CRMCommonResource.ProductUserOpportunities.Split('|').ToList(), }; if (!FilesIntegration.IsRegisteredFileSecurityProvider("crm", "crm_common")) { FilesIntegration.RegisterFileSecurityProvider("crm", "crm_common", new FileSecurityProvider()); } if (!FilesIntegration.IsRegisteredFileSecurityProvider("crm", "opportunity")) { FilesIntegration.RegisterFileSecurityProvider("crm", "opportunity", new FileSecurityProvider()); } SearchHandlerManager.Registry(new SearchHandler()); GlobalConfiguration.Configuration.Routes.MapHttpRoute( name: "Twilio", routeTemplate: "twilio/{action}", defaults: new { controller = "Twilio", action = "index" }); ClientScriptLocalization = new ClientLocalizationResources(); DIHelper.Register(); }
public override void Init() { context = new ProductContext { MasterPageFile = String.Concat(PathProvider.BaseVirtualPath, "Masters/BasicTemplate.Master"), DisabledIconFileName = "product_logo_disabled.png", IconFileName = "product_logo.png", LargeIconFileName = "product_logo_large.svg", DefaultSortOrder = 100, SubscriptionManager = null, SpaceUsageStatManager = null, AdminOpportunities = () => SampleResource.ProductAdminOpportunities.Split('|').ToList(), UserOpportunities = () => SampleResource.ProductUserOpportunities.Split('|').ToList(), }; SearchHandlerManager.Registry(new SampleSearchHandler()); ClientScriptLocalization = new ClientLocalizationResources(); }
public override void Init() { context = new ProductContext { MasterPageFile = String.Concat(PathProvider.BaseVirtualPath, "Masters/BasicTemplate.Master"), DisabledIconFileName = "product_disabled_logo.png", IconFileName = "product_logo.png", LargeIconFileName = "product_logolarge.png", SubscriptionManager = new ProductSubscriptionManager(), DefaultSortOrder = 20, SpaceUsageStatManager = new ProjectsSpaceUsageStatManager(), AdminOpportunities = () => ProjectsCommonResource.ProductAdminOpportunities.Split('|').ToList(), UserOpportunities = () => ProjectsCommonResource.ProductUserOpportunities.Split('|').ToList(), HasComplexHierarchyOfAccessRights = true, }; FileEngine.RegisterFileSecurityProvider(); SearchHandlerManager.Registry(new SearchHandler()); NotifyClient.RegisterSecurityInterceptor(); ClientScriptLocalization = new ClientLocalizationResources(); DIHelper.Register(); }
public override void Init() { context = new ProductContext { MasterPageFile = String.Concat(PathProvider.BaseVirtualPath, "Masters/BasicTemplate.Master"), DisabledIconFileName = "product_disabled_logo.png", IconFileName = "product_logo.png", LargeIconFileName = "product_logolarge.png", SubscriptionManager = new ProductSubscriptionManager(), DefaultSortOrder = 20, SpaceUsageStatManager = new ProjectsSpaceUsageStatManager(), AdminOpportunities = () => ProjectsCommonResource.ProductAdminOpportunities.Split('|').ToList(), UserOpportunities = () => ProjectsCommonResource.ProductUserOpportunities.Split('|').ToList(), HasComplexHierarchyOfAccessRights = true, }; FileEngine.RegisterFileSecurityProvider(); SearchHandlerManager.Registry(new SearchHandler()); var securityInterceptor = new SendInterceptorSkeleton( "ProjectInterceptorSecurity", InterceptorPlace.DirectSend, InterceptorLifetime.Global, (r, p) => { try { var data = r.ObjectID.Split('_'); var entityType = data[0]; var entityId = Convert.ToInt32(data[1]); var projectId = 0; if (data.Length == 3) { projectId = Convert.ToInt32(r.ObjectID.Split('_')[2]); } switch (entityType) { case "Task": var task = Global.EngineFactory.TaskEngine.GetByID(entityId, false); if (task == null && projectId != 0) { var project = Global.EngineFactory.ProjectEngine.GetByID(projectId, false); return(!ProjectSecurity.CanRead(project, new Guid(r.Recipient.ID))); } return(!ProjectSecurity.CanRead(task, new Guid(r.Recipient.ID))); case "Message": var discussion = Global.EngineFactory.MessageEngine.GetByID(entityId, false); if (discussion == null && projectId != 0) { var project = Global.EngineFactory.ProjectEngine.GetByID(projectId, false); return(!ProjectSecurity.CanRead(project, new Guid(r.Recipient.ID))); } return(!ProjectSecurity.CanRead(discussion, new Guid(r.Recipient.ID))); case "Milestone": var milestone = Global.EngineFactory.MilestoneEngine.GetByID(entityId, false); if (milestone == null && projectId != 0) { var project = Global.EngineFactory.ProjectEngine.GetByID(projectId, false); return(!ProjectSecurity.CanRead(project, new Guid(r.Recipient.ID))); } return(!ProjectSecurity.CanRead(milestone, new Guid(r.Recipient.ID))); } } catch (Exception ex) { LogManager.GetLogger("ASC.Projects.Tasks").Error("Send", ex); } return(false); }); NotifyClient.Instance.Client.AddInterceptor(securityInterceptor); ClientScriptLocalization = new ClientLocalizationResources(); }