diff options
author | Petr Vobornik <pvoborni@redhat.com> | 2014-06-04 16:24:23 +0200 |
---|---|---|
committer | Petr Vobornik <pvoborni@redhat.com> | 2014-06-30 12:27:04 +0200 |
commit | 9dbeeb7556929e76d652579533d0972479c0dc98 (patch) | |
tree | c4ba5ebf7f339bdd38b5d5184afd3871b768ee4e | |
parent | d9a7fcb5e1c1f18cff1287353b9316fe69e07a78 (diff) | |
download | freeipa-9dbeeb7556929e76d652579533d0972479c0dc98.tar.gz freeipa-9dbeeb7556929e76d652579533d0972479c0dc98.tar.xz freeipa-9dbeeb7556929e76d652579533d0972479c0dc98.zip |
webui: bind Login facet and OTP sync facet
Simple plugin which handles transition from login facet to OTP sync facet
and vice versa.
https://fedorahosted.org/freeipa/ticket/4218
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
-rw-r--r-- | install/ui/doc/categories.json | 1 | ||||
-rw-r--r-- | install/ui/src/freeipa/Application_controller.js | 3 | ||||
-rw-r--r-- | install/ui/src/freeipa/app.js | 4 | ||||
-rw-r--r-- | install/ui/src/freeipa/plugins/login_process.js | 61 |
4 files changed, 66 insertions, 3 deletions
diff --git a/install/ui/doc/categories.json b/install/ui/doc/categories.json index b55fb81a0..153c366c4 100644 --- a/install/ui/doc/categories.json +++ b/install/ui/doc/categories.json @@ -246,6 +246,7 @@ "user", "plugins.load", "plugins.login", + "plugins.login_process", "plugins.sync_otp" ] } diff --git a/install/ui/src/freeipa/Application_controller.js b/install/ui/src/freeipa/Application_controller.js index 49bcf6a58..bb9d68457 100644 --- a/install/ui/src/freeipa/Application_controller.js +++ b/install/ui/src/freeipa/Application_controller.js @@ -36,7 +36,8 @@ define([ './navigation/Menu', './navigation/Router', './navigation/routing', - './navigation/menu_spec' + './navigation/menu_spec', + './plugins/load_page' ], function(declare, lang, array, Deferred, on, topic, query, dom_class, auth, JSON, App_widget, FacetContainer, IPA, reg, Menu, Router, routing, menu_spec) { diff --git a/install/ui/src/freeipa/app.js b/install/ui/src/freeipa/app.js index d87ce6611..2297b866d 100644 --- a/install/ui/src/freeipa/app.js +++ b/install/ui/src/freeipa/app.js @@ -21,9 +21,9 @@ define([ // core './app_container', - './plugins/load_page', - './plugins/login', './plugins/sync_otp', + './plugins/login', + './plugins/login_process', // entities './aci', './automember', diff --git a/install/ui/src/freeipa/plugins/login_process.js b/install/ui/src/freeipa/plugins/login_process.js new file mode 100644 index 000000000..387aaaecd --- /dev/null +++ b/install/ui/src/freeipa/plugins/login_process.js @@ -0,0 +1,61 @@ +/* Authors: + * Petr Vobornik <pvoborni@redhat.com> + * + * Copyright (C) 2014 Red Hat + * see file 'COPYING' for use and warranty information + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +define([ + 'dojo/_base/lang', + 'dojo/on', + '../ipa', + '../app_container', + '../reg', + '../phases', + 'exports', + './login', + './sync_otp'], function(lang, on, IPA, app, reg, phases, login_process) { + +/** + * Defines switching between Sync OTP facet and Login facet. + * @singleton + * @class plugins.login_process + */ +lang.mixin(login_process, { + + bind_login_process: function() { + + var sync_facet = reg.facet.get('sync-otp'); + var login_facet = reg.facet.get('login'); + + on(sync_facet, 'sync-success, sync-cancel', function(args) { + app.app.show_facet(login_facet); + IPA.notify_success(args.message); + }); + on(login_facet, 'require-otp-sync', function(args) { + sync_facet.set_user(args.user); + app.app.show_facet(sync_facet); + }); + } +}); + +phases.on('init', function() { + login_process.bind_login_process(); +}, 15); + + +return login_process; +}); |