diff --git a/static/js/directives/settings.js b/static/js/directives/settings.js index e4f4e2bb..83cf2805 100644 --- a/static/js/directives/settings.js +++ b/static/js/directives/settings.js @@ -52,21 +52,29 @@ define(['jquery', 'underscore', 'text!partials/settings.html'], function($, _, t }); $scope.saveSettings = function() { - var user = $scope.user; - $scope.update(user); - $scope.layout.settings = false; - if ($scope.rememberSettings) { - userSettingsData.save(user); - localStorage.setItem("mediastream-language", user.settings.language || ""); - } else { - userSettingsData.clear(); - localStorage.removeItem("mediastream-language"); - localStorage.removeItem("mediastream-access-code"); + var form = $scope.settingsform; + if (form.$valid && form.$dirty) { + var user = $scope.user; + $scope.update(user); + if ($scope.rememberSettings) { + userSettingsData.save(user); + localStorage.setItem("mediastream-language", user.settings.language || ""); + } else { + userSettingsData.clear(); + localStorage.removeItem("mediastream-language"); + localStorage.removeItem("mediastream-access-code"); + } + form.$setPristine(); } + $scope.layout.settings = false; }; $scope.cancelSettings = function() { + var form = $scope.settingsform; $scope.reset(); + if (form.$dirty) { + form.$setPristine(); + } $scope.layout.settings = false; }; diff --git a/static/partials/settings.html b/static/partials/settings.html index a3e2719f..aad4b315 100644 --- a/static/partials/settings.html +++ b/static/partials/settings.html @@ -1,6 +1,6 @@
{{version}}
-