summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Vobornik <pvoborni@redhat.com>2014-06-04 16:24:23 +0200
committerPetr Vobornik <pvoborni@redhat.com>2014-06-30 12:27:04 +0200
commit9dbeeb7556929e76d652579533d0972479c0dc98 (patch)
treec4ba5ebf7f339bdd38b5d5184afd3871b768ee4e
parentd9a7fcb5e1c1f18cff1287353b9316fe69e07a78 (diff)
downloadfreeipa-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.json1
-rw-r--r--install/ui/src/freeipa/Application_controller.js3
-rw-r--r--install/ui/src/freeipa/app.js4
-rw-r--r--install/ui/src/freeipa/plugins/login_process.js61
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;
+});