forked from DGNum/gestioCOF
Merge branch 'Kerl/unernestaparis'
This commit is contained in:
commit
19c51c6a3a
7 changed files with 79 additions and 51 deletions
|
@ -1,3 +1,5 @@
|
||||||
|
image: "python:3.5"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
- postgres:latest
|
- postgres:latest
|
||||||
- redis:latest
|
- redis:latest
|
||||||
|
@ -34,6 +36,7 @@ before_script:
|
||||||
# Remove the old test database if it has not been done yet
|
# Remove the old test database if it has not been done yet
|
||||||
- psql --username=$POSTGRES_USER --host=$DBHOST -c "DROP DATABASE IF EXISTS test_$POSTGRES_DB"
|
- psql --username=$POSTGRES_USER --host=$DBHOST -c "DROP DATABASE IF EXISTS test_$POSTGRES_DB"
|
||||||
- pip install --upgrade --cache-dir vendor/pip -t vendor/python -r requirements.txt
|
- pip install --upgrade --cache-dir vendor/pip -t vendor/python -r requirements.txt
|
||||||
|
- python --version
|
||||||
|
|
||||||
test:
|
test:
|
||||||
stage: test
|
stage: test
|
||||||
|
|
|
@ -170,25 +170,22 @@ class EventStatusFilterForm(forms.Form):
|
||||||
yield ("has_paid", None, value)
|
yield ("has_paid", None, value)
|
||||||
|
|
||||||
|
|
||||||
class UserProfileForm(forms.ModelForm):
|
class UserForm(forms.ModelForm):
|
||||||
first_name = forms.CharField(label=_('Prénom'), max_length=30)
|
class Meta:
|
||||||
last_name = forms.CharField(label=_('Nom'), max_length=30)
|
model = User
|
||||||
|
fields = ["first_name", "last_name", "email"]
|
||||||
|
|
||||||
def __init__(self, *args, **kw):
|
|
||||||
super().__init__(*args, **kw)
|
|
||||||
self.fields['first_name'].initial = self.instance.user.first_name
|
|
||||||
self.fields['last_name'].initial = self.instance.user.last_name
|
|
||||||
|
|
||||||
def save(self, *args, **kw):
|
|
||||||
super().save(*args, **kw)
|
|
||||||
self.instance.user.first_name = self.cleaned_data.get('first_name')
|
|
||||||
self.instance.user.last_name = self.cleaned_data.get('last_name')
|
|
||||||
self.instance.user.save()
|
|
||||||
|
|
||||||
|
class ProfileForm(forms.ModelForm):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = CofProfile
|
model = CofProfile
|
||||||
fields = ["first_name", "last_name", "phone", "mailing_cof",
|
fields = [
|
||||||
"mailing_bda", "mailing_bda_revente"]
|
"phone",
|
||||||
|
"mailing_cof",
|
||||||
|
"mailing_bda",
|
||||||
|
"mailing_bda_revente",
|
||||||
|
"mailing_unernestaparis"
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
class RegistrationUserForm(forms.ModelForm):
|
class RegistrationUserForm(forms.ModelForm):
|
||||||
|
@ -232,6 +229,7 @@ class RegistrationProfileForm(forms.ModelForm):
|
||||||
self.fields['mailing_cof'].initial = True
|
self.fields['mailing_cof'].initial = True
|
||||||
self.fields['mailing_bda'].initial = True
|
self.fields['mailing_bda'].initial = True
|
||||||
self.fields['mailing_bda_revente'].initial = True
|
self.fields['mailing_bda_revente'].initial = True
|
||||||
|
self.fields['mailing_unernestaparis'].initial = True
|
||||||
|
|
||||||
self.fields.keyOrder = [
|
self.fields.keyOrder = [
|
||||||
'login_clipper',
|
'login_clipper',
|
||||||
|
@ -243,6 +241,7 @@ class RegistrationProfileForm(forms.ModelForm):
|
||||||
'mailing_cof',
|
'mailing_cof',
|
||||||
'mailing_bda',
|
'mailing_bda',
|
||||||
'mailing_bda_revente',
|
'mailing_bda_revente',
|
||||||
|
"mailing_unernestaparis",
|
||||||
'comments'
|
'comments'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -250,7 +249,9 @@ class RegistrationProfileForm(forms.ModelForm):
|
||||||
model = CofProfile
|
model = CofProfile
|
||||||
fields = ("login_clipper", "phone", "occupation",
|
fields = ("login_clipper", "phone", "occupation",
|
||||||
"departement", "is_cof", "type_cotiz", "mailing_cof",
|
"departement", "is_cof", "type_cotiz", "mailing_cof",
|
||||||
"mailing_bda", "mailing_bda_revente", "comments")
|
"mailing_bda", "mailing_bda_revente",
|
||||||
|
"mailing_unernestaparis", "comments")
|
||||||
|
|
||||||
|
|
||||||
STATUS_CHOICES = (('no', 'Non'),
|
STATUS_CHOICES = (('no', 'Non'),
|
||||||
('wait', 'Oui mais attente paiement'),
|
('wait', 'Oui mais attente paiement'),
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.11.15 on 2018-09-02 21:13
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('gestioncof', '0013_pei'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='cofprofile',
|
||||||
|
name='mailing_unernestaparis',
|
||||||
|
field=models.BooleanField(default=False, verbose_name='Recevoir les mails unErnestAParis'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -72,6 +72,7 @@ class CofProfile(models.Model):
|
||||||
TYPE_COTIZ_CHOICES))
|
TYPE_COTIZ_CHOICES))
|
||||||
mailing_cof = models.BooleanField("Recevoir les mails COF", default=False)
|
mailing_cof = models.BooleanField("Recevoir les mails COF", default=False)
|
||||||
mailing_bda = models.BooleanField("Recevoir les mails BdA", default=False)
|
mailing_bda = models.BooleanField("Recevoir les mails BdA", default=False)
|
||||||
|
mailing_unernestaparis = models.BooleanField("Recevoir les mails unErnestAParis", default=False)
|
||||||
mailing_bda_revente = models.BooleanField(
|
mailing_bda_revente = models.BooleanField(
|
||||||
"Recevoir les mails de revente de places BdA", default=False)
|
"Recevoir les mails de revente de places BdA", default=False)
|
||||||
comments = models.TextField(
|
comments = models.TextField(
|
||||||
|
|
|
@ -5,23 +5,20 @@
|
||||||
|
|
||||||
{% block realcontent %}
|
{% block realcontent %}
|
||||||
<h2>Modifier mon profil</h2>
|
<h2>Modifier mon profil</h2>
|
||||||
<form id="profile form-horizontal" method="post" action="{% url 'profile' %}">
|
<form id="profile form-horizontal" method="post" action="">
|
||||||
<div class="row" style="margin: 0 15%;">
|
<div class="row" style="margin: 0 15%;">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<fieldset"center-block">
|
{{ user_form | bootstrap }}
|
||||||
{% for field in form %}
|
{{ profile_form | bootstrap }}
|
||||||
{{ field | bootstrap }}
|
|
||||||
{% endfor %}
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if user.profile.comments %}
|
{% if user.profile.comments %}
|
||||||
<div class="row" style="margin: 0 15%;">
|
<div class="row" style="margin: 0 15%;">
|
||||||
<h4>Commentaires</h4>
|
<h4>Commentaires</h4>
|
||||||
<p>
|
<p>{{ user.profile.comments }}</p>
|
||||||
{{ user.profile.comments }}
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="form-actions">
|
<div class="form-actions">
|
||||||
<input type="submit" class="btn btn-primary pull-right" value="Enregistrer" />
|
<input type="submit" class="btn btn-primary pull-right" value="Enregistrer" />
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -46,9 +46,9 @@ class ProfileViewTests(ViewTestCaseMixin, TestCase):
|
||||||
u = self.users['member']
|
u = self.users['member']
|
||||||
|
|
||||||
r = self.client.post(self.url, {
|
r = self.client.post(self.url, {
|
||||||
'first_name': 'First',
|
'u-first_name': 'First',
|
||||||
'last_name': 'Last',
|
'u-last_name': 'Last',
|
||||||
'phone': '',
|
'p-phone': '',
|
||||||
# 'mailing_cof': '1',
|
# 'mailing_cof': '1',
|
||||||
# 'mailing_bda': '1',
|
# 'mailing_bda': '1',
|
||||||
# 'mailing_bda_revente': '1',
|
# 'mailing_bda_revente': '1',
|
||||||
|
|
|
@ -32,7 +32,8 @@ from gestioncof.models import EventCommentField, EventCommentValue, \
|
||||||
from gestioncof.models import CofProfile, Club
|
from gestioncof.models import CofProfile, Club
|
||||||
from gestioncof.decorators import buro_required, cof_required
|
from gestioncof.decorators import buro_required, cof_required
|
||||||
from gestioncof.forms import (
|
from gestioncof.forms import (
|
||||||
UserProfileForm, EventStatusFilterForm, SurveyForm, SurveyStatusFilterForm,
|
UserForm, ProfileForm,
|
||||||
|
EventStatusFilterForm, SurveyForm, SurveyStatusFilterForm,
|
||||||
RegistrationUserForm, RegistrationProfileForm, EventForm, CalendarForm,
|
RegistrationUserForm, RegistrationProfileForm, EventForm, CalendarForm,
|
||||||
EventFormset, RegistrationPassUserForm, ClubsForm, GestioncofConfigForm
|
EventFormset, RegistrationPassUserForm, ClubsForm, GestioncofConfigForm
|
||||||
)
|
)
|
||||||
|
@ -334,15 +335,20 @@ def survey_status(request, survey_id):
|
||||||
|
|
||||||
@cof_required
|
@cof_required
|
||||||
def profile(request):
|
def profile(request):
|
||||||
|
user = request.user
|
||||||
|
data = request.POST if request.method == "POST" else None
|
||||||
|
user_form = UserForm(data=data, instance=user, prefix="u")
|
||||||
|
profile_form = ProfileForm(data=data, instance=user.profile, prefix="p")
|
||||||
if request.method == "POST":
|
if request.method == "POST":
|
||||||
form = UserProfileForm(request.POST, instance=request.user.profile)
|
if user_form.is_valid() and profile_form.is_valid():
|
||||||
if form.is_valid():
|
user_form.save()
|
||||||
form.save()
|
profile_form.save()
|
||||||
messages.success(request,
|
messages.success(
|
||||||
"Votre profil a été mis à jour avec succès !")
|
request,
|
||||||
else:
|
_("Votre profil a été mis à jour avec succès !")
|
||||||
form = UserProfileForm(instance=request.user.profile)
|
)
|
||||||
return render(request, "gestioncof/profile.html", {"form": form})
|
context = {"user_form": user_form, "profile_form": profile_form}
|
||||||
|
return render(request, "gestioncof/profile.html", context)
|
||||||
|
|
||||||
|
|
||||||
def registration_set_ro_fields(user_form, profile_form):
|
def registration_set_ro_fields(user_form, profile_form):
|
||||||
|
|
Loading…
Reference in a new issue