2 commits - lib/client public_html/js
Aleksander Machniak
machniak at kolabsys.com
Tue Sep 24 15:07:58 CEST 2013
lib/client/kolab_client_task_signup.php | 18 +++++++++++-------
public_html/js/kolab_hosted.js | 30 +++++++++++++++++-------------
2 files changed, 28 insertions(+), 20 deletions(-)
New commits:
commit 85ff5b5a89483c0988d128291c6da717a1d91ca0
Author: Aleksander Machniak <alec at alec.pl>
Date: Tue Sep 24 15:06:54 2013 +0200
Prevent from submitting signup form while other requests didn't finish,
e.g. while checking for user existance (Bug #2061)
diff --git a/public_html/js/kolab_hosted.js b/public_html/js/kolab_hosted.js
index c410b01..31e1cdc 100644
--- a/public_html/js/kolab_hosted.js
+++ b/public_html/js/kolab_hosted.js
@@ -24,22 +24,25 @@
// overwrite user_save() function
kadm.user_save = function(reload, section)
{
- var data = kadm.serialize_form('#'+this.env.form_id);
+ if (this.busy)
+ return;
+
+ var data = this.serialize_form('#'+this.env.form_id);
- if (!kadm.check_required_fields(data)) {
- kadm.display_message('form.required.empty', 'error');
+ if (!this.check_required_fields(data)) {
+ this.display_message('form.required.empty', 'error');
return;
}
// check password
if (data.userpassword != data.userpassword2) {
- kadm.display_message('user.password.mismatch', 'error');
- kadm.form_value_error('userpassword2');
+ this.display_message('user.password.mismatch', 'error');
+ this.form_value_error('userpassword2');
return;
}
delete data['userpassword2'];
- kadm.http_post('signup.add_user', {data: data});
+ this.http_post('signup.add_user', {data: data});
};
kadm.reload_captcha = function()
@@ -49,7 +52,7 @@ kadm.reload_captcha = function()
kadm.change_user_type = function()
{
- var data = kadm.serialize_form('#'+this.env.form_id);
+ var data = this.serialize_form('#'+this.env.form_id);
this.set_busy(true, 'loading');
kadm.http_post('signup.default', {data: data});
@@ -58,7 +61,7 @@ kadm.change_user_type = function()
kadm.check_user_availability = function()
{
// get form data and build new email address
- var data = kadm.serialize_form('#signup-form');
+ var data = this.serialize_form('#signup-form');
var mail = data.uid + '@' + data.domain;
if(data.uid) {
@@ -67,9 +70,10 @@ kadm.check_user_availability = function()
$('input[name="mail"]').val(mail);
// check if user with that email address already exists
- kadm.http_post('signup.check_user', {data: data});
+ this.set_busy(true, 'loading');
+ this.http_post('signup.check_user', {data: data});
} else {
- kadm.update_user_info('signup.wronguid', 'uid');
+ this.update_user_info('signup.wronguid', 'uid');
}
}
};
@@ -82,7 +86,7 @@ kadm.update_user_info = function(msg, part)
}
if (msg) {
- msg = kadm.t(msg);
+ msg = this.t(msg);
}
// display message next to form field
commit f3a19e4fb68f13980edd21a7c4588b4906ff058e
Author: Aleksander Machniak <alec at alec.pl>
Date: Tue Sep 24 14:54:45 2013 +0200
Code cleanup
diff --git a/lib/client/kolab_client_task_signup.php b/lib/client/kolab_client_task_signup.php
index 2746928..ad8a5fc 100644
--- a/lib/client/kolab_client_task_signup.php
+++ b/lib/client/kolab_client_task_signup.php
@@ -105,7 +105,8 @@ class kolab_client_task_signup extends kolab_client_task
}
// check if user already exists
- public function action_check_user($data = array()) {
+ public function action_check_user($data = array())
+ {
if(count($data) == 0) $data = $this->get_input('data', 'POST');
$this->login($data['domain']);
@@ -131,7 +132,8 @@ class kolab_client_task_signup extends kolab_client_task
return true;
}
- public function action_add_user() {
+ public function action_add_user()
+ {
$data = $this->get_input('data', 'POST');
$private_key = $this->config_get('recaptcha_private_key');
@@ -184,7 +186,8 @@ class kolab_client_task_signup extends kolab_client_task
}
}
- private function user_form($data = array()) {
+ private function user_form($data = array())
+ {
$attribs['id'] = 'signup-form';
$fields_map = array(
@@ -224,13 +227,13 @@ class kolab_client_task_signup extends kolab_client_task
$fields['type_id']['type'] = kolab_form::INPUT_HIDDEN;
$fields['type_id']['value'] = $accttype['value'];
}
-
+
// Add object type field
$fields['object_type'] = array(
'type' => kolab_form::INPUT_HIDDEN,
'value' => 'user',
);
-
+
// Add available domains
$domains = $this->get_domains();
$fields['domain'] = array(
@@ -258,7 +261,7 @@ class kolab_client_task_signup extends kolab_client_task
$fields['userpassword2'] = $fields['userpassword'];
$fields['userpassword2']['onchange'] = 'password_match()';
}
-
+
// Change field labels for hosted case
$fields['uid']['label'] = 'signup.username';
$fields['mail']['label'] = 'signup.futuremail';
@@ -276,7 +279,8 @@ class kolab_client_task_signup extends kolab_client_task
return $form->output();
}
- protected function get_domains() {
+ protected function get_domains()
+ {
// Get a list of domains ($domains again is a kolab_client_api_result instance)
$domains_list = $this->api->get('domains.list')->get('list');
diff --git a/public_html/js/kolab_hosted.js b/public_html/js/kolab_hosted.js
index 6fdb43e..c410b01 100644
--- a/public_html/js/kolab_hosted.js
+++ b/public_html/js/kolab_hosted.js
@@ -59,9 +59,9 @@ kadm.check_user_availability = function()
{
// get form data and build new email address
var data = kadm.serialize_form('#signup-form');
- var mail = data['uid'] + '@' + data['domain'];
+ var mail = data.uid + '@' + data.domain;
- if(data['uid'] != '') {
+ if(data.uid) {
if(isValidEmailAddress(mail)) {
// update future mail form field
$('input[name="mail"]').val(mail);
More information about the commits
mailing list