summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Vobornik <pvoborni@redhat.com>2013-11-07 14:37:57 +0100
committerMartin Kosek <mkosek@redhat.com>2014-01-21 12:04:04 +0100
commit0b428b832636fead6e5bba35f44a71eec22ea22f (patch)
tree61898c2c882038eebbd9472318fdcc97833af363
parente8c3db429515a034e9c777ebfd15927f4932450c (diff)
downloadfreeipa-0b428b832636fead6e5bba35f44a71eec22ea22f.tar.gz
freeipa-0b428b832636fead6e5bba35f44a71eec22ea22f.tar.xz
freeipa-0b428b832636fead6e5bba35f44a71eec22ea22f.zip
About dialog
https://fedorahosted.org/freeipa/ticket/4018
-rw-r--r--install/ui/src/freeipa/Application_controller.js6
-rw-r--r--install/ui/src/freeipa/dialog.js22
-rw-r--r--install/ui/src/freeipa/widgets/App.js10
-rw-r--r--install/ui/test/data/ipa_init.json3
-rw-r--r--ipalib/plugins/internal.py3
5 files changed, 44 insertions, 0 deletions
diff --git a/install/ui/src/freeipa/Application_controller.js b/install/ui/src/freeipa/Application_controller.js
index 461f11b95..a554f1663 100644
--- a/install/ui/src/freeipa/Application_controller.js
+++ b/install/ui/src/freeipa/Application_controller.js
@@ -67,6 +67,7 @@ define([
on(this.app_widget, 'profile-click', lang.hitch(this, this.on_profile));
on(this.app_widget, 'logout-click', lang.hitch(this, this.on_logout));
on(this.app_widget, 'password-reset-click', lang.hitch(this, this.on_password_reset));
+ on(this.app_widget, 'about-click', lang.hitch(this, this.on_about));
on(this.menu, 'selected', lang.hitch(this, this.on_menu_select));
on(this.router, 'facet-show', lang.hitch(this, this.on_facet_show));
@@ -184,6 +185,11 @@ define([
IPA.password_selfservice();
},
+ on_about: function() {
+ var dialog = IPA.about_dialog();
+ dialog.open();
+ },
+
on_phase_error: function(error) {
window.console.error(error);
diff --git a/install/ui/src/freeipa/dialog.js b/install/ui/src/freeipa/dialog.js
index 18e2dc501..0a8497b1c 100644
--- a/install/ui/src/freeipa/dialog.js
+++ b/install/ui/src/freeipa/dialog.js
@@ -1076,6 +1076,28 @@ IPA.message_dialog = function(spec) {
return that;
};
+IPA.about_dialog = function(spec) {
+
+ spec = spec || {};
+
+ spec.name = spec.name || 'version_dialog';
+ var product = 'FreeIPA';
+ var version = 'Unknown';
+ var msg = text.get('@i18n:dialogs.about_message', '${product}, version: ${version}');
+ if (IPA.env) {
+ product = IPA.env.product_name || product;
+ version = IPA.env.version;
+ }
+ msg = msg.replace('${product}', product);
+ msg = msg.replace('${version}', version);
+ spec.message = spec.message || msg;
+ spec.title = spec.title || text.get('@i18n:dialogs.about_title', 'About');
+
+ var that = IPA.message_dialog(spec);
+
+ return that;
+};
+
/**
* Confirmation dialog
*
diff --git a/install/ui/src/freeipa/widgets/App.js b/install/ui/src/freeipa/widgets/App.js
index e210355a8..f44ecaf56 100644
--- a/install/ui/src/freeipa/widgets/App.js
+++ b/install/ui/src/freeipa/widgets/App.js
@@ -193,6 +193,8 @@ define(['dojo/_base/declare',
this.emit('logout-click');
} else if (item.name == 'password_reset') {
this.emit('password-reset-click');
+ } else if (item.name == 'about') {
+ this.emit('about-click');
}
},
@@ -217,6 +219,14 @@ define(['dojo/_base/declare',
'class': 'divider'
},
{
+ name: 'about',
+ label: 'About',
+ icon: 'fa-question'
+ },
+ {
+ 'class': 'divider'
+ },
+ {
name: 'logout',
label: 'Logout',
icon: 'fa-sign-out'
diff --git a/install/ui/test/data/ipa_init.json b/install/ui/test/data/ipa_init.json
index bac77962e..f714fb432 100644
--- a/install/ui/test/data/ipa_init.json
+++ b/install/ui/test/data/ipa_init.json
@@ -52,6 +52,7 @@
"show_results": "Show Results"
},
"buttons": {
+ "about": "About",
"add": "Add",
"add_and_add_another": "Add and Add Another",
"add_and_close": "Add and Close",
@@ -98,6 +99,8 @@
"dirty_title": "Unsaved Changes",
"edit_title": "Edit ${entity}",
"hide_details": "Hide details",
+ "about_title": "About",
+ "about_message": "${product}, version: ${version}",
"prospective": "Prospective",
"redirection": "Redirection",
"remove_empty": "Select entries to be removed.",
diff --git a/ipalib/plugins/internal.py b/ipalib/plugins/internal.py
index 049149127..64464a051 100644
--- a/ipalib/plugins/internal.py
+++ b/ipalib/plugins/internal.py
@@ -185,6 +185,7 @@ class i18n_messages(Command):
"show_results": _("Show Results"),
},
"buttons": {
+ "about": _("About"),
"add": _("Add"),
"add_and_add_another": _("Add and Add Another"),
"add_and_close": _("Add and Close"),
@@ -231,6 +232,8 @@ class i18n_messages(Command):
"dirty_title": _("Unsaved Changes"),
"edit_title": _("Edit ${entity}"),
"hide_details": _("Hide details"),
+ "about_title": _("About"),
+ "about_message": _("${product}, version: ${version}"),
"prospective": _("Prospective"),
"redirection": _("Redirection"),
"remove_empty": _("Select entries to be removed."),