// ----------------- // Edit Settings // ----------------- public async Task <IActionResult> EditSettings() { // Get authenticated user var user = await _contextFacade.GetAuthenticatedUserAsync(); // Ensure user is authenticated if (user == null) { return(Unauthorized()); } // Breadcrumb _breadCrumbManager.Configure(builder => { builder.Add(S["Home"], home => home .Action("Index", "Home", "Plato.Core") .LocalNav() ).Add(S["Your Account"]); }); // Build view model var viewModel = new EditSettingsViewModel() { Id = user.Id, TimeZone = user.TimeZone, ObserveDst = user.ObserveDst, Culture = user.Culture, AvailableTimeZones = await GetAvailableTimeZonesAsync() }; // Return view return(View((LayoutViewModel)await _editSettingsViewProvider.ProvideEditAsync(viewModel, this))); }
public static Settings SettingsViewModelToSettings(EditSettingsViewModel settingsViewModel, Settings existingSettings) { //NOTE: The only reason some properties are commented out, are because those items were // moved to their own page when the admin was refactored. existingSettings.Id = settingsViewModel.Id; existingSettings.ForumName = settingsViewModel.ForumName; existingSettings.ForumUrl = settingsViewModel.ForumUrl; existingSettings.IsClosed = settingsViewModel.IsClosed; existingSettings.EnableRSSFeeds = settingsViewModel.EnableRSSFeeds; existingSettings.DisplayEditedBy = settingsViewModel.DisplayEditedBy; existingSettings.EnableMarkAsSolution = settingsViewModel.EnableMarkAsSolution; existingSettings.MarkAsSolutionReminderTimeFrame = settingsViewModel.MarkAsSolutionReminderTimeFrame; //existingSettings.EnableSpamReporting = settingsViewModel.EnableSpamReporting; //existingSettings.EnableMemberReporting = settingsViewModel.EnableMemberReporting; existingSettings.EnableEmailSubscriptions = settingsViewModel.EnableEmailSubscriptions; existingSettings.ManuallyAuthoriseNewMembers = settingsViewModel.ManuallyAuthoriseNewMembers; existingSettings.EmailAdminOnNewMemberSignUp = settingsViewModel.EmailAdminOnNewMemberSignUp; existingSettings.TopicsPerPage = settingsViewModel.TopicsPerPage; existingSettings.PostsPerPage = settingsViewModel.PostsPerPage; existingSettings.ActivitiesPerPage = settingsViewModel.ActivitiesPerPage; existingSettings.EnablePrivateMessages = settingsViewModel.EnablePrivateMessages; existingSettings.MaxPrivateMessagesPerMember = settingsViewModel.MaxPrivateMessagesPerMember; existingSettings.PrivateMessageFloodControl = settingsViewModel.PrivateMessageFloodControl; existingSettings.EnableSignatures = settingsViewModel.EnableSignatures; existingSettings.EnablePoints = settingsViewModel.EnablePoints; existingSettings.PointsAllowedToVoteAmount = settingsViewModel.PointsAllowedToVoteAmount; existingSettings.PointsAllowedForExtendedProfile = settingsViewModel.PointsAllowedForExtendedProfile; existingSettings.PointsAddedPerPost = settingsViewModel.PointsAddedPerPost; existingSettings.PointsAddedPostiveVote = settingsViewModel.PointsAddedPostiveVote; existingSettings.PointsDeductedNagativeVote = settingsViewModel.PointsDeductedNagativeVote; existingSettings.PointsAddedForSolution = settingsViewModel.PointsAddedForSolution; existingSettings.AdminEmailAddress = settingsViewModel.AdminEmailAddress; existingSettings.NotificationReplyEmail = settingsViewModel.NotificationReplyEmail; existingSettings.SMTP = settingsViewModel.SMTP; existingSettings.SMTPUsername = settingsViewModel.SMTPUsername; existingSettings.SMTPPassword = settingsViewModel.SMTPPassword; existingSettings.Theme = settingsViewModel.Theme; //existingSettings.AkismentKey = settingsViewModel.AkismentKey; //existingSettings.EnableAkisment = settingsViewModel.EnableAkisment; existingSettings.SMTPPort = settingsViewModel.SMTPPort.ToString(); //existingSettings.SpamQuestion = settingsViewModel.SpamQuestion; //existingSettings.SpamAnswer = settingsViewModel.SpamAnswer; existingSettings.SMTPEnableSSL = settingsViewModel.SMTPEnableSSL; //existingSettings.EnableSocialLogins = settingsViewModel.EnableSocialLogins; existingSettings.EnablePolls = settingsViewModel.EnablePolls; existingSettings.SuspendRegistration = settingsViewModel.SuspendRegistration; existingSettings.NewMemberEmailConfirmation = settingsViewModel.NewMemberEmailConfirmation; existingSettings.PageTitle = settingsViewModel.PageTitle; existingSettings.MetaDesc = settingsViewModel.MetaDesc; existingSettings.EnableEmoticons = settingsViewModel.EnableEmoticons; existingSettings.DisableDislikeButton = settingsViewModel.DisableDislikeButton; existingSettings.AgreeToTermsAndConditions = settingsViewModel.AgreeToTermsAndConditions; existingSettings.DisableStandardRegistration = settingsViewModel.DisableStandardRegistration; existingSettings.TermsAndConditions = settingsViewModel.TermsAndConditions; existingSettings.ShowPostContent = settingsViewModel.ShowPostContent; existingSettings.AutoLoginAfterRegister = settingsViewModel.AutoLoginAfterRegister; return(existingSettings); }
public static EditSettingsViewModel SettingsToSettingsViewModel(Settings currentSettings) { var settingViewModel = new EditSettingsViewModel { Id = currentSettings.Id, ForumName = currentSettings.ForumName, ForumUrl = currentSettings.ForumUrl, IsClosed = currentSettings.IsClosed, EnableRSSFeeds = currentSettings.EnableRSSFeeds, DisplayEditedBy = currentSettings.DisplayEditedBy, EnableMarkAsSolution = currentSettings.EnableMarkAsSolution, MarkAsSolutionReminderTimeFrame = currentSettings.MarkAsSolutionReminderTimeFrame ?? 0, //EnableSpamReporting = currentSettings.EnableSpamReporting, //EnableMemberReporting = currentSettings.EnableMemberReporting, EnableEmailSubscriptions = currentSettings.EnableEmailSubscriptions, ManuallyAuthoriseNewMembers = currentSettings.ManuallyAuthoriseNewMembers, EmailAdminOnNewMemberSignUp = currentSettings.EmailAdminOnNewMemberSignUp, TopicsPerPage = currentSettings.TopicsPerPage, PostsPerPage = currentSettings.PostsPerPage, ActivitiesPerPage = currentSettings.ActivitiesPerPage, EnablePrivateMessages = currentSettings.EnablePrivateMessages, MaxPrivateMessagesPerMember = currentSettings.MaxPrivateMessagesPerMember, PrivateMessageFloodControl = currentSettings.PrivateMessageFloodControl, EnableSignatures = currentSettings.EnableSignatures, EnablePoints = currentSettings.EnablePoints, PointsAllowedToVoteAmount = currentSettings.PointsAllowedToVoteAmount, PointsAllowedForExtendedProfile = currentSettings.PointsAllowedForExtendedProfile ?? 0, PointsAddedPerPost = currentSettings.PointsAddedPerPost, PointsAddedPostiveVote = currentSettings.PointsAddedPostiveVote, PointsDeductedNagativeVote = currentSettings.PointsDeductedNagativeVote, PointsAddedForSolution = currentSettings.PointsAddedForSolution, AdminEmailAddress = currentSettings.AdminEmailAddress, NotificationReplyEmail = currentSettings.NotificationReplyEmail, SMTP = currentSettings.SMTP, SMTPUsername = currentSettings.SMTPUsername, SMTPPassword = currentSettings.SMTPPassword, //AkismentKey = currentSettings.AkismentKey, //EnableAkisment = currentSettings.EnableAkisment != null && (bool)currentSettings.EnableAkisment, NewMemberEmailConfirmation = currentSettings.NewMemberEmailConfirmation != null && (bool)currentSettings.NewMemberEmailConfirmation, Theme = currentSettings.Theme, SMTPPort = string.IsNullOrEmpty(currentSettings.SMTPPort) ? null : (int?)(Convert.ToInt32(currentSettings.SMTPPort)), //SpamQuestion = currentSettings.SpamQuestion, //SpamAnswer = currentSettings.SpamAnswer, Themes = AppHelpers.GetThemeFolders(), SMTPEnableSSL = currentSettings.SMTPEnableSSL ?? false, //EnableSocialLogins = currentSettings.EnableSocialLogins ?? false, EnablePolls = currentSettings.EnablePolls ?? false, SuspendRegistration = currentSettings.SuspendRegistration ?? false, PageTitle = currentSettings.PageTitle, MetaDesc = currentSettings.MetaDesc, EnableEmoticons = currentSettings.EnableEmoticons == true, DisableDislikeButton = currentSettings.DisableDislikeButton, TermsAndConditions = currentSettings.TermsAndConditions, AgreeToTermsAndConditions = currentSettings.AgreeToTermsAndConditions ?? false, DisableStandardRegistration = currentSettings.DisableStandardRegistration ?? false }; return(settingViewModel); }
public ActionResult Edit(EditSettingsViewModel editSettingsViewModel) { List <Guid> GuidList = new List <Guid>(); UserManager userManager = new UserManager(); //Get GuidList of Organization from input if (!String.IsNullOrEmpty(editSettingsViewModel.OrganizationFilterString)) { List <string> GUIDS = new List <string>(); if (editSettingsViewModel.OrganizationFilterString.Contains(",")) { GUIDS = editSettingsViewModel.OrganizationFilterString.Split(',').ToList(); } else { GUIDS.Add(editSettingsViewModel.OrganizationFilterString); } foreach (var item in GUIDS) { Guid id = Guid.Parse(item); GuidList.Add(id); } } userManager.AddFilterOrganization(new Guid(User.Identity.Name), GuidList); //Reset Guid List GuidList = new List <Guid>(); //Get GuidList of Organization from input if (!String.IsNullOrEmpty(editSettingsViewModel.PersonFilterString)) { List <string> GUIDS = new List <string>(); if (editSettingsViewModel.PersonFilterString.Contains(",")) { GUIDS = editSettingsViewModel.PersonFilterString.Split(',').ToList(); } else { GUIDS.Add(editSettingsViewModel.PersonFilterString); } foreach (var item in GUIDS) { Guid id = Guid.Parse(item); GuidList.Add(id); } } userManager.AddFilterPerson(new Guid(User.Identity.Name), GuidList); //Save Things to Database userManager.saveChanges(); return(RedirectToAction("Index")); }
public ActionResult Index(EditSettingsViewModel settingsViewModel) { if (ModelState.IsValid) { using (var unitOfWork = UnitOfWorkManager.NewUnitOfWork()) { try { var existingSettings = SettingsService.GetSettings(); var updatedSettings = ViewModelMapping.SettingsViewModelToSettings(settingsViewModel, existingSettings); // Map over viewModel from if (settingsViewModel.NewMemberStartingRole != null) { updatedSettings.NewMemberStartingRole = _roleService.GetRole(settingsViewModel.NewMemberStartingRole.Value); } if (settingsViewModel.DefaultLanguage != null) { updatedSettings.DefaultLanguage = LocalizationService.Get(settingsViewModel.DefaultLanguage.Value); } var culture = new CultureInfo(updatedSettings.DefaultLanguage.LanguageCulture); unitOfWork.Commit(); // Set the culture session too Session["Culture"] = culture; } catch (Exception ex) { unitOfWork.Rollback(); LoggingService.Error(ex); } } // All good clear cache and get reliant lists using (UnitOfWorkManager.NewUnitOfWork()) { TempData[AppConstants.MessageViewBagName] = new GenericMessageViewModel { Message = "Settings Updated", MessageType = GenericMessages.success }; settingsViewModel.Themes = AppHelpers.GetThemeFolders(); settingsViewModel.Roles = _roleService.AllRoles().ToList(); settingsViewModel.Languages = LocalizationService.AllLanguages.ToList(); } } return(View(settingsViewModel)); }
public static Settings SettingsViewModelToSettings(EditSettingsViewModel settingsViewModel, Settings existingSettings) { existingSettings.Id = settingsViewModel.Id; existingSettings.ForumName = settingsViewModel.ForumName; existingSettings.ForumUrl = settingsViewModel.ForumUrl; existingSettings.IsClosed = settingsViewModel.IsClosed; existingSettings.EnableRSSFeeds = settingsViewModel.EnableRSSFeeds; existingSettings.DisplayEditedBy = settingsViewModel.DisplayEditedBy; existingSettings.EnableMarkAsSolution = settingsViewModel.EnableMarkAsSolution; existingSettings.EnableSpamReporting = settingsViewModel.EnableSpamReporting; existingSettings.EnableMemberReporting = settingsViewModel.EnableMemberReporting; existingSettings.EnableEmailSubscriptions = settingsViewModel.EnableEmailSubscriptions; existingSettings.ManuallyAuthoriseNewMembers = settingsViewModel.ManuallyAuthoriseNewMembers; existingSettings.EmailAdminOnNewMemberSignUp = settingsViewModel.EmailAdminOnNewMemberSignUp; existingSettings.TopicsPerPage = settingsViewModel.TopicsPerPage; existingSettings.PostsPerPage = settingsViewModel.PostsPerPage; existingSettings.ActivitiesPerPage = settingsViewModel.ActivitiesPerPage; existingSettings.EnablePrivateMessages = settingsViewModel.EnablePrivateMessages; existingSettings.MaxPrivateMessagesPerMember = settingsViewModel.MaxPrivateMessagesPerMember; existingSettings.PrivateMessageFloodControl = settingsViewModel.PrivateMessageFloodControl; existingSettings.EnableSignatures = settingsViewModel.EnableSignatures; existingSettings.EnablePoints = settingsViewModel.EnablePoints; existingSettings.PointsAllowedToVoteAmount = settingsViewModel.PointsAllowedToVoteAmount; existingSettings.PointsAddedPerPost = settingsViewModel.PointsAddedPerPost; existingSettings.PointsAddedPostiveVote = settingsViewModel.PointsAddedPostiveVote; existingSettings.PointsDeductedNagativeVote = settingsViewModel.PointsDeductedNagativeVote; existingSettings.PointsAddedForSolution = settingsViewModel.PointsAddedForSolution; existingSettings.AdminEmailAddress = settingsViewModel.AdminEmailAddress; existingSettings.NotificationReplyEmail = settingsViewModel.NotificationReplyEmail; existingSettings.SMTP = settingsViewModel.SMTP; existingSettings.SMTPUsername = settingsViewModel.SMTPUsername; existingSettings.SMTPPassword = settingsViewModel.SMTPPassword; existingSettings.Theme = settingsViewModel.Theme; existingSettings.AkismentKey = settingsViewModel.AkismentKey; existingSettings.EnableAkisment = settingsViewModel.EnableAkisment; existingSettings.SMTPPort = settingsViewModel.SMTPPort.ToString(); existingSettings.SpamQuestion = settingsViewModel.SpamQuestion; existingSettings.SpamAnswer = settingsViewModel.SpamAnswer; existingSettings.SMTPEnableSSL = settingsViewModel.SMTPEnableSSL; existingSettings.EnableSocialLogins = settingsViewModel.EnableSocialLogins; existingSettings.EnablePolls = settingsViewModel.EnablePolls; existingSettings.SuspendRegistration = settingsViewModel.SuspendRegistration; existingSettings.NewMemberEmailConfirmation = settingsViewModel.NewMemberEmailConfirmation; existingSettings.PageTitle = settingsViewModel.PageTitle; existingSettings.MetaDesc = settingsViewModel.MetaDesc; return(existingSettings); }
public ActionResult Index(EditSettingsViewModel settingsViewModel) { if (ModelState.IsValid) { try { var existingSettings = SettingsService.GetSettings(false); var updatedSettings = ViewModelMapping.SettingsViewModelToSettings(settingsViewModel, existingSettings); // Map over viewModel from if (settingsViewModel.NewMemberStartingRole != null) { updatedSettings.NewMemberStartingRole = _roleService.GetRole(settingsViewModel.NewMemberStartingRole.Value); } if (settingsViewModel.DefaultLanguage != null) { updatedSettings.DefaultLanguage = LocalizationService.Get(settingsViewModel.DefaultLanguage.Value); } Context.SaveChanges(); _cacheService.ClearStartsWith(CacheKeys.Settings.Main); } catch (Exception ex) { Context.RollBack(); LoggingService.Error(ex); } // All good clear cache and get reliant lists TempData[AppConstants.MessageViewBagName] = new GenericMessageViewModel { Message = "Settings Updated", MessageType = GenericMessages.success }; settingsViewModel.Themes = AppHelpers.GetThemeFolders(); settingsViewModel.Roles = _roleService.AllRoles().ToList(); settingsViewModel.Languages = LocalizationService.AllLanguages.ToList(); } return(View(settingsViewModel)); }
public async Task <IActionResult> EditSettingsPost(EditSettingsViewModel model) { var user = await _userManager.FindByIdAsync(model.Id.ToString()); if (user == null) { return(NotFound()); } // Validate model state within all view providers if (await _editSettingsViewProvider.IsModelStateValidAsync(model, this)) { // Update user user.TimeZone = model.TimeZone; user.ObserveDst = model.ObserveDst; user.Culture = model.Culture; // Update user var result = await _platoUserManager.UpdateAsync(user); if (result.Succeeded) { // Invoke BuildUpdateAsync within involved view providers await _editSettingsViewProvider.ProvideUpdateAsync(model, this); // Ensure model state is still valid after view providers have executed if (ModelState.IsValid) { // Add confirmation _alerter.Success(T["Settings Updated Successfully!"]); // Redirect return(RedirectToAction(nameof(EditSettings))); } } } // If errors occur manually expire the cache otherwise our // modifications made above to the object may persist as the // object is not updated and the cache is not invalidated by the store _platoUserStore.CancelTokens(user); return(await EditSettings()); }
public EditSettingsView(ConnectionConfig connectionConfig = null) { InitializeComponent(); DataContext = new EditSettingsViewModel(connectionConfig); }
public MainViewModel( DashboardViewModel dashboardViewModel, LibraryViewModel libraryViewModel, PlaylistsViewModel playlistsViewModel, CurrentPlaylistViewModel currentPlaylistViewModel, CurrentTrackViewModel currentTrackViewModel, ArtistViewModel artistViewModel, LastFmViewModel lastFmViewModel, NewsViewModel newsViewModel, SearchViewModel searchViewModel, ArchiveViewModel archiveViewModel, PlayHistoryViewModel playHistoryViewModel, SystemInfoViewModel systemInfoViewModel, EditSettingsViewModel settingsViewModel, EditTrackViewModel editTrackViewModel, EditCriteriaPlaylistViewModel editCriteriaPlaylistViewModel, EditOrderedPlaylistViewModel editOrderedPlaylistViewModel, IMessenger messenger, IShowTabRequestHandler showTabRequester) { Tabs = new List <TabViewModelBase> { dashboardViewModel, libraryViewModel, playlistsViewModel, currentPlaylistViewModel, currentTrackViewModel, artistViewModel, lastFmViewModel, newsViewModel, searchViewModel, archiveViewModel, playHistoryViewModel, systemInfoViewModel, settingsViewModel, editTrackViewModel, editCriteriaPlaylistViewModel, editOrderedPlaylistViewModel, }; _editCriteriaPlaylistViewModel = editCriteriaPlaylistViewModel; _editOrderedPlaylistViewModel = editOrderedPlaylistViewModel; _editTrackViewModel = editTrackViewModel; _settingsViewModel = settingsViewModel; _messenger = messenger; _returnToTab = dashboardViewModel; SetSelectedTab(dashboardViewModel); ChangeTabCommand = new RelayCommand <TabViewModelBase>(OnChangingTab, CanChangeTab); showTabRequester.ShowEditTrackTab += ShowEditTrackTab; showTabRequester.ShowSettingsTab += ShowSettingsTab; showTabRequester.ShowEditCriteriaPlaylistTab += ShowEditCriteriaPlaylistTab; showTabRequester.ShowEditOrderedPlaylistTab += ShowEditOrderedPlaylistTab; _editTrackViewModel.FinishedEditing += OnFinishedEditing; _settingsViewModel.FinishedEditing += OnFinishedEditing; _editCriteriaPlaylistViewModel.FinishedEditing += OnFinishedEditing; _editOrderedPlaylistViewModel.FinishedEditing += OnFinishedEditing; playlistsViewModel.FavouritePlaylistsUpdated += OnFavouritePlaylistsUpdated; }