private void InitUserSelector()
        {
            var userSelector = new AdvancedUserSelector
            {
                ID = "userSelector_" + ProductItem.ItemName,
                LinkText = CustomNamingPeople.Substitute<Resources.Resource>("AccessRightsAddUser"),
                IsLinkView = true
            };

            if (ProductItem.ID == new Guid("6743007c-6f95-4d20-8c88-a8601ce5e76d") || ProductItem.ID == new Guid("f4d98afd-d336-4332-8778-3c6945c81ea0"))
            {
                // hack: crm and people products not visible for collaborators
                userSelector.EmployeeType = EmployeeType.User;
            }

            phUserSelector.Controls.Add(userSelector);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            Page.RegisterBodyScripts(PathProvider.GetFileStaticRelativePath("projectaction.js"));

            IsProjectCreatedFromCrm = (Request.Params["opportunityID"] != null || Request.Params["contactID"] != null);

            _hintPopupDeleteProject.Options.IsPopup = true;
            _hintPopupActiveTasks.Options.IsPopup = true;
            _hintPopupActiveMilestones.Options.IsPopup = true;

            var projectManagerSelector = new AdvancedUserSelector
            {
                ID = "projectManagerSelector",
                DefaultGroupText = CustomResourceHelper.GetResource("EmployeeAllDepartments"),
                EmployeeType = EmployeeType.User
            };

            if (Project != null)
            {
                projectTitle.Text = Project.Title;
                projectDescription.Text = Project.Description;
                if (!CoreContext.UserManager.GetUsers(Project.Responsible).IsVisitor())
                    projectManagerSelector.SelectedUserId = Project.Responsible;

                var tags = Global.EngineFactory.GetTagEngine().GetProjectTags(Project.ID).Select(r => r.Value).ToArray();
                ProjectTags = string.Join(", ", tags);

                Page.Title = HeaderStringHelper.GetPageTitle(Project.Title);
            }
            else
            {
                _hintPopupDeleteProject.Options.IsPopup = true;
                _hintPopupActiveTasks.Options.IsPopup = true;
                _hintPopupActiveMilestones.Options.IsPopup = true;

                Page.Title = HeaderStringHelper.GetPageTitle(ProjectResource.CreateNewProject);
                ProjectTags = "";

                Page.Master.RegisterCRMResources();

                LoadProjectTeamSelector();
            }

            projectManagerPlaceHolder.Controls.Add(projectManagerSelector);            
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            _templateConatainerPanel.Options.IsPopup = true;
            _templatePanel.Options.IsPopup = true;

            var entityType = StringToEntityType(Request["view"]);

            InitViewSwitcher(entityType);

            RegisterClientScript(entityType);

            //var cntrlCategorySelector = (CategorySelector)LoadControl(CategorySelector.Location);
            //cntrlCategorySelector.Categories = Global.DaoFactory.GetListItemDao().GetItems(ListType.TaskCategory);
            //cntrlCategorySelector.ID = "taskTemplateCategorySelector";
            //phCategorySelector.Controls.Add(cntrlCategorySelector);

            var emptyScreenControl = new EmptyScreenControl
                {
                    ImgSrc = WebImageSupplier.GetAbsoluteWebPath("empty_screen_tasks.png", ProductEntryPoint.ID),
                    Header = CRMSettingResource.EmptyContentTaskTemplates,
                    Describe = CRMSettingResource.EmptyContentTaskTemplatesDescript,
                    ButtonHTML = String.Format("<a id='addTag' class='link dotline blue plus' onclick='ASC.CRM.TaskTemplateView.showTemplateConatainerPanel();'>{0}</a>",
                                               CRMSettingResource.AddTaskTemplateContainer)
                };

            _phEmptyContent.Controls.Add(emptyScreenControl);

            //init task responsible
            var taskTemplateResponsibleSelector = new AdvancedUserSelector
                {
                    ID = "taskTemplateResponsibleSelector",
                    IsLinkView = false,
                    EmployeeType = EmployeeType.User,
                    LinkText = CustomNamingPeople.Substitute<CRMCommonResource>("AddUser"),
                    ParentContainerHtmlSelector = "#taskTemplateViewAdvUsrSrContainer"
                };
            AdvancedUserSelector.RegisterStartupScripts(Page, taskTemplateResponsibleSelector);

            RegisterScript();
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (TargetDeal != null)
            {
                HavePermission = CRMSecurity.IsAdmin || TargetDeal.CreateBy == SecurityContext.CurrentAccount.ID;
            }
            else
            {
                HavePermission = true;
            }

            if (IsPostBack) return;

            if (TargetDeal == null)
            {
                saveDealButton.Text = CRMDealResource.AddThisDealButton;
                saveAndCreateDealButton.Text = CRMDealResource.AddThisAndCreateDealButton;

                cancelButton.Attributes.Add("href",
                                            Request.UrlReferrer != null && Request.Url != null && String.Compare(Request.UrlReferrer.PathAndQuery, Request.Url.PathAndQuery) != 0
                                                ? Request.UrlReferrer.OriginalString
                                                : "deals.aspx");
            }
            else
            {
                saveDealButton.Text = CRMCommonResource.SaveChanges;

                cancelButton.Attributes.Add("href", String.Format("deals.aspx?id={0}", TargetDeal.ID));
            }


            /* Block for advUserSelector */
            var ResponsibleSelectedUserId = TargetDeal == null ?
                                                SecurityContext.CurrentAccount.ID :
                                                (TargetDeal.ResponsibleID != Guid.Empty ? TargetDeal.ResponsibleID : Guid.Empty);

            var dealResponsibleSelector = new AdvancedUserSelector
                {
                    ID = "userSelector",
                    IsLinkView = false,
                    EmployeeType = EmployeeType.User,
                    SelectedUserId = ResponsibleSelectedUserId,
                    LinkText = CustomNamingPeople.Substitute<CRMCommonResource>("AddUser"),
                    ParentContainerHtmlSelector = "#AdvUserSelectorContainer"
                };
            AdvancedUserSelector.RegisterStartupScripts(Page, dealResponsibleSelector);


            RegisterClientScriptHelper.DataDealActionView(Page, TargetDeal);

            InitPrivatePanel();
            RegisterScript();
        }
 private void LoadProjectManagerSelector()
 {
     var projectManagerSelector = new AdvancedUserSelector
         {
             ID = "projectManagerSelector",
             DefaultGroupText = CustomResourceHelper.GetResource("EmployeeAllDepartments"),
             EmployeeType = EmployeeType.User
         };
     if (Project != null)
     {
         projectManagerSelector.SelectedUserId = Project.Responsible;
     }
     projectManagerPlaceHolder.Controls.Add(projectManagerSelector);
 }
        public static void RegisterStartupScripts(Page page, AdvancedUserSelector advUsrSlr)
        {
            var script = new StringBuilder();
            var jsObjName = advUsrSlr._jsObjName;
            if (String.IsNullOrEmpty(jsObjName))
            {
                jsObjName = String.IsNullOrEmpty(advUsrSlr.ID)
                                ? "advancedUserSelector" + advUsrSlr.UniqueID.Replace('$', '_')
                                : advUsrSlr.ID;
            }

            if (!String.IsNullOrEmpty(advUsrSlr.ParentContainerHtmlSelector))
            {
                var selectedUserName =
                    advUsrSlr.SelectedUserId != Guid.Empty
                        ? CoreContext.UserManager.GetUsers(advUsrSlr.SelectedUserId).DisplayUserName().ReplaceSingleQuote()
                        : "";
                var selectedUserJson = JsonConvert.SerializeObject(new
                    {
                        id = advUsrSlr.SelectedUserId,
                        displayName = selectedUserName
                    });

                script.AppendFormat(@"jq(function(){{
                                        jq.tmpl('advUserSelectorTemplate', {{
                                                jsObjName: '{0}',
                                                InputWidth: {1},
                                                SelectedUser: {2},
                                                IsLinkView: {3},
                                                LinkText: '{4}'
                                                }}).appendTo('{5}');
                                    }});",
                                    jsObjName,
                                    advUsrSlr.InputWidth,
                                    selectedUserJson,
                                    advUsrSlr.IsLinkView.ToString().ToLower(),
                                    advUsrSlr.LinkText.HtmlEncode(),
                                    advUsrSlr.ParentContainerHtmlSelector);
            }

            script.AppendFormat(@" window.{0} = new ASC.Controls.AdvancedUserSelector.UserSelectorPrototype('{1}', '{0}', '&lt;{2}&gt;', '{3}', {4}, '{5}','{6}', {7});",
                                jsObjName,
                                advUsrSlr._selectorID,
                                UserControlsCommonResource.EmptyList,
                                UserControlsCommonResource.ClearFilter,
                                advUsrSlr.IsLinkView.ToString().ToLower(),
                                MobileDetector.IsMobile ? advUsrSlr._linkText.HtmlEncode().ReplaceSingleQuote() : "",
                                String.IsNullOrEmpty(advUsrSlr.DefaultGroupText) ? UserControlsCommonResource.AllDepartments : advUsrSlr.DefaultGroupText,
                                (int)advUsrSlr.EmployeeType);

            if (advUsrSlr.UserList != null && advUsrSlr.UserList.Count > 0)
            {
                if (advUsrSlr.DisabledUsers != null && advUsrSlr.DisabledUsers.Count > 0)
                {
                    advUsrSlr.UserList.RemoveAll(ui => advUsrSlr.DisabledUsers.Contains(ui.ID));
                }

                script.AppendFormat(" {0}.UserIDs = [", jsObjName);
                foreach (var u in advUsrSlr.UserList.SortByUserName())
                {
                    script.AppendFormat("'{0}',", u.ID);
                }
                if (advUsrSlr.UserList.Count > 0)
                {
                    script.Remove(script.Length - 1, 1);
                }

                script.Append("];");
            }

            if (advUsrSlr.DisabledUsers != null && advUsrSlr.DisabledUsers.Count > 0)
            {
                script.AppendFormat(" {0}.DisabledUserIDs = [", jsObjName);
                foreach (var u in advUsrSlr.DisabledUsers)
                {
                    script.AppendFormat("'{0}',", u);

                }
                script.Remove(script.Length - 1, 1);

                script.Append("];");
            }

            if (advUsrSlr.IncludeLockedUsersIntoObject)
            {
                var lockedUsers = CoreContext.UserManager.GetUsers(EmployeeStatus.Terminated);
                script.AppendFormat(" {0}.LockedUsers = [", jsObjName);
                foreach (var u in lockedUsers)
                {
                    script.AppendFormat("{{ID:\"{0}\",Name:\"{1}\",PhotoUrl:\"{2}\"}},",
                                        u.ID, u.DisplayUserName(), u.GetSmallPhotoURL());
                }
                if (lockedUsers.Length > 0)
                    script.Remove(script.Length - 1, 1);

                script.Append("];");
            }


            script.AppendFormat(" {0}.AllDepartmentsGroupName = '{1}';", jsObjName, UserControlsCommonResource.AllDepartments.HtmlEncode().ReplaceSingleQuote());

            if (!String.IsNullOrEmpty(advUsrSlr.AdditionalFunction))
            {
                script.AppendFormat(" {0}.AdditionalFunction = {1};", jsObjName, advUsrSlr.AdditionalFunction);
            }

            if (!Guid.Empty.Equals(advUsrSlr.SelectedUserId))
            {
                script.AppendFormat(" {0}.SelectedUserId = '{1}';", jsObjName, advUsrSlr.SelectedUserId);
            }
            else if (MobileDetector.IsMobile)
            {
                script.AppendFormat(" {0}.SelectedUserId = {0}.Me().find('option:first').attr('selected', 'selected').val();", jsObjName);
            }

            script.AppendFormat("window.{0}.Init();", jsObjName);
            page.RegisterInlineScript(script.ToString(), true);
        }
示例#7
0
        public static void RegisterStartupScripts(Page page, AdvancedUserSelector advUsrSlr)
        {
            var script    = new StringBuilder();
            var jsObjName = advUsrSlr._jsObjName;

            if (String.IsNullOrEmpty(jsObjName))
            {
                jsObjName = String.IsNullOrEmpty(advUsrSlr.ID)
                                ? "advancedUserSelector" + advUsrSlr.UniqueID.Replace('$', '_')
                                : advUsrSlr.ID;
            }

            if (!String.IsNullOrEmpty(advUsrSlr.ParentContainerHtmlSelector))
            {
                var selectedUserName =
                    advUsrSlr.SelectedUserId != Guid.Empty
                        ? CoreContext.UserManager.GetUsers(advUsrSlr.SelectedUserId).DisplayUserName().ReplaceSingleQuote()
                        : "";
                var selectedUserJson = JsonConvert.SerializeObject(new
                {
                    id          = advUsrSlr.SelectedUserId,
                    displayName = selectedUserName
                });

                script.AppendFormat(@"jq(function(){{
                                        jq.tmpl('advUserSelectorTemplate', {{
                                                jsObjName: '{0}',
                                                InputWidth: {1},
                                                SelectedUser: {2},
                                                IsLinkView: {3},
                                                LinkText: '{4}'
                                                }}).appendTo('{5}');
                                    }});",
                                    jsObjName,
                                    advUsrSlr.InputWidth,
                                    selectedUserJson,
                                    advUsrSlr.IsLinkView.ToString().ToLower(),
                                    advUsrSlr.LinkText.HtmlEncode(),
                                    advUsrSlr.ParentContainerHtmlSelector);
            }

            script.AppendFormat(@" window.{0} = new ASC.Controls.AdvancedUserSelector.UserSelectorPrototype('{1}', '{0}', '&lt;{2}&gt;', '{3}', {4}, '{5}','{6}', {7});",
                                jsObjName,
                                advUsrSlr._selectorID,
                                UserControlsCommonResource.EmptyList,
                                UserControlsCommonResource.ClearFilter,
                                advUsrSlr.IsLinkView.ToString().ToLower(),
                                MobileDetector.IsMobile ? advUsrSlr._linkText.HtmlEncode().ReplaceSingleQuote() : "",
                                String.IsNullOrEmpty(advUsrSlr.DefaultGroupText) ? UserControlsCommonResource.AllDepartments : advUsrSlr.DefaultGroupText,
                                (int)advUsrSlr.EmployeeType);

            if (advUsrSlr.UserList != null && advUsrSlr.UserList.Count > 0)
            {
                if (advUsrSlr.DisabledUsers != null && advUsrSlr.DisabledUsers.Count > 0)
                {
                    advUsrSlr.UserList.RemoveAll(ui => advUsrSlr.DisabledUsers.Contains(ui.ID));
                }

                script.AppendFormat(" {0}.UserIDs = [", jsObjName);
                foreach (var u in advUsrSlr.UserList.SortByUserName())
                {
                    script.AppendFormat("'{0}',", u.ID);
                }
                if (advUsrSlr.UserList.Count > 0)
                {
                    script.Remove(script.Length - 1, 1);
                }

                script.Append("];");
            }

            if (advUsrSlr.DisabledUsers != null && advUsrSlr.DisabledUsers.Count > 0)
            {
                script.AppendFormat(" {0}.DisabledUserIDs = [", jsObjName);
                foreach (var u in advUsrSlr.DisabledUsers)
                {
                    script.AppendFormat("'{0}',", u);
                }
                script.Remove(script.Length - 1, 1);

                script.Append("];");
            }

            if (advUsrSlr.IncludeLockedUsersIntoObject)
            {
                var lockedUsers = CoreContext.UserManager.GetUsers(EmployeeStatus.Terminated);
                script.AppendFormat(" {0}.LockedUsers = [", jsObjName);
                foreach (var u in lockedUsers)
                {
                    script.AppendFormat("{{ID:\"{0}\",Name:\"{1}\",PhotoUrl:\"{2}\"}},",
                                        u.ID, u.DisplayUserName(), u.GetSmallPhotoURL());
                }
                if (lockedUsers.Length > 0)
                {
                    script.Remove(script.Length - 1, 1);
                }

                script.Append("];");
            }


            script.AppendFormat(" {0}.AllDepartmentsGroupName = '{1}';", jsObjName, UserControlsCommonResource.AllDepartments.HtmlEncode().ReplaceSingleQuote());

            if (!String.IsNullOrEmpty(advUsrSlr.AdditionalFunction))
            {
                script.AppendFormat(" {0}.AdditionalFunction = {1};", jsObjName, advUsrSlr.AdditionalFunction);
            }

            if (!Guid.Empty.Equals(advUsrSlr.SelectedUserId))
            {
                script.AppendFormat(" {0}.SelectedUserId = '{1}';", jsObjName, advUsrSlr.SelectedUserId);
            }
            else if (MobileDetector.IsMobile)
            {
                script.AppendFormat(" {0}.SelectedUserId = {0}.Me().find('option:first').attr('selected', 'selected').val();", jsObjName);
            }

            script.AppendFormat("window.{0}.Init();", jsObjName);
            page.RegisterInlineScript(script.ToString(), true);
        }