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