diff --git a/cof/autocomplete.py b/cof/autocomplete.py
index 38dea4a2..2c05c701 100644
--- a/cof/autocomplete.py
+++ b/cof/autocomplete.py
@@ -26,14 +26,14 @@ def autocomplete(request):
bits = q.split()
queries['members'] = CofProfile.objects.filter(Q(is_cof=True))
- queries['users'] = User.objects.filter(Q(profile__is_cof=False))
+ queries['users'] = User.objects.filter(Q(profile__cof__is_cof=False))
queries['clippers'] = Clipper.objects
for bit in bits:
queries['members'] = queries['members'].filter(
- Q(user__first_name__icontains=bit)
- | Q(user__last_name__icontains=bit)
- | Q(user__username__icontains=bit)
- | Q(login_clipper__icontains=bit))
+ Q(profile__user__first_name__icontains=bit)
+ | Q(profile__user__last_name__icontains=bit)
+ | Q(profile__user__username__icontains=bit)
+ | Q(profile__login_clipper__icontains=bit))
queries['users'] = queries['users'].filter(
Q(first_name__icontains=bit)
| Q(last_name__icontains=bit)
@@ -43,7 +43,7 @@ def autocomplete(request):
| Q(username__icontains=bit))
queries['members'] = queries['members'].distinct()
queries['users'] = queries['users'].distinct()
- usernames = list(queries['members'].values_list('login_clipper',
+ usernames = list(queries['members'].values_list('profile__login_clipper',
flat='True')) \
+ list(queries['users'].values_list('profile__login_clipper',
flat='True'))
diff --git a/cof/forms.py b/cof/forms.py
index cf6652c7..a1ae7e1f 100644
--- a/cof/forms.py
+++ b/cof/forms.py
@@ -180,10 +180,6 @@ class EventStatusFilterForm(forms.Form):
class RegistrationUserForm(forms.ModelForm):
- def __init__(self, *args, **kw):
- super(RegistrationUserForm, self).__init__(*args, **kw)
- self.fields['username'].help_text = ""
-
def force_long_username(self):
self.fields['username'].validators = [MinLengthValidator(9)]
@@ -228,7 +224,6 @@ class RegistrationCofProfileForm(forms.ModelForm):
fields = [
"num", "type_cotiz", "is_cof", "is_buro",
"mailing", "mailing_bda", "mailing_bda_revente",
- "petits_cours_accept", "petits_cours_remarques"
]
def save(self, *args, **kw):
diff --git a/cof/templates/autocomplete_user.html b/cof/templates/autocomplete_user.html
index 26411eee..f5802c5d 100644
--- a/cof/templates/autocomplete_user.html
+++ b/cof/templates/autocomplete_user.html
@@ -3,7 +3,7 @@
{% if members %}
{% for member in members %}{% if forloop.counter < 5 %}
- {{ member.user|highlight_user:q }}
+ {{ member.profile.user|highlight_user:q }}
{% elif forloop.counter == 5 %}...{% endif %}{% endfor %}
{% endif %}
{% if users %}
diff --git a/cof/templates/home.html b/cof/templates/home.html
index 3fc92bfe..0d0edf63 100644
--- a/cof/templates/home.html
+++ b/cof/templates/home.html
@@ -57,7 +57,7 @@
Calendrier dynamique
{% if user.profile.cof.is_cof %}Inscription pour donner des petits cours{% endif %}
- Éditer mon profil
+ Éditer mon profil
{% if not user.profile.login_clipper %}Changer mon mot de passe{% endif %}
diff --git a/cof/templates/registration.html b/cof/templates/registration.html
index e3bf7e31..eb9bfd99 100644
--- a/cof/templates/registration.html
+++ b/cof/templates/registration.html
@@ -18,7 +18,7 @@
$(document).ready(function() {
$('input#search_autocomplete').yourlabsAutocomplete({
url: '{% url 'cof.autocomplete.autocomplete' %}',
- minimumCharacters: 1,
+ minimumCharacters: 3,
id: 'search_autocomplete',
choiceSelector: 'li:has(a)',
placeholder: "Chercher un utilisateur par nom, prénom ou identifiant clipper",
diff --git a/cof/views.py b/cof/views.py
index 8c5398c2..06ecfe11 100644
--- a/cof/views.py
+++ b/cof/views.py
@@ -399,6 +399,7 @@ def registration(request):
else:
user_form = RegistrationUserForm(request_dict)
profile_form = RegistrationProfileForm(request_dict)
+ cofprofile_form = RegistrationCofProfileForm(request_dict)
clubs_form = ClubsForm(request_dict)
events = Event.objects.filter(old=False).all()
event_formset = EventFormset(events=events, data=request_dict,
@@ -423,7 +424,8 @@ def registration(request):
if user_form.is_valid():
member = user_form.save()
- cofprofile, _ = CofProfile.objects.get_or_create(user=member)
+ cofprofile, _ = (CofProfile.objects
+ .get_or_create(profile=member.profile))
was_cof = cofprofile.is_cof
request_dict["num"] = cofprofile.num
# Maintenant on remplit le formulaire de profil
@@ -431,12 +433,16 @@ def registration(request):
request_dict,
instance=cofprofile
)
- forms_are_valid = all(
+ profile_form = RegistrationProfileForm(
+ request_dict,
+ instance=member.profile
+ )
+ forms_are_valid = all((
profile_form.is_valid(),
cofprofile_form.is_valid(),
event_formset.is_valid(),
clubs_form.is_valid()
- )
+ ))
if forms_are_valid:
# Enregistrement du profil
profile_form.save()