private void CheckRibbonBehavior() { SPRibbon spRibbon = SPRibbon.GetCurrent(Page); if (spRibbon == null) { return; } //Ribbon Behaviour: SPList list = SPContext.Current.Web.Lists.TryGetList("Resources"); EPMLiveCore.GridGanttSettings gSettings = new EPMLiveCore.GridGanttSettings(list); string resourceRibbonBehavior = gSettings.RibbonBehavior; switch (resourceRibbonBehavior) { case "2": //Hidden { spRibbon.TrimById(HIDE_TAB); spRibbon.TrimById(PAGE_TAB); spRibbon.TrimById(MANAGE_TAB); spRibbon.TrimById(VIEWS_TAB); } break; } }
private static ArrayList iGetAssociatedLists(SPList list) { ArrayList a = new ArrayList(); foreach (SPList cList in list.ParentWeb.Lists) { try { foreach (SPField field in cList.Fields) { if (field.Type == SPFieldType.Lookup) { SPFieldLookup fl = (SPFieldLookup)field; if (fl.LookupList.ToLower() == "{" + list.ID.ToString().ToLower() + "}") { EPMLiveCore.GridGanttSettings gSets = (EPMLiveCore.GridGanttSettings)EPMLiveCore.Infrastructure.CacheStore.Current.Get("GGS", "GridSettings-" + cList.ID.ToString(), () => { return(new EPMLiveCore.GridGanttSettings(cList)); }).Value; if (gSets.AssociatedItems) { AssociatedListInfo lInfo = new AssociatedListInfo(); lInfo.icon = cList.ImageUrl; lInfo.LinkedField = field.InternalName; lInfo.ListId = cList.ID; lInfo.Title = cList.Title; a.Add(lInfo); } break; } } } } catch { } } return(a); }
private void buildParams() { EPMLiveCore.GridGanttSettings gSettings = new EPMLiveCore.GridGanttSettings(list); rollupLists = gSettings.RollupLists; hideNew = gSettings.HideNewButton; disableNewButtonModification = gSettings.DisableNewItemMod; useNewMenu = gSettings.UseNewMenu; newMenuName = gSettings.NewMenuName; SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite site = new SPSite(web.Site.ID)) { using (SPWeb w = site.OpenWeb(web.ID)) { string _templateResourceUrl = EPMLiveCore.CoreFunctions.getConfigSetting(w, "EPMLiveTemplateGalleryURL", true, false); try { using (SPSite tsite = new SPSite(_templateResourceUrl)) { using (SPWeb tweb = tsite.OpenWeb()) { SPList tlist = tweb.Lists.TryGetList("Template Gallery"); if (tlist != null) { hasList = true; } } } } catch { } } } }); }
private string getParam() { string data = ""; SPWeb web = SPContext.Current.Web; { EPMLiveCore.GridGanttSettings gSettings = new EPMLiveCore.GridGanttSettings(list); string strRollupLists = ""; string resources = ""; strRollupLists = gSettings.RollupLists; if (Request["useResPool"] == "true") { string[] strResList = Request["resources"].Split(';'); Guid lockWeb = EPMLiveCore.CoreFunctions.getLockedWeb(list.ParentWeb); string resURL = EPMLiveCore.CoreFunctions.getConfigSetting(web, "EPMLiveResourceURL"); if (resURL.ToLower() == web.ServerRelativeUrl.ToLower()) { try { SPList resList = web.Lists[EPMLiveCore.CoreFunctions.getConfigSetting(web, "EPMLiveResourcePool")]; foreach (string strRes in strResList) { try { SPListItem li = resList.GetItemById(int.Parse(strRes)); SPFieldUserValue uv = new SPFieldUserValue(web, li["SharePointAccount"].ToString()); SPUser user = web.SiteUsers.GetByID(uv.LookupId); resources += ";#" + user.Name; } catch { } } } catch { } } } else { string[] strResList = Request["resources"].Split(';'); foreach (string strRes in strResList) { try { SPUser user = web.SiteUsers[strRes.Trim()]; resources += ";#" + user.Name; } catch { } } } if (resources.Length > 2) { resources = resources.Substring(2); } data = "Lists/Resource Center/DispForm.aspx\n" + view.Title + "\nStartDate\nDueDate\nPercentComplete\n\n\nTrue\n\n\n" + strRollupLists + "\n" + Page.Request["FilterField1"] + "\n" + Page.Request["FilterValue1"] + "\n\n" + resources; strWorkplanner = Request["workplanner"]; strItemId = Request["itemid"]; } byte[] toEncodeAsBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(data); return(Convert.ToBase64String(toEncodeAsBytes)); }
protected override void OnPreRender(System.EventArgs e) { SPWeb Web = SPContext.Current.Web; SPList List = SPContext.Current.List; SPListItem ListItem = SPContext.Current.ListItem; CssRegistration.Register("/_layouts/epmlive/modal/modal.css"); ScriptLink.Register(Page, "/_layouts/epmlive/modal/modal.js", false); SPRibbon ribbon = SPRibbon.GetCurrent(this.Page); RegisterArchiveRestoreFormButtons(Web, List, ListItem, ribbon); ribbon.TrimById("Ribbon.ListForm.Display.Manage.EditItem"); XmlDocument ribbonExtensions = new XmlDocument(); if (NavigationService.LPPFEPermissionCheck(List, SPBasePermissions.EditListItems)) { ribbonExtensions.LoadXml(@"<Button Id=""Ribbon.ListForm.Display.Manage.EditItem2"" Sequence=""10"" Command=""Ribbon.ListForm.Display.Manage.EditItem2"" Image16by16=""/_layouts/" + Web.Language + @"/images/formatmap16x16.png"" Image16by16Top=""-128"" Image16by16Left=""-224"" Image32by32=""/_layouts/" + Web.Language + @"/images/formatmap32x32.png"" Image32by32Top=""-128"" Image32by32Left=""-96"" LabelText=""Edit Item"" TemplateAlias=""o1""/>"); ribbon.RegisterDataExtension(ribbonExtensions.FirstChild, "Ribbon.ListForm.Display.Manage.Controls._children"); } if (!NavigationService.LPPFEPermissionCheck(List, SPBasePermissions.DeleteListItems)) { ribbon.TrimById("Ribbon.ListForm.Display.Manage.DeleteItem"); } EPMLiveCore.GridGanttSettings gSettings = API.ListCommands.GetGridGanttSettings(List); ArrayList arrAssoc = API.ListCommands.GetAssociatedLists(List); if (gSettings.AssociatedItems) { StringBuilder sbLists = new StringBuilder(); foreach (EPMLiveCore.API.AssociatedListInfo ali in arrAssoc) { //sbLists.Append("<Button Id=\"Ribbon.ListForm.Display.Manage.LinkedItemsButton\" Sequence=\"20\" Command=\""); sbLists.Append("<Button Sequence=\"20\" Command=\""); sbLists.Append("Ribbon.ListForm.Display.Associated.LinkedItemsButton"); sbLists.Append("\" Id=\"Ribbon.ListForm.Display.Associated."); sbLists.Append(HttpUtility.HtmlEncode(ali.Title)); sbLists.Append("."); sbLists.Append(ali.LinkedField); sbLists.Append("\" LabelText=\""); sbLists.Append(HttpUtility.HtmlEncode(ali.Title)); sbLists.Append("\" TemplateAlias=\"o1\" Image16by16=\""); sbLists.Append(ali.icon); sbLists.Append("\"/>"); } if (sbLists.Length > 0) { StringBuilder sbLinkedItems = new StringBuilder(); sbLinkedItems.Append("<Group Id=\"Ribbon.ListForm.Display.Associated\" Sequence=\"41\" Command=\"Ribbon.ListForm.Display.Associated.LinkedItems\" Description=\"\" Title=\"Associated Items\" Template=\"Ribbon.Templates.Flexible2\">"); sbLinkedItems.Append("<Controls Id=\"Ribbon.ListForm.Display.Associated.Controls\">"); sbLinkedItems.Append(sbLists); sbLinkedItems.Append("</Controls>"); sbLinkedItems.Append("</Group>"); ribbonExtensions = new XmlDocument(); ribbonExtensions.LoadXml(sbLinkedItems.ToString()); ribbon.RegisterDataExtension(ribbonExtensions.FirstChild, "Ribbon.ListForm.Display.Groups._children"); ribbonExtensions = new XmlDocument(); ribbonExtensions.LoadXml("<MaxSize Id=\"Ribbon.ListForm.Display.Associated.MaxSize\" Sequence=\"10\" GroupId=\"Ribbon.ListForm.Display.Associated\" Size=\"MediumMedium\" />"); ribbon.RegisterDataExtension(ribbonExtensions.FirstChild, "Ribbon.ListForm.Display.Scaling._children"); //StringBuilder sbLinkedItems = new StringBuilder(); //sbLinkedItems.Append("<FlyoutAnchor Id=\"Ribbon.ListForm.Display.Manage.LinkedItems\" Sequence=\"39\" Command=\""); //sbLinkedItems.Append("Ribbon.ListForm.Display.Manage.LinkedItems"); //sbLinkedItems.Append("\" Image32by32=\"/_layouts/epmlive/images/linkeditems.gif\" LabelText=\"Associated Items\" TemplateAlias=\"o1\">"); //sbLinkedItems.Append("<Menu Id=\"Ribbon.List.EPMLive.LinkedItems.Menu\">"); //sbLinkedItems.Append("<MenuSection Id=\"Ribbon.List.EPMLive.LinkedItems.Menu.Scope\" Sequence=\"10\" DisplayMode=\"Menu16\">"); //sbLinkedItems.Append("<Controls Id=\"Ribbon.List.EPMLive.LinkedItems.Menu.Scope.Controls\">"); //sbLinkedItems.Append(sbLists); //sbLinkedItems.Append("</Controls>"); //sbLinkedItems.Append("</MenuSection>"); //sbLinkedItems.Append("</Menu>"); //sbLinkedItems.Append("</FlyoutAnchor>"); //ribbonExtensions.LoadXml(sbLinkedItems.ToString()); //ribbon.RegisterDataExtension(ribbonExtensions.FirstChild, //"Ribbon.ListForm.Display.Manage.Controls._children"); } } //======================Planner================== API.ListPlannerProps p = API.ListCommands.GetListPlannerInfo(List); if (p.PlannerV2Menu != "") { ribbonExtensions.LoadXml(p.PlannerV2Menu.Replace("EPMLivePlanner", "Ribbon.ListForm.Display.Manage.EPMLivePlanner").Replace("TaskPlanner", "Ribbon.ListForm.Display.Manage.TaskPlanner")); ribbon.RegisterDataExtension(ribbonExtensions.FirstChild, "Ribbon.ListForm.Display.Manage.Controls._children"); //if(bPlanner == 1) //{ // EPMLiveWorkPlanner.WorkPlannerAPI.PlannerProps props = EPMLiveWorkPlanner.WorkPlannerAPI.getSettings(Web, sPlannerID); // bUseTeam = props.bUseTeam; // ribbonExtensions.LoadXml("<Button Id=\"Ribbon.ListItem.EPMLive.BuildTeam\" Sequence=\"41\" Command=\"Ribbon.ListForm.Display.Manage.BuildTeam\" LabelText=\"Build Team\" TemplateAlias=\"o1\" Image32by32=\"/_layouts/epmlive/images/editteam32.gif\"/>"); // ribbon.RegisterDataExtension(ribbonExtensions.FirstChild, "Ribbon.ListForm.Display.Manage.Controls._children"); //} } //=====================Create Workspace=========== if (gSettings.EnableRequests) { string childitem = ""; try { childitem = ListItem["WorkspaceUrl"].ToString(); } catch { } if ((ListItem.ModerationInformation == null || ListItem.ModerationInformation.Status == SPModerationStatusType.Approved) && childitem == "") { ribbonExtensions = new XmlDocument(); ribbonExtensions.LoadXml("<Button Id=\"Ribbon.ListItem.EPMLive.CreateWorkspace\" Sequence=\"50\" Command=\"Ribbon.ListForm.Display.Manage.CreateWorkspace\" LabelText=\"Create Workspace\" TemplateAlias=\"o2\" Image16by16=\"_layouts/images/epmlivelogosmall.gif\"/>"); ribbon.RegisterDataExtension(ribbonExtensions.FirstChild, "Ribbon.ListForm.Display.Manage.Controls._children"); } } //=====================Favorite if (Web.Features[new Guid("046f0200-30e5-4545-b00f-c8c73aef9f0e")] != null) { ribbonExtensions = new XmlDocument(); ribbonExtensions.LoadXml("<Button Id=\"Ribbon.ListItem.EPMLive.FavoriteStatus\" Sequence=\"100\" Command=\"Ribbon.ListForm.Display.Actions.Favorite\" LabelText=\"Favorite\" TemplateAlias=\"o1\" Image32by32=\"_layouts/epmlive/images/star32.png\" Image16by16=\"_layouts/epmlive/images/star16.png\"/>"); ribbon.RegisterDataExtension(ribbonExtensions.FirstChild, "Ribbon.ListForm.Display.Actions.Controls._children"); ribbonExtensions = new XmlDocument(); ribbonExtensions.LoadXml("<Button Id=\"Ribbon.ListItem.EPMLive.FavoriteStatus\" Sequence=\"100\" Command=\"Ribbon.ListForm.Display.Actions.Favorite\" LabelText=\"Favorite\" TemplateAlias=\"o1\" Image32by32=\"_layouts/epmlive/images/star32.png\" Image16by16=\"_layouts/epmlive/images/star16.png\"/>"); ribbon.RegisterDataExtension(ribbonExtensions.FirstChild, "Ribbon.ListForm.Edit.Actions.Controls._children"); ribbonExtensions = new XmlDocument(); ribbonExtensions.LoadXml("<Button Id=\"Ribbon.ListItem.EPMLive.FavoriteStatus\" Sequence=\"100\" Command=\"Ribbon.ListForm.Display.Actions.Favorite\" LabelText=\"Favorite\" TemplateAlias=\"o1\" Image32by32=\"_layouts/epmlive/images/star32.png\" Image16by16=\"_layouts/epmlive/images/star16.png\"/>"); ribbon.RegisterDataExtension(ribbonExtensions.FirstChild, "Ribbon.DocLibListForm.Edit.Actions.Controls._children"); } EPMLiveCore.API.RibbonProperties rp = (EPMLiveCore.API.RibbonProperties)EPMLiveCore.Infrastructure.CacheStore.Current.Get("GR-" + Web.CurrentUser.ID, "GridSettings-" + List.ID, () => { return(EPMLiveCore.API.ListCommands.GetRibbonProps(List)); }).Value; //=====================Build Team=========== try { if (rp.bBuildTeam) { ribbonExtensions = new XmlDocument(); ribbonExtensions.LoadXml("<Button Id=\"Ribbon.ListItem.EPMLive.BuildTeam\" Sequence=\"50\" Command=\"Ribbon.ListForm.Display.Manage.BuildTeam\" LabelText=\"Edit Team\" TemplateAlias=\"o2\" Image16by16=\"_layouts/epmlive/images/buildteam16.gif\"/>"); ribbon.RegisterDataExtension(ribbonExtensions.FirstChild, "Ribbon.ListForm.Display.Manage.Controls._children"); } } catch { } //==========Go To Workspace================= string workspaceurl = ""; try { workspaceurl = ListItem["WorkspaceUrl"].ToString(); } catch { } if (workspaceurl != "") { ribbonExtensions = new XmlDocument(); ribbonExtensions.LoadXml("<Button Id=\"Ribbon.ListItem.EPMLive.GoToWorkspace\" Sequence=\"55\" Command=\"Ribbon.ListForm.Display.Manage.GoToWorkspace\" LabelText=\"Go To Workspace\" TemplateAlias=\"o1\" Image32by32=\"_layouts/images/spgraphic.gif\" Image32by32Top=\"7\" Image32by32Left=\"4\"/>"); ribbon.RegisterDataExtension(ribbonExtensions.FirstChild, "Ribbon.ListForm.Display.Manage.Controls._children"); } //================EPK=================== if (rp.aEPKButtons.Contains("costs")) { ribbonExtensions = new XmlDocument(); ribbonExtensions.LoadXml(@"<Button Id=""Ribbon.ListItem.Manage.EPKCosts"" Sequence=""101"" Command=""Ribbon.ListForm.Display.Manage.EPKCost"" Image32by32=""/_layouts/epmlive/images/editcosts.png"" LabelText=""Edit Costs"" TemplateAlias=""o1"" />"); ribbon.RegisterDataExtension(ribbonExtensions.FirstChild, "Ribbon.ListForm.Display.Manage.Controls._children"); } if (rp.aEPKButtons.Contains("resplan")) { if (rp.aEPKActivex.Contains("resplan")) { ribbonExtensions = new XmlDocument(); ribbonExtensions.LoadXml(@"<Button Id=""Ribbon.ListItem.Manage.EPKResourcePlanner"" Sequence=""103"" Command=""Ribbon.ListForm.Display.Manage.EPKRP"" Image32by32=""/_layouts/epmlive/images/ribbon32.png"" Image32by32Top=""-65"" LabelText=""Edit Resource Plan"" TemplateAlias=""o1"" />"); ribbon.RegisterDataExtension(ribbonExtensions.FirstChild, "Ribbon.ListForm.Display.Manage.Controls._children"); } else { ribbonExtensions = new XmlDocument(); ribbonExtensions.LoadXml(@"<Button Id=""Ribbon.ListItem.Manage.EPKResourcePlanner"" Sequence=""103"" Command=""Ribbon.ListForm.Display.Manage.EPKRPM"" Image16by16=""/_layouts/1033/images/formatmap16x16.png"" Image16by16Top=""-64"" Image16by16Left=""-128"" LabelText=""Resource Planner"" TemplateAlias=""o2"" />"); ribbon.RegisterDataExtension(ribbonExtensions.FirstChild, "Ribbon.ListForm.Display.Manage.Controls._children"); } } API.Integration.IntegrationCore core = new API.Integration.IntegrationCore(Web.Site.ID, Web.ID); string Errors = ""; int seq = 130; var commands = new List <IRibbonCommand>(); List <EPMLiveIntegration.IntegrationControl> ics = core.GetItemButtons(ListItem.ParentList.ID, ListItem, out Errors); foreach (EPMLiveIntegration.IntegrationControl ic in ics) { ribbonExtensions = new XmlDocument(); ribbonExtensions.LoadXml(@"<Button Id=""EPMINT." + ic.Control + @"." + (int)ic.Window + @""" Sequence=""" + (seq++).ToString() + @""" Command=""Ribbon.ListForm.Display.Manage.EPMINT"" Image32by32=""/_layouts/15/images/" + ic.Image + @""" LabelText=""" + ic.Title + @""" TemplateAlias=""o1"" />"); ribbon.RegisterDataExtension(ribbonExtensions.FirstChild, "Ribbon.ListForm.Display.Manage.Controls._children"); } //=============================================== // register the command at the ribbon. Include the callback to the server // to generate the xml //commands.Add(new SPRibbonCommand("Ribbon.ListForm.Display.Manage.EditItem2", "alert('test');", "true")); var manager = new SPRibbonScriptManager(); var methodInfo = typeof(SPRibbonScriptManager).GetMethod("RegisterInitializeFunction", BindingFlags.Instance | BindingFlags.NonPublic); methodInfo.Invoke(manager, new object[] { Page, "InitPageComponent", "/_layouts/epmlive/WEDispFormPageComponent.js", false, "WEDispFormPageComponent.PageComponent.initialize()" }); manager.RegisterGetCommandsFunction(Page, "getGlobalCommands", commands); manager.RegisterCommandEnabledFunction(Page, "commandEnabled", commands); manager.RegisterHandleCommandFunction(Page, "handleCommand", commands); }