public void UpdatePage(string id, Rock.CMS.DTO.Page Page) { var currentUser = Rock.CMS.UserService.GetCurrentUser(); if (currentUser == null) { throw new WebFaultException <string>("Must be logged in", System.Net.HttpStatusCode.Forbidden); } using (Rock.Data.UnitOfWorkScope uow = new Rock.Data.UnitOfWorkScope()) { uow.objectContext.Configuration.ProxyCreationEnabled = false; Rock.CMS.PageService PageService = new Rock.CMS.PageService(); Rock.CMS.Page existingPage = PageService.Get(int.Parse(id)); if (existingPage.Authorized("Edit", currentUser)) { uow.objectContext.Entry(existingPage).CurrentValues.SetValues(Page); if (existingPage.IsValid) { PageService.Save(existingPage, currentUser.PersonId); } else { throw new WebFaultException <string>(existingPage.ValidationResults.AsDelimited(", "), System.Net.HttpStatusCode.BadRequest); } } else { throw new WebFaultException <string>("Not Authorized to Edit this Page", System.Net.HttpStatusCode.Forbidden); } } }
public void DeletePage(string id) { var currentUser = Rock.CMS.UserService.GetCurrentUser(); if (currentUser == null) { throw new WebFaultException <string>("Must be logged in", System.Net.HttpStatusCode.Forbidden); } using (Rock.Data.UnitOfWorkScope uow = new Rock.Data.UnitOfWorkScope()) { uow.objectContext.Configuration.ProxyCreationEnabled = false; Rock.CMS.PageService PageService = new Rock.CMS.PageService(); Rock.CMS.Page Page = PageService.Get(int.Parse(id)); if (Page.Authorized("Edit", currentUser)) { PageService.Delete(Page, currentUser.PersonId); PageService.Save(Page, currentUser.PersonId); } else { throw new WebFaultException <string>("Not Authorized to Edit this Page", System.Net.HttpStatusCode.Forbidden); } } }
public Rock.CMS.DTO.Page ApiGet(string id, string apiKey) { using (Rock.Data.UnitOfWorkScope uow = new Rock.Data.UnitOfWorkScope()) { Rock.CMS.UserService userService = new Rock.CMS.UserService(); Rock.CMS.User user = userService.Queryable().Where(u => u.ApiKey == apiKey).FirstOrDefault(); if (user != null) { uow.objectContext.Configuration.ProxyCreationEnabled = false; Rock.CMS.PageService PageService = new Rock.CMS.PageService(); Rock.CMS.Page Page = PageService.Get(int.Parse(id)); if (Page.Authorized("View", user)) { return(Page.DataTransferObject); } else { throw new WebFaultException <string>("Not Authorized to View this Page", System.Net.HttpStatusCode.Forbidden); } } else { throw new WebFaultException <string>("Invalid API Key", System.Net.HttpStatusCode.Forbidden); } } }
public void ApiDeletePage(string id, string apiKey) { using (Rock.Data.UnitOfWorkScope uow = new Rock.Data.UnitOfWorkScope()) { Rock.CMS.UserService userService = new Rock.CMS.UserService(); Rock.CMS.User user = userService.Queryable().Where(u => u.ApiKey == apiKey).FirstOrDefault(); if (user != null) { uow.objectContext.Configuration.ProxyCreationEnabled = false; Rock.CMS.PageService PageService = new Rock.CMS.PageService(); Rock.CMS.Page Page = PageService.Get(int.Parse(id)); if (Page.Authorized("Edit", user)) { PageService.Delete(Page, user.PersonId); PageService.Save(Page, user.PersonId); } else { throw new WebFaultException <string>("Not Authorized to Edit this Page", System.Net.HttpStatusCode.Forbidden); } } else { throw new WebFaultException <string>("Invalid API Key", System.Net.HttpStatusCode.Forbidden); } } }
public void ApiCreatePage(string apiKey, Rock.CMS.DTO.Page Page) { using (Rock.Data.UnitOfWorkScope uow = new Rock.Data.UnitOfWorkScope()) { Rock.CMS.UserService userService = new Rock.CMS.UserService(); Rock.CMS.User user = userService.Queryable().Where(u => u.ApiKey == apiKey).FirstOrDefault(); if (user != null) { uow.objectContext.Configuration.ProxyCreationEnabled = false; Rock.CMS.PageService PageService = new Rock.CMS.PageService(); Rock.CMS.Page existingPage = new Rock.CMS.Page(); PageService.Add(existingPage, user.PersonId); uow.objectContext.Entry(existingPage).CurrentValues.SetValues(Page); if (existingPage.IsValid) { PageService.Save(existingPage, user.PersonId); } else { throw new WebFaultException <string>(existingPage.ValidationResults.AsDelimited(", "), System.Net.HttpStatusCode.BadRequest); } } else { throw new WebFaultException <string>("Invalid API Key", System.Net.HttpStatusCode.Forbidden); } } }
protected void btnSave_Click( object sender, EventArgs e ) { Rock.CMS.Page page; int pageId = 0; if ( !Int32.TryParse( hfPageId.Value, out pageId ) ) pageId = 0; if ( pageId == 0 ) { page = new Rock.CMS.Page(); if ( _page != null ) { page.ParentPageId = _page.Id; page.SiteId = _page.Site.Id; } else { page.ParentPageId = null; page.SiteId = PageInstance.Site.Id; } page.Title = tbPageName.Text; page.EnableViewState = true; page.IncludeAdminFooter = true; Rock.CMS.Page lastPage = pageService.GetByParentPageId( _page.Id ). OrderByDescending( b => b.Order ).FirstOrDefault(); if ( lastPage != null ) page.Order = lastPage.Order + 1; else page.Order = 0; pageService.Add( page, CurrentPersonId ); } else page = pageService.Get( pageId ); page.Layout = ddlLayout.Text; page.Name = tbPageName.Text; pageService.Save( page, CurrentPersonId ); if ( _page != null ) { Rock.Security.Authorization.CopyAuthorization( _page, page, CurrentPersonId ); _page.FlushChildPages(); } BindGrid(); rGrid.Visible = true; pnlDetails.Visible = false; }
private void AddPage(Rock.CMS.Page page, int level) { string pageName = new string( '-', level ) + page.Name; ddlDefaultPage.Items.Add(new ListItem(pageName, page.Id.ToString())); foreach (var childPage in page.Pages) { AddPage(childPage, level + 1); } }
protected void rGrid_Delete(object sender, RowEventArgs e) { Rock.CMS.Page page = pageService.Get(( int )rGrid.DataKeys[e.RowIndex]["id"]); if (page != null) { Rock.Web.Cache.Page.Flush(page.Id); pageService.Delete(page, CurrentPersonId); pageService.Save(page, CurrentPersonId); if (_page != null) { _page.FlushChildPages(); } } BindGrid(); }
void rGrid_GridAdd( object sender, EventArgs e ) { Rock.CMS.Page page = new Rock.CMS.Page(); page.Name = "New Page"; Rock.CMS.Page lastPage = pageService.Queryable(). Where( p => !p.ParentPageId.HasValue). OrderByDescending( b => b.Order ).FirstOrDefault(); if ( lastPage != null ) page.Order = lastPage.Order + 1; else page.Order = 0; pageService.Add( page, CurrentPersonId ); pageService.Save( page, CurrentPersonId ); BindGrid(); }
protected void ShowEdit(int pageId) { Rock.CMS.Page page = pageService.Get(pageId); if (page != null) { hfPageId.Value = page.Id.ToString(); try { ddlLayout.Text = page.Layout; } catch { } tbPageName.Text = page.Name; lEditAction.Text = "Edit"; btnSave.Text = "Save"; } else { hfPageId.Value = "0"; try { if (_page != null) { ddlLayout.Text = _page.Layout; } else { ddlLayout.Text = PageInstance.Layout; } } catch { } tbPageName.Text = string.Empty; lEditAction.Text = "Add"; btnSave.Text = "Add"; } rGrid.Visible = false; pnlDetails.Visible = true; }
public void ApiCreatePage( string apiKey, Rock.CMS.DTO.Page Page ) { using ( Rock.Data.UnitOfWorkScope uow = new Rock.Data.UnitOfWorkScope() ) { Rock.CMS.UserService userService = new Rock.CMS.UserService(); Rock.CMS.User user = userService.Queryable().Where( u => u.ApiKey == apiKey ).FirstOrDefault(); if (user != null) { uow.objectContext.Configuration.ProxyCreationEnabled = false; Rock.CMS.PageService PageService = new Rock.CMS.PageService(); Rock.CMS.Page existingPage = new Rock.CMS.Page(); PageService.Add( existingPage, user.PersonId ); uow.objectContext.Entry(existingPage).CurrentValues.SetValues(Page); if (existingPage.IsValid) PageService.Save( existingPage, user.PersonId ); else throw new WebFaultException<string>( existingPage.ValidationResults.AsDelimited(", "), System.Net.HttpStatusCode.BadRequest ); } else throw new WebFaultException<string>( "Invalid API Key", System.Net.HttpStatusCode.Forbidden ); } }
protected override void OnLoad(EventArgs e) { if (!Page.IsPostBack && _page.Authorized("Configure", CurrentUser)) { Rock.CMS.PageService pageService = new Rock.CMS.PageService(); Rock.CMS.Page page = pageService.Get(_page.Id); rptProperties.DataSource = tabs; rptProperties.DataBind(); LoadDropdowns(); tbPageName.Text = _page.Name; tbPageTitle.Text = _page.Title; ddlParentPage.SelectedValue = _page.ParentPage != null?_page.ParentPage.Id.ToString() : "0"; ddlLayout.Text = _page.Layout; ddlMenuWhen.SelectedValue = (( Int32 )_page.DisplayInNavWhen).ToString(); cbMenuDescription.Checked = _page.MenuDisplayDescription; cbMenuIcon.Checked = _page.MenuDisplayIcon; cbMenuChildPages.Checked = _page.MenuDisplayChildPages; cbRequiresEncryption.Checked = _page.RequiresEncryption; cbEnableViewState.Checked = _page.EnableViewstate; cbIncludeAdminFooter.Checked = _page.IncludeAdminFooter; tbCacheDuration.Text = _page.OutputCacheDuration.ToString(); tbDescription.Text = _page.Description; tbPageRoute.Text = string.Join(",", page.PageRoutes.Select(route => route.Route).ToArray()); } base.OnLoad(e); if (Page.IsPostBack) { Rock.Attribute.Helper.SetErrorIndicators(phAttributes, _page); } }
public Rock.CMS.DTO.Page Get(string id) { var currentUser = Rock.CMS.UserService.GetCurrentUser(); if (currentUser == null) { throw new WebFaultException <string>("Must be logged in", System.Net.HttpStatusCode.Forbidden); } using (Rock.Data.UnitOfWorkScope uow = new Rock.Data.UnitOfWorkScope()) { uow.objectContext.Configuration.ProxyCreationEnabled = false; Rock.CMS.PageService PageService = new Rock.CMS.PageService(); Rock.CMS.Page Page = PageService.Get(int.Parse(id)); if (Page.Authorized("View", currentUser)) { return(Page.DataTransferObject); } else { throw new WebFaultException <string>("Not Authorized to View this Page", System.Net.HttpStatusCode.Forbidden); } } }
public void CreatePage( Rock.CMS.DTO.Page Page ) { var currentUser = Rock.CMS.UserService.GetCurrentUser(); if ( currentUser == null ) throw new WebFaultException<string>("Must be logged in", System.Net.HttpStatusCode.Forbidden ); using ( Rock.Data.UnitOfWorkScope uow = new Rock.Data.UnitOfWorkScope() ) { uow.objectContext.Configuration.ProxyCreationEnabled = false; Rock.CMS.PageService PageService = new Rock.CMS.PageService(); Rock.CMS.Page existingPage = new Rock.CMS.Page(); PageService.Add( existingPage, currentUser.PersonId ); uow.objectContext.Entry(existingPage).CurrentValues.SetValues(Page); if (existingPage.IsValid) PageService.Save( existingPage, currentUser.PersonId ); else throw new WebFaultException<string>( existingPage.ValidationResults.AsDelimited(", "), System.Net.HttpStatusCode.BadRequest ); } }
void masterPage_OnSave(object sender, EventArgs e) { if (Page.IsValid) { using (new Rock.Data.UnitOfWorkScope()) { Rock.CMS.PageService pageService = new Rock.CMS.PageService(); Rock.CMS.Page page = pageService.Get(_page.Id); Rock.CMS.PageRouteService routeService = new Rock.CMS.PageRouteService(); Rock.CMS.PageRoute pr; int parentPage = Int32.Parse(ddlParentPage.SelectedValue); if (page.ParentPageId != parentPage) { if (page.ParentPageId.HasValue) { Rock.Web.Cache.Page.Flush(page.ParentPageId.Value); } if (parentPage != 0) { Rock.Web.Cache.Page.Flush(parentPage); } foreach (var route in page.PageRoutes) { routeService.Delete(route, CurrentPersonId); } page.PageRoutes.Clear(); } page.Name = tbPageName.Text; page.Title = tbPageTitle.Text; if (parentPage != 0) { page.ParentPageId = parentPage; } else { page.ParentPageId = null; } page.Layout = ddlLayout.Text; page.DisplayInNavWhen = (Rock.CMS.DisplayInNavWhen)Enum.Parse(typeof(Rock.CMS.DisplayInNavWhen), ddlMenuWhen.SelectedValue); page.MenuDisplayDescription = cbMenuDescription.Checked; page.MenuDisplayIcon = cbMenuIcon.Checked; page.MenuDisplayChildPages = cbMenuChildPages.Checked; page.RequiresEncryption = cbRequiresEncryption.Checked; page.EnableViewState = cbEnableViewState.Checked; page.IncludeAdminFooter = cbIncludeAdminFooter.Checked; page.OutputCacheDuration = Int32.Parse(tbCacheDuration.Text); page.Description = tbDescription.Text; foreach (string route in tbPageRoute.Text.SplitDelimitedValues()) { pr = new Rock.CMS.PageRoute(); pr.Route = route; pr.Guid = Guid.NewGuid(); page.PageRoutes.Add(pr); } pageService.Save(page, CurrentPersonId); Rock.Attribute.Helper.GetEditValues(phAttributes, _page); _page.SaveAttributeValues(CurrentPersonId); Rock.Web.Cache.Page.Flush(_page.Id); } string script = "window.parent.closeModal()"; ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "close-modal", script, true); } }
protected void btnSave_Click(object sender, EventArgs e) { Rock.CMS.Page page; int pageId = 0; if (!Int32.TryParse(hfPageId.Value, out pageId)) { pageId = 0; } if (pageId == 0) { page = new Rock.CMS.Page(); if (_page != null) { page.ParentPageId = _page.Id; page.SiteId = _page.Site.Id; } else { page.ParentPageId = null; page.SiteId = PageInstance.Site.Id; } page.Title = tbPageName.Text; page.EnableViewState = true; page.IncludeAdminFooter = true; Rock.CMS.Page lastPage = pageService.GetByParentPageId(_page.Id). OrderByDescending(b => b.Order).FirstOrDefault(); if (lastPage != null) { page.Order = lastPage.Order + 1; } else { page.Order = 0; } pageService.Add(page, CurrentPersonId); } else { page = pageService.Get(pageId); } page.Layout = ddlLayout.Text; page.Name = tbPageName.Text; pageService.Save(page, CurrentPersonId); if (_page != null) { Rock.Security.Authorization.CopyAuthorization(_page, page, CurrentPersonId); _page.FlushChildPages(); } BindGrid(); rGrid.Visible = true; pnlDetails.Visible = false; }