hosted/js lib/hosted
Torsten Grote
grote at kolabsys.com
Wed Jul 4 18:23:37 CEST 2012
hosted/js/kolab_hosted.js | 39 +++++++++++++++++++++++++++++---
lib/hosted/kolab_client_task_signup.php | 9 +++----
2 files changed, 40 insertions(+), 8 deletions(-)
New commits:
commit 750dfc4e70c8b6eac98509fac46d3b46f1611ebe
Author: Torsten Grote <grote at kolabsys.com>
Date: Wed Jul 4 16:23:09 2012 +0200
check mail alt., update ou, disable button
diff --git a/hosted/js/kolab_hosted.js b/hosted/js/kolab_hosted.js
index d40bb4c..db5bd8e 100644
--- a/hosted/js/kolab_hosted.js
+++ b/hosted/js/kolab_hosted.js
@@ -21,7 +21,7 @@
+--------------------------------------------------------------------------+
*/
-kadm.check_user_availability = function(userid)
+kadm.check_user_availability = function()
{
// get form data and build new email address
data = kadm.serialize_form('#signup-form');
@@ -34,7 +34,7 @@ kadm.check_user_availability = function(userid)
// check if user with that email address already exists
kadm.api_post('users.list', {'search': {'mail': {'value': uid} } }, 'check_user_availability_response');
} else {
- update_user_info('This is not a valid email address!');
+ update_user_info('This will not produce a valid email address!');
}
};
@@ -50,7 +50,28 @@ kadm.check_user_availability_response = function(response)
update_user_info(msg);
};
-function update_user_info(msg) {
+kadm.user_signup = function()
+{
+ if(isValidEmailAddress($('input[name="mailalternateaddress"]').val())) {
+ kadm.user_save();
+ } else{
+ kadm.display_message('Please provide a valid email adress as this is where your password will be sent to.', 'error');
+ }
+}
+
+
+function update_ou()
+{
+ // update ou string from domain field
+ $('input[name="ou"]').val("ou=people,dc=" + $('select[name="domain"]').val().split(".").join(",dc="));
+
+ // also update user name availability
+ kadm.check_user_availability();
+}
+
+function update_user_info(msg)
+{
+ // display message next to form field
if($('span[id="availability"]').length) {
// update existing span area
$('span[id="availability"]').html(msg);
@@ -59,6 +80,18 @@ function update_user_info(msg) {
// add span area and inform about non-availability
$('input[name="uid"]').after(' <span id="availability" style="font-weight:bold;margin-left:1em;color:red;">' + msg + '</span>');
}
+
+ // enable/disable button
+ if(msg == '') {
+ $('input[type="button"]').removeAttr("disabled");
+ } else {
+ $('input[type="button"]').attr("disabled", "disabled");
+ }
+
+ // update givenname and cn
+ // TODO remove when no longer needed
+ $('input[name="givenname"]').val($('input[name="uid"]').val());
+ $('input[name="cn"]').val($('input[name="uid"]').val());
}
function isValidEmailAddress(emailAddress) {
diff --git a/lib/hosted/kolab_client_task_signup.php b/lib/hosted/kolab_client_task_signup.php
index a853179..cb6ede7 100644
--- a/lib/hosted/kolab_client_task_signup.php
+++ b/lib/hosted/kolab_client_task_signup.php
@@ -132,7 +132,6 @@ class kolab_client_task_signup extends kolab_client_task
'label' => 'Username',
'name' => 'uid',
'type' => kolab_form::INPUT_TEXT,
- 'value' => 'john.doe',
'onchange'=> "kadm.check_user_availability()",
));
$form->add_element(array(
@@ -140,11 +139,11 @@ class kolab_client_task_signup extends kolab_client_task
'name' => 'domain',
'type' => kolab_form::INPUT_SELECT,
'options' => $domain_form_names,
- 'onchange'=> "kadm.check_user_availability()",
+ 'onchange'=> "update_ou()",
));
$form->add_element(array(
'label' => 'Current Email Address',
- 'name' => 'cur_mail',
+ 'name' => 'mailalternateaddress',
'type' => kolab_form::INPUT_TEXT,
));
$form->add_element(array(
@@ -196,7 +195,7 @@ class kolab_client_task_signup extends kolab_client_task
));
$form->add_button(array(
'value' => kolab_html::escape('Sign up'),
- 'onclick' => "kadm.user_save()",
+ 'onclick' => "kadm.user_signup()",
// 'onclick' => "kadm.command('signup.add_user')",
));
@@ -208,7 +207,7 @@ class kolab_client_task_signup extends kolab_client_task
// define form_id and required fields
$this->output->set_env('form_id', $form_id);
- $this->output->set_env('required_fields', Array('uid', 'mail', 'cur_mail', 'domain'));
+ $this->output->set_env('required_fields', Array('uid', 'mail', 'mailalternateaddress', 'domain'));
// assign form output to template variable
$this->output->assign('form', $form->output());
More information about the commits
mailing list