Attach user id to form

This commit is contained in:
nikolark committed 2015-07-10 23:36:03 +02:00
1 parent a30a3c6950
commit adfc85f747
5 files changed
+26 -7

No files matched your search

+1
View File
@@ -13,3 +13,4 @@ class SearchUserForm(forms.Form):
class AddCardForm(forms.Form):
phone_number = PhoneNumberField(widget=forms.TextInput(attrs={'type': 'tel'}))
card_number = forms.IntegerField(widget=forms.NumberInput())
user_id = forms.IntegerField(widget=forms.HiddenInput(), required=False)
+11 -3
View File
@@ -91,7 +91,8 @@ $(document).ready(function(){
phoneNumber: $('#id_phone_number'),
cardNumber: $('#id_card_number'),
registerButton: $('#register-submit-btn'),
usernameField: $('#id_username')
usernameField: $('#id_username'),
userId: $('#id_user_id')
};
var urls = {
insideUserApi: '/inside/user/',
@@ -129,8 +130,10 @@ $(document).ready(function(){
$.getJSON(urls.insidePhoneNumberApi, {q: val}, function(data) {
if(data.meta && data.meta.num_results == 1) {
set_field_state(_dom.phoneNumber, 'success');
_dom.userId.val(data.results[0].id);
} else {
set_field_state(_dom.phoneNumber, '');
_dom.userId.val('');
}
});
});
@@ -139,7 +142,7 @@ $(document).ready(function(){
if(!validate_form('cardNumber')) {
return;
}
/* cardnumber should be in the database */
/* Card number should exist in the database and not tied to existing user */
var val = _dom.cardNumber.val().trim();
$.getJSON(urls.insideCardNumber, {q: val}, function(data) {
if(data.error) {
@@ -150,7 +153,7 @@ $(document).ready(function(){
set_field_state(_dom.cardNumber, 'error', 'Cannot find card number in database.');
}
else if(data.user !== null && data.valid) {
set_field_state(_dom.cardNumber, 'warning', 'Card number belongs to existing user');
set_field_state(_dom.cardNumber, 'error', 'Card number belongs to existing user: '+ data.user.firstname +''+ data.user.lastname +'('+data.user.id+').');
}
else if(data.user === null && data.valid) {
set_field_state(_dom.cardNumber, 'success');
@@ -164,8 +167,13 @@ $(document).ready(function(){
_dom.results.on('click', '.search-result input', function(e){
var label = $(this).parent();
var number = label.attr('data-phone-number');
var user_id = label.attr('data-user-id');
$('.search-result').removeClass('selected');
label.toggleClass('selected');
_dom.userId.val(user_id);
if(number === '-') {
number = '';
}
_dom.phoneNumber.val(number);
});
+1 -1
View File
@@ -1,5 +1,5 @@
{% if not res.cardno or res.card_is_legacy %}
<label for="{{ res.id }}" data-phone-number="{{ res.number }}" class="list-group-item search-result can-register-card{% if res.is_member == "1" %} member{% else %} not-member{% endif %}">
<label for="{{ res.id }}" data-phone-number="{{ res.number }}" data-user-id="{{ res.id }}" class="list-group-item search-result can-register-card{% if res.is_member == "1" %} member{% else %} not-member{% endif %}">
<input type="radio" name="user" id="{{ res.id }}">
{% else %}
<!-- Has card -->
+11 -3
View File
@@ -91,7 +91,8 @@ $(document).ready(function(){
phoneNumber: $('#id_phone_number'),
cardNumber: $('#id_card_number'),
registerButton: $('#register-submit-btn'),
usernameField: $('#id_username')
usernameField: $('#id_username'),
userId: $('#id_user_id')
};
var urls = {
insideUserApi: '/inside/user/',
@@ -129,8 +130,10 @@ $(document).ready(function(){
$.getJSON(urls.insidePhoneNumberApi, {q: val}, function(data) {
if(data.meta && data.meta.num_results == 1) {
set_field_state(_dom.phoneNumber, 'success');
_dom.userId.val(data.results[0].id);
} else {
set_field_state(_dom.phoneNumber, '');
_dom.userId.val('');
}
});
});
@@ -139,7 +142,7 @@ $(document).ready(function(){
if(!validate_form('cardNumber')) {
return;
}
/* cardnumber should be in the database */
/* Card number should exist in the database and not tied to existing user */
var val = _dom.cardNumber.val().trim();
$.getJSON(urls.insideCardNumber, {q: val}, function(data) {
if(data.error) {
@@ -150,7 +153,7 @@ $(document).ready(function(){
set_field_state(_dom.cardNumber, 'error', 'Cannot find card number in database.');
}
else if(data.user !== null && data.valid) {
set_field_state(_dom.cardNumber, 'warning', 'Card number belongs to existing user');
set_field_state(_dom.cardNumber, 'error', 'Card number belongs to existing user: '+ data.user.firstname +''+ data.user.lastname +'('+data.user.id+').');
}
else if(data.user === null && data.valid) {
set_field_state(_dom.cardNumber, 'success');
@@ -164,8 +167,13 @@ $(document).ready(function(){
_dom.results.on('click', '.search-result input', function(e){
var label = $(this).parent();
var number = label.attr('data-phone-number');
var user_id = label.attr('data-user-id');
$('.search-result').removeClass('selected');
label.toggleClass('selected');
_dom.userId.val(user_id);
if(number === '-') {
number = '';
}
_dom.phoneNumber.val(number);
});
+2
View File
@@ -8,6 +8,8 @@ output += "\n <label for=\"";
output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "res")),"id", env.opts.autoescape), env.opts.autoescape);
output += "\" data-phone-number=\"";
output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "res")),"number", env.opts.autoescape), env.opts.autoescape);
output += "\" data-user-id=\"";
output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "res")),"id", env.opts.autoescape), env.opts.autoescape);
output += "\" class=\"list-group-item search-result can-register-card";
if(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "res")),"is_member", env.opts.autoescape) == "1") {
output += " member";