Exemplo n.º 1
0
        protected void ExecCasesDetailsView(ASC.CRM.Core.Entities.Cases targetCase)
        {
            Master.DisabledSidePanel = true;
            Master.BreadCrumbs.Add(new BreadCrumb
            {
                Caption       = CRMCasesResource.AllCases,
                NavigationUrl = "cases.aspx"
            });

            var casesDetailsViewControl = (CasesDetailsView)LoadControl(CasesDetailsView.Location);

            casesDetailsViewControl.TargetCase = targetCase;

            Master.BreadCrumbs.Add(new BreadCrumb
            {
                Caption = targetCase.Title
            });

            var title = targetCase.Title.HtmlEncode();

            if (CRMSecurity.IsPrivate(targetCase))
            {
                Master.CommonContainerHeader = Global.RenderPrivateItemHeader(title, EntityType.Case, targetCase.ID);
            }

            CommonContainerHolder.Controls.Add(casesDetailsViewControl);

            Title = HeaderStringHelper.GetPageTitle(targetCase.Title.HtmlEncode(), Master.BreadCrumbs);
        }
Exemplo n.º 2
0
        protected void ExecCasesActionView(ASC.CRM.Core.Entities.Cases targetCase)
        {
            var casesActionViewControl = (CasesActionView)LoadControl(CasesActionView.Location);

            casesActionViewControl.TargetCase = targetCase;
            CommonContainerHolder.Controls.Add(casesActionViewControl);

            var headerTitle = targetCase == null ? CRMCasesResource.CreateNewCase : String.Format(CRMCasesResource.EditCaseHeader, targetCase.Title);

            Master.CurrentPageCaption = headerTitle;
            Title = HeaderStringHelper.GetPageTitle(headerTitle);
        }
Exemplo n.º 3
0
        protected void ExecCasesDetailsView(ASC.CRM.Core.Entities.Cases targetCase)
        {
            var casesDetailsViewControl = (CasesDetailsView)LoadControl(CasesDetailsView.Location);

            casesDetailsViewControl.TargetCase = targetCase;
            CommonContainerHolder.Controls.Add(casesDetailsViewControl);

            var title = targetCase.Title;

            Master.CurrentPageCaption    = title;
            Master.CommonContainerHeader = Global.RenderItemHeaderWithMenu(title.HtmlEncode(), EntityType.Case, CRMSecurity.IsPrivate(targetCase), true);

            Title = HeaderStringHelper.GetPageTitle(title);
        }
Exemplo n.º 4
0
        protected override void PageLoad()
        {
            AjaxPro.Utility.RegisterTypeForAjax(typeof(Tasks));

            int caseID;

            if (int.TryParse(UrlParameters.ID, out caseID))
            {
                ASC.CRM.Core.Entities.Cases targetCase = Global.DaoFactory.GetCasesDao().GetByID(caseID);

                if (targetCase == null || !CRMSecurity.CanAccessTo(targetCase))
                {
                    Response.Redirect(PathProvider.StartURL());
                }

                if (String.Compare(UrlParameters.Action, "manage", true) == 0)
                {
                    ExecCasesActionView(targetCase);
                }
                else if (String.Compare(UrlParameters.Action, "delete", true) == 0)
                {
                    DeleteCase(caseID);
                    Response.Redirect("cases.aspx");
                }
                else
                {
                    ExecCasesDetailsView(targetCase);
                }
            }
            else
            {
                if (String.Compare(UrlParameters.Action, "manage", true) == 0)
                {
                    ExecCasesActionView(null);
                }
                else if (String.Compare(UrlParameters.Action, "import", true) == 0)
                {
                    ExecImportView();
                }
                else
                {
                    ExecListCasesView();
                }
            }
        }
Exemplo n.º 5
0
        protected override void PageLoad()
        {
            int caseID;

            if (int.TryParse(UrlParameters.ID, out caseID))
            {
                ASC.CRM.Core.Entities.Cases targetCase = DaoFactory.CasesDao.GetByID(caseID);

                if (targetCase == null || !CRMSecurity.CanAccessTo(targetCase))
                {
                    Response.Redirect(PathProvider.StartURL() + "Cases.aspx");
                }

                if (string.Compare(UrlParameters.Action, "manage", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    if (!CRMSecurity.CanEdit(targetCase))
                    {
                        Response.Redirect(PathProvider.StartURL() + "Cases.aspx");
                    }
                    ExecCasesActionView(targetCase);
                }
                else
                {
                    ExecCasesDetailsView(targetCase);
                }
            }
            else
            {
                if (string.Compare(UrlParameters.Action, "manage", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    ExecCasesActionView(null);
                }
                else if (string.Compare(UrlParameters.Action, "import", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    ExecImportView();
                }
                else
                {
                    ExecListCasesView();
                }
            }
        }
Exemplo n.º 6
0
        protected void SetPermission(ASC.CRM.Core.Entities.Cases targetCase, bool isPrivate, string selectedUsers)
        {
            if (isPrivate)
            {
                var selectedUserList = selectedUsers
                                       .Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
                                       .Select(item => new Guid(item)).ToList();

                CRMSecurity.MakePublic(targetCase);

                if (selectedUserList.Count > 0)
                {
                    CRMSecurity.SetAccessTo(targetCase, selectedUserList);
                }
            }
            else
            {
                CRMSecurity.MakePublic(targetCase);
            }
        }
Exemplo n.º 7
0
        protected void SetPermission(ASC.CRM.Core.Entities.Cases caseItem)
        {
            if (HavePermission)
            {
                var isPrivate          = false;
                var notifyPrivateUsers = false;

                bool value;
                if (bool.TryParse(Request.Form["isPrivateCase"], out value))
                {
                    isPrivate = value;
                }
                if (bool.TryParse(Request.Form["notifyPrivateUsers"], out value))
                {
                    notifyPrivateUsers = value;
                }

                if (isPrivate)
                {
                    var selectedUserList = Request["selectedUsersCase"]
                                           .Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
                                           .Select(item => new Guid(item)).ToList();

                    if (notifyPrivateUsers)
                    {
                        Services.NotifyService.NotifyClient.Instance.SendAboutSetAccess(EntityType.Case, caseItem.ID, selectedUserList.ToArray());
                    }

                    selectedUserList.Add(SecurityContext.CurrentAccount.ID);
                    CRMSecurity.SetAccessTo(caseItem, selectedUserList);
                }
                else
                {
                    CRMSecurity.MakePublic(caseItem);
                }
            }
        }
Exemplo n.º 8
0
        protected void ExecCasesActionView(ASC.CRM.Core.Entities.Cases targetCase)
        {
            Master.DisabledSidePanel = true;

            var casesActionViewControl = (CasesActionView)LoadControl(CasesActionView.Location);

            casesActionViewControl.TargetCase = targetCase;

            CommonContainerHolder.Controls.Add(casesActionViewControl);

            var headerTitle = targetCase == null ? CRMCasesResource.AddCase : String.Format(CRMCasesResource.EditCaseHeader, targetCase.Title);

            Master.BreadCrumbs.Add(new BreadCrumb
            {
                Caption = headerTitle
            });

            SideNavigatorPanel.Visible = false;

            //if (CRMSecurity.IsAdmin)
            //{
            //    SideActionsPanel.Controls.Add(new NavigationItem
            //    {
            //        Name = CRMDealResource.SettingCustomFields,
            //        URL = "settings.aspx?type=custom_field&view=case"
            //    });
            //}

            //if (targetCase != null)
            //    SideActionsPanel.Controls.Add(new NavigationItem
            //    {
            //        Name = CRMCasesResource.DeleteThisCase,
            //        URL = String.Format("javascript:deleteCase({0})", targetCase.ID)
            //    });

            Title = HeaderStringHelper.GetPageTitle(headerTitle.HtmlEncode(), Master.BreadCrumbs);
        }