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 %}
  • Membres du COF
  • {% 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()