private void ResetListSettings(ref DesignDataSource source) { DesignDataSource _source = source; if (source.ListInheritanceChange || source.ListRoleChange) { SPSecurity.RunWithElevatedPrivileges(delegate() { SPSite site = SPContext.Current.Site; SPWeb web = site.OpenWeb(new Guid(_source.WebId)); SPList list = web.Lists[new Guid(_source.ListId)]; if (_source.ListInheritanceChange) { list.ResetRoleInheritance(); list.Update(); _source.ListInheritanceChange = false; } if (_source.ListRoleChange) { SPBasePermissions anon = list.AnonymousPermMask64; list.AnonymousPermMask64 -= SPBasePermissions.AddListItems; list.Update(); _source.ListRoleChange = false; } }); } source = _source; }
public void RaiseCallbackEvent(string eventArgument) { string[] eventArg = eventArgument.Split(new string[1] { "#;" }, StringSplitOptions.None); action = eventArg[0]; source = Utilities.DeserializeObject <DesignDataSource>(eventArg[1]); formWebPart = WebPartToEdit as FormWebPart; if (formWebPart != null) { if (!string.IsNullOrEmpty(formWebPart.DataSourcesData)) { sources = Utilities.DeserializeObject <List <DesignDataSource> >(SourceValue); } if (sources == null) { sources = new List <DesignDataSource>(); } if (action.ToLower() == "delete") { DesignDataSource found = sources.Single(n => n.Id == source.Id); if (found.ListRoleChange) { ResetListSettings(ref found); } if (sources.Remove(found)) { result = "DataSource Deleted"; } } if (action.ToLower() == "update") { int index = sources.FindIndex(n => n.Id == source.Id); if (index >= 0) { sources[index] = source; result = "DataSource Updated"; } else { sources.Add(source); result = "DataSource Added"; } } SourceValue = Utilities.SerializeObject(sources); formWebPart.DataSourcesData = SourceValue; repeater.DataSource = sources; repeater.DataBind(); this.DataBind(true); } }
void delete_DataBinding(object sender, EventArgs e) { LinkButton delete = (LinkButton)sender; RepeaterItem container = (RepeaterItem)delete.NamingContainer; DesignDataSource source = container.DataItem as DesignDataSource; delete.OnClientClick = "DeleteFormDataDialog(" + Utilities.SerializeObject(source) + ");return false;"; }
void newItem_DataBinding(object sender, EventArgs e) { LinkButton edit = (LinkButton)sender; RepeaterItem container = (RepeaterItem)edit.NamingContainer; DesignDataSource source = container.DataItem as DesignDataSource; edit.OnClientClick = "OpenDesignDataDialog(" + null + ");return false;"; }
void edit_DataBinding(object sender, EventArgs e) { LinkButton edit = (LinkButton)sender; RepeaterItem container = (RepeaterItem)edit.NamingContainer; DesignDataSource source = container.DataItem as DesignDataSource; edit.OnClientClick = "OpenFormDataDialog(" + Utilities.SerializeObject(source) + ");return false;"; //OpenWebSitePartDialog('{0}', '{1}', '{2}');return false; }