public static void AddAdmin(string misparIshi, bool isSuperAdmin, // Whether we should set isSuperAdmin if this admin already exists or // just leave the current value. bool forceNewAdminLevel = true) { if (!CurrentMisparIshi.IsSuperAdmin()) { return; } var dataContext = new AdminDataContext(); var existingAdmin = dataContext.Admins .Where(admin => admin.MisparIshi == misparIshi) .FirstOrDefault(); if (existingAdmin != null) { if (forceNewAdminLevel) { existingAdmin.IsSuperAdmin = isSuperAdmin; } } else { var newAdmin = new Admin(); newAdmin.MisparIshi = misparIshi; newAdmin.IsSuperAdmin = isSuperAdmin; dataContext.Admins.InsertOnSubmit(newAdmin); } dataContext.SubmitChanges(); AdminChangeWriter.WriteAdminChange( String.Format("Added admin {0}", misparIshi)); CurrentMisparIshi.SetAdmins(); }
public static IEnumerable <object> ProcessDashboardRequest( string dashboardRequestType, int numDays) { if (dashboardRequestType == null) { return(createEmptyResponse("Why are you sending me a null request??")); } if (!CurrentMisparIshi.IsSuperAdmin()) { return(createEmptyResponse("Go away you non-super-admin, you.")); } switch (dashboardRequestType) { case "total_users": return(LogDataForGal.GetLogDataForGal("1")); case "today_users": return(LogDataForGal.GetLogDataForGal("today")); case "last_days_usages": return(LastDays.GetUsageForLastDays( numDays, false /* showUsersInsteadOfUsages */)); case "last_days_users": return(LastDays.GetUsageForLastDays( numDays, true /* showUsersInsteadOfUsages */)); case "tag_searches": return(QueriesGetter.GetTagQueries()); case "common_searches": return(QueriesGetter.GetRepeatedQueries()); case "bug_reports": return(BugReports.GetAllBugReports()); case "shares": return(Shares.GetShares()); case "admin_changes": return(AdminChanges.GetAdminChanges()); case "all_tags": return(AllTags.GetTags()); } return(createEmptyResponse(String.Format( "{0} is not supported.", dashboardRequestType))); }
public static void DeleteAdmin(string misparIshi) { if (!CurrentMisparIshi.IsSuperAdmin()) { return; } var dataContext = new AdminDataContext(); var existingAdmin = dataContext.Admins .Where(admin => admin.MisparIshi == misparIshi) .FirstOrDefault(); if (existingAdmin == null || existingAdmin.IsSuperAdmin) { return; } dataContext.Admins.DeleteOnSubmit(existingAdmin); dataContext.SubmitChanges(); AdminChangeWriter.WriteAdminChange( String.Format("Deleted admin {0}", misparIshi)); CurrentMisparIshi.SetAdmins(); }