Add ajax-select app and improve some templates

This commit is contained in:
Skia
2016-08-19 23:24:23 +02:00
parent bfb2dc5f82
commit 7e90e657a7
25 changed files with 468 additions and 411 deletions

View File

@ -27,16 +27,18 @@
{{ super() }}
<script type="text/javascript" charset="utf-8">
$( function() {
select = $("#subscription_form select[name=member]");
select = $("#id_member");
member_block = $("#subscription_form #new_member");
user_info = $("#user_info");
function display_new_member() {
if (select.val()) {
member_block.hide();
user_info.load("/user/"+select.val()+"/mini");
user_info.show();
} else {
member_block.show();
user_info.empty();
user_info.hide();
}
}
select.on("change", display_new_member);

View File

@ -8,6 +8,8 @@ from django import forms
from django.forms import Select
from django.conf import settings
from ajax_select.fields import AutoCompleteSelectField
from subscription.models import Subscriber, Subscription
from core.views import CanEditMixin, CanEditPropMixin, CanViewMixin
from core.models import User
@ -20,6 +22,7 @@ class SubscriptionForm(forms.ModelForm):
class Meta:
model = Subscription
fields = ['member', 'subscription_type', 'payment_method', 'location']
member = AutoCompleteSelectField('users', required=False, help_text=None)
def __init__(self, *args, **kwargs):
super(SubscriptionForm, self).__init__(*args, **kwargs)
@ -31,8 +34,15 @@ class SubscriptionForm(forms.ModelForm):
self.fields.move_to_end('payment_method')
self.fields.move_to_end('location')
def clean_member(self):
subscriber = self.cleaned_data.get("member")
if subscriber:
subscriber = Subscriber.objects.filter(id=subscriber.id).first()
return subscriber
def clean(self):
cleaned_data = super(SubscriptionForm, self).clean()
print(cleaned_data)
if (cleaned_data.get("member") is None
and "last_name" not in self.errors.as_data()
and "first_name" not in self.errors.as_data()