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