2 commits - doc/kolab_hosting-3.0.sql lib/client public_html/js

Torsten Grote grote at kolabsys.com
Thu Sep 27 16:13:18 CEST 2012


 doc/kolab_hosting-3.0.sql               |    4 ++--
 lib/client/kolab_client_task_signup.php |   20 ++++++--------------
 public_html/js/kolab_hosted.js          |   17 ++++++++++-------
 3 files changed, 18 insertions(+), 23 deletions(-)

New commits:
commit 7320c0b38f0b4eaa9888262f3fdca9e93273fd6e
Author: Torsten Grote <grote at kolabsys.com>
Date:   Thu Sep 27 16:11:41 2012 +0200

    proper change of account type for hosted signup

diff --git a/lib/client/kolab_client_task_signup.php b/lib/client/kolab_client_task_signup.php
index 86a123e..856862c 100644
--- a/lib/client/kolab_client_task_signup.php
+++ b/lib/client/kolab_client_task_signup.php
@@ -101,6 +101,7 @@ class kolab_client_task_signup extends kolab_client_task
         $this->output->assign('form', $form);
         $this->output->set_env('token', $this->token);
         $this->output->set_object('taskcontent', $form);
+        $this->output->command('check_user_availability()');
     }
 
     // check if user already exists
diff --git a/public_html/js/kolab_hosted.js b/public_html/js/kolab_hosted.js
index 9f717ae..af3e1c2 100644
--- a/public_html/js/kolab_hosted.js
+++ b/public_html/js/kolab_hosted.js
@@ -53,6 +53,7 @@ kadm.change_user_type = function()
 {
     var data = kadm.serialize_form('#'+this.env.form_id);
 
+    this.set_busy(true, 'loading');
     kadm.http_post('signup.default', {data: data});
 };
 
@@ -62,14 +63,16 @@ kadm.check_user_availability = function()
     var data = kadm.serialize_form('#signup-form');
     var mail = data['uid'] + '@' + data['domain'];
 
-    if(isValidEmailAddress(mail)) {
-        // update future mail form field
-        $('input[name="mail"]').val(mail);
+    if(data['uid'] != '') {
+        if(isValidEmailAddress(mail)) {
+            // update future mail form field
+            $('input[name="mail"]').val(mail);
 
-        // check if user with that email address already exists
-        kadm.http_post('signup.check_user', {data: data});
-    } else {
-        kadm.update_user_info('signup.wronguid', 'uid');
+            // check if user with that email address already exists
+            kadm.http_post('signup.check_user', {data: data});
+        } else {
+            kadm.update_user_info('signup.wronguid', 'uid');
+        }
     }
 };
 


commit 67823acd283fdcfcd728078cf138f1575b282df2
Author: Torsten Grote <grote at kolabsys.com>
Date:   Thu Sep 27 15:46:44 2012 +0200

    add organization and mail to signup form, show optional fields

diff --git a/doc/kolab_hosting-3.0.sql b/doc/kolab_hosting-3.0.sql
index cc64e88..fb7c2a7 100644
--- a/doc/kolab_hosting-3.0.sql
+++ b/doc/kolab_hosting-3.0.sql
@@ -3,6 +3,6 @@
 --
 
 INSERT INTO `user_types` (`key`, `name`, `description`, `attributes`, `used_for`) VALUES
-('personal', 'Hosted Personal', 'A user with a personal hosted plan', '{"auto_form_fields":{"cn":{"data":["givenname","sn"]},"mail":{"data":["uid"]}},"form_fields":{"givenname":[],"mailalternateaddress":{"optional":true},"sn":[],"uid":[],"userpassword":{"type":"password"}},"fields":{"mailquota":"131072","nsroledn":"cn=personal-user,%(base_dn)s","objectclass":["top","inetorgperson","kolabinetorgperson","mailrecipient","organizationalperson","person"]}}', 'hosted'),
-('professional', 'Hosted Professional', 'A user with a professional hosted plan', '{"auto_form_fields":{"cn":{"data":["givenname","sn"]},"mail":{"data":["uid"]}},"form_fields":{"alias":{"type":"list","optional":true,"maxcount":2},"givenname":[],"mailalternateaddress":{"optional":true},"sn":[],"uid":[],"userpassword":{"type":"password"}},"fields":{"mailquota":"1048576","nsroledn":"cn=professional-user,%(base_dn)s","objectclass":["top","inetorgperson","kolabinetorgperson","mailrecipient","organizationalperson","person"]}}', 'hosted');
+('personal', 'Hosted Personal', 'A user with a personal hosted plan', '{"auto_form_fields":{"cn":{"data":["givenname","sn"]},"mail":{"data":["uid"]}},"form_fields":{"givenname":[],"mailalternateaddress":[],"org":{"optional":true},"sn":[],"uid":[],"userpassword":{"type":"password"}},"fields":{"mailquota":"131072","nsroledn":"cn=personal-user,%(base_dn)s","objectclass":["top","inetorgperson","kolabinetorgperson","mailrecipient","organizationalperson","person"]}}', 'hosted'),
+('professional', 'Hosted Professional', 'A user with a professional hosted plan', '{"auto_form_fields":{"cn":{"data":["givenname","sn"]},"mail":{"data":["uid"]}},"form_fields":{"alias":{"type":"list","optional":true,"maxcount":2},"givenname":[],"mailalternateaddress":[],"org":{"optional":true},"sn":[],"uid":[],"userpassword":{"type":"password"}},"fields":{"mailquota":"1048576","nsroledn":"cn=professional-user,%(base_dn)s","objectclass":["top","inetorgperson","kolabinetorgperson","mailrecipient","organizationalperson","person"]}}', 'hosted');
 
diff --git a/lib/client/kolab_client_task_signup.php b/lib/client/kolab_client_task_signup.php
index de43c45..86a123e 100644
--- a/lib/client/kolab_client_task_signup.php
+++ b/lib/client/kolab_client_task_signup.php
@@ -99,6 +99,7 @@ class kolab_client_task_signup extends kolab_client_task
         }
 
         $this->output->assign('form', $form);
+        $this->output->set_env('token', $this->token);
         $this->output->set_object('taskcontent', $form);
     }
 
@@ -158,8 +159,6 @@ class kolab_client_task_signup extends kolab_client_task
         // Remove domain from $data before adding user
         unset($data['domain']);
 
-        $data['cn'] = $this->api->post('form_value.generate', $data);
-
         // Add user
         $result = $this->api->post('user.add', null, $data);
 
@@ -179,6 +178,7 @@ class kolab_client_task_signup extends kolab_client_task
             'givenname'                 => 'other',
             'sn'                        => 'other',
             'cn'                        => 'other',
+            'org'                       => 'other',
             'mailalternateaddress'      => 'other',
             'uid'                       => 'other',
             'domain'                    => 'other',
@@ -190,13 +190,6 @@ class kolab_client_task_signup extends kolab_client_task
 
         // Prepare fields
         list($fields, $types, $type) = $this->form_prepare('user', $data, array('userpassword2'), 'hosted');
-        
-        // Show only required fields
-        foreach ($fields as $field_name => $field_attrs) {
-            if(!array_key_exists('required', $field_attrs) or $field_attrs['required'] != 'true') {
-                unset($fields[$field_name]);
-            }
-        }
 
         // Add user type id selector
         $accttypes = array();
@@ -231,11 +224,8 @@ class kolab_client_task_signup extends kolab_client_task
 
         // Hide cn field
         if (isset($fields['cn'])) {
-            // TODO use type info from user types table
+            // TODO add "hidden":true to user_types attributes and use it
             $fields['cn']['type'] = kolab_form::INPUT_HIDDEN;
-
-            $fields['sn']['onchange'] = '';
-            $fields['givenname']['onchange'] = '';
         }
 
         // Add password confirmation
@@ -248,6 +238,7 @@ class kolab_client_task_signup extends kolab_client_task
         $fields['uid']['label'] = 'signup.username';
         $fields['mail']['label'] = 'signup.futuremail';
         if(isset($fields['mailalternateaddress'])) $fields['mailalternateaddress']['label'] = 'signup.mailalternateaddress';
+//        if(isset($fields['org'])) $fields['org']['label'] = 'signup.company';
         $fields['domain']['label'] = 'signup.domain';
 
         // Create form object and populate with fields
@@ -255,7 +246,7 @@ class kolab_client_task_signup extends kolab_client_task
 
         $form->set_title($this->translate('signup.formtitle'));
 
-        $this->output->add_translation('user.password.mismatch', 'signup.wronguid', 'signup.userexists');
+        $this->output->add_translation('user.password.mismatch', 'signup.wronguid', 'signup.userexists', 'signup.wrongmailalternateaddress');
 
         return $form->output();
     }





More information about the commits mailing list