public JsonSiteSettings Configuration() { try { JsonSiteSettings conf = null; if ((conf = new JsonSiteSettings()) != null) { // Add admin menus... _AddMenus(conf); // Add site name... conf.Name = AppContext.Module?.Name; // Add site regions... conf.Regions = AppContext?.Site?.GetRegions(EOrderBy.Name)?.Select(sc => new JsonSiteClaim(sc))?.ToList(); conf.Regions.Insert(0, new JsonSiteClaim(AppContext?.Site?.GetRegion("all"))); // Add site categories... conf.Categories = JsonSiteClaim.ToFlatList(AppContext?.Site?.GetCategories(null, true)?.Select(cat => new JsonSiteClaim(cat))?.ToList(), new List <JsonSiteClaim>()); // Add site tags... conf.Tags = AppContext?.Site?.GetTags()?.Select(tag => new JsonSiteClaim(tag))?.ToList(); // Add site groups... conf.Groups = AppContext?.Site?.GetGroups(AppContext?.User?.GroupsId())?.Select(grp => new JsonSiteClaim(grp))?.ToList(); // Add user role... if (AppContext.User != null) { conf.UserRoles = AppContext.User.GetRoles(); conf.UserName = User.Identity.Name.Replace($"@{AppContext?.Site?.Id}", string.Empty); conf.UserImg = "/lib/userimg.png"; } } //Thread.Sleep(10 * 1000); return(conf); } catch (Exception e) { AppContext?.Log?.LogError("Exception getting the current site settings - HttpGet:/api/site/configuration: {0}", e.Message); return(null); } }
/// <summary> /// Add menus to site configuration. /// </summary> /// <param name="conf"></param> private void _AddMenus(JsonSiteSettings conf) { if ((conf.Menus = new List <JsonAdminMenu>()) != null) { bool admin = AppContext.User.HasRole(ClaimValueRole.Administrator); bool pub = AppContext.User.HasRole(ClaimValueRole.Publicator); bool cont = AppContext.User.HasRole(ClaimValueRole.Contributor); conf.Menus.Add(new JsonAdminMenu { Name = "Articles", Icon = "home", IconMat = "home", Url = "home.index", UrlMat = "#/posts", Active = "" }); conf.Menus.Add(new JsonAdminMenu { Name = "Calendrier", Icon = "calendar-note", IconMat = "date_range", Url = "home.calendar", UrlMat = "#/posts?type=calendar", Active = "", DefaultFilters = new Dictionary <string, string>() { { QueryFilter.TopCategorie, "13" }, { QueryFilter.ShowEventPostsOnly, "true" }, { QueryFilter.EndDate, DateTime.Now.ToString() } // Comment out because we'll always show items of the sub catagories... //{ QueryFilter.ShowChildsCategoriesPosts, "true" } } }); conf.Menus.Add(new JsonAdminMenu { Name = "Médiathèque", Icon = "photo_library", IconMat = "photo_library", Url = "home.index", UrlMat = "#/posts?type=media", Active = "", DefaultFilters = new Dictionary <string, string>() { { QueryFilter.TopCategorie, "33" }, // Comment out because we'll always show items of the sub catagories... //{ QueryFilter.ShowChildsCategoriesPosts, "true" } } }); #if DEBUG if (admin == true || pub == true) { conf.Menus.Add(new JsonAdminMenu { Name = "Pages", Icon = "view-compact", IconMat = "view_compact", Url = "home.pages", UrlMat = "#/pages", Active = "" }); } #endif //if (admin == true || pub == true || cont == true) //{ // conf.Menus.Add(new JsonAdminMenu // { // Name = "Posts", // Icon = "view-list", // Url = "home.posts", // Active = "" // }); //} if (admin == true || pub == true) { conf.Menus.Add(new JsonAdminMenu { Name = "Utilisateurs", Icon = "accounts-list", IconMat = "group", Url = "home.users", UrlMat = "#/users", Active = "" }); } //conf.Menus.Add(new JsonAdminMenu //{ // Name = "Forum", // Icon = "tab", // Url = "home.forum", // Active = "" //}); } }