public override bool Initialise() { log.Info("Starting Core Module"); // Set up Url Management UrlRequestInterceptor.Register(); // Set up base UI LyniconUi.Instance.FuncPanelButtons.Add(new FuncPanelButton { Id = "fpbMainLogout", Caption = "Log Out", DisplayPermission = new ContentPermission("E"), Url = "/Lynicon/Login/Logout?returnUrl=$$CurrentUrl$$", Section = "Global" }); LyniconUi.Instance.FuncPanelButtons.Add(new FuncPanelButton { Id = "fpbMainLogin", Caption = "Log In", DisplayPermission = new ContentPermission { TestPermitted = (roles, data) => !roles.Contains("E") }, Url = "/Lynicon/Login?returnUrl=$$CurrentUrl$$", Section = "Global" }); LyniconUi.Instance.FuncPanelButtons.Add(new FuncPanelButton { Id = "fpbListItems", Caption = "List", DisplayPermission = new ContentPermission("E"), Url = "/Lynicon/Items", Section = "Global" }); LyniconUi.Instance.FuncPanelButtons.Add(new FuncPanelButton { Id = "fpbFilterItems", Caption = "Filtering", DisplayPermission = new ContentPermission("E"), Url = "/Lynicon/Items/List", Section = "Global" }); LyniconUi.Instance.FuncPanelButtons.Add(new FuncPanelButton { Id = "fpbAdmin", Caption = "Admin", DisplayPermission = new ContentPermission("A"), Url = "/Lynicon/Admin", Section = "Global" }); LyniconUi.Instance.FuncPanelButtons.Add(new FuncPanelButton { Id = "fpbUsers", Caption = "Users", DisplayPermission = new ContentPermission("A"), Url = "/Lynicon/Users?$orderby=Email&$top=15", Section = "Global" }); LyniconUi.Instance.FuncPanelButtons.Add(new FuncPanelButton { Id = "save", Caption = "SAVE", DisplayPolicy = "CanEditData", Section = "Record", BackgroundColor = "#cbdfdf" }); LyniconUi.Instance.FuncPanelButtons.Add(new FuncPanelButton { Id = "fpbMainDelete", Caption = "Delete", DisplayPolicy = "CanDeleteData", ClientClickScript = @"var $itemIdx = $('#lynicon_itemIndex'); var data = ($itemIdx.length > 0 ? { idx: $itemIdx.val() } : {}); if (!confirm('Are you sure you want to delete this item?')) return; $.post(""$$BaseUrl$$?$mode=delete$$OriginalQuery$$"", data, function (res) { window.location = window.location.href; });", Section = "Record", BackgroundColor = "#8c8c8c" }); var modifiedWhenFilter = new DateFieldFilter("Modified When", typeof(IBasicAuditable).GetProperty("Updated")); LyniconUi.Instance.Filters.Add(modifiedWhenFilter); var modifiedByFilter = new ForeignKeyFilter("Modified By", typeof(User), "UserName", typeof(IBasicAuditable).GetProperty("UserUpdated")); LyniconUi.Instance.Filters.Add(modifiedByFilter); var createdWhenFilter = new DateFieldFilter("Created When", typeof(IBasicAuditable).GetProperty("Created")); LyniconUi.Instance.Filters.Add(createdWhenFilter); var createdByFilter = new ForeignKeyFilter("Created By", typeof(User), "UserName", typeof(IBasicAuditable).GetProperty("UserCreated")); LyniconUi.Instance.Filters.Add(createdByFilter); log.Info("Core Module Initialised"); return(true); }
public override bool Initialise() { EditorRedirect.Instance.Register(typeof(List<User>), new ListEditorRedirect(new List<string> { "UserName", "Email", "Created", "Modified", "Roles" })); // Set up Url Management UrlRequestInterceptor.Register(); // Set up base UI LyniconUi.Instance.FuncPanelButtons.Add(new FuncPanelButton { Id = "fpbMainLogout", Caption = "Log Out", DisplayPermission = new ContentPermission("E"), Url = "/Lynicon/Login/Logout?returnUrl=$$CurrentUrl$$", Section = "Global" }); LyniconUi.Instance.FuncPanelButtons.Add(new FuncPanelButton { Id = "fpbMainLogin", Caption = "Log In", DisplayPermission = new ContentPermission { RolesPermitted = roles => !roles.Contains("E") }, Url = "/Lynicon/Login", Section = "Global" }); LyniconUi.Instance.FuncPanelButtons.Add(new FuncPanelButton { Id = "fpbListItems", Caption = "List", DisplayPermission = new ContentPermission("E"), Url = "/Lynicon/Items", Section = "Global" }); LyniconUi.Instance.FuncPanelButtons.Add(new FuncPanelButton { Id = "fpbFilterItems", Caption = "Filtering", DisplayPermission = new ContentPermission("E"), Url = "/Lynicon/Items/List", Section = "Global" }); LyniconUi.Instance.FuncPanelButtons.Add(new FuncPanelButton { Id = "fpbAdmin", Caption = "Admin", DisplayPermission = new ContentPermission("A"), Url = "/Lynicon/Admin", Section = "Global" }); LyniconUi.Instance.FuncPanelButtons.Add(new FuncPanelButton { Id = "fpbUsers", Caption = "Users", DisplayPermission = new ContentPermission("A"), Url = "/Lynicon/Users?$orderby=Email&$top=15", Section = "Global" }); LyniconUi.Instance.FuncPanelButtons.Add(new FuncPanelButton { Id = "save", Caption = "SAVE", DisplayPermission = new ContentPermission("E"), Section = "Record", BackgroundColor = "#cbdfdf" }); LyniconUi.Instance.FuncPanelButtons.Add(new FuncPanelButton { Id = "fpbMainDelete", Caption = "Delete", DisplayPermission = new ContentPermission("A"), ClientClickScript = @"var $itemIdx = $('#lynicon_itemIndex'); var data = ($itemIdx.length > 0 ? { idx: $itemIdx.val() } : {}); if (!confirm('Are you sure you want to delete this item?')) return; $.post(""$$BaseUrl$$?$mode=delete$$OriginalQuery$$"", data, function (res) { window.location = window.location.href; });", Section = "Record", BackgroundColor = "#8c8c8c" }); var modifiedWhenFilter = new DateFieldFilter("Modified When", typeof(IBasicAuditable).GetProperty("Updated")); LyniconUi.Instance.Filters.Add(modifiedWhenFilter); var modifiedByFilter = new ForeignKeyFilter("Modified By", typeof(User), "UserName", typeof(IBasicAuditable).GetProperty("UserUpdated")); LyniconUi.Instance.Filters.Add(modifiedByFilter); var createdWhenFilter = new DateFieldFilter("Created When", typeof(IBasicAuditable).GetProperty("Created")); LyniconUi.Instance.Filters.Add(createdWhenFilter); var createdByFilter = new ForeignKeyFilter("Created By", typeof(User), "UserName", typeof(IBasicAuditable).GetProperty("UserCreated")); LyniconUi.Instance.Filters.Add(createdByFilter); return true; }