From 9dbeeb7556929e76d652579533d0972479c0dc98 Mon Sep 17 00:00:00 2001 From: Petr Vobornik Date: Wed, 4 Jun 2014 16:24:23 +0200 Subject: 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 --- install/ui/doc/categories.json | 1 + install/ui/src/freeipa/Application_controller.js | 3 +- install/ui/src/freeipa/app.js | 4 +- install/ui/src/freeipa/plugins/login_process.js | 61 ++++++++++++++++++++++++ 4 files changed, 66 insertions(+), 3 deletions(-) create mode 100644 install/ui/src/freeipa/plugins/login_process.js 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 + * + * 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 . +*/ + +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; +}); -- cgit