Skip to content

Commit 9ef9800

Browse files
committed
Fix form issues when changing member data
1 parent e4dc7c6 commit 9ef9800

6 files changed

Lines changed: 21 additions & 10 deletions

File tree

apps/commons/templates/includes/error_list.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
{% if field.errors %}
1+
{% if errors %}
22
<ul class="errorlist">
3-
{% for error in field.errors %}
3+
{% for error in errors %}
44
<li>{{ error }}</li>
55
{% endfor %}
66
</ul>

apps/commons/templatetags/utils.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ def is_active(context, named_url):
3737

3838
@register.inclusion_tag('includes/error_list.html')
3939
def error_list(field):
40+
print(field, type(field))
4041
return {
4142
'errors': field.errors,
4243
}

apps/members/forms.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,6 @@ def save(self, request):
155155

156156

157157
class ChangeAddressForm(forms.ModelForm):
158-
159158
class Meta:
160159
model = Member
161160
fields = [
@@ -167,7 +166,9 @@ class Meta:
167166
]
168167

169168
address = forms.CharField(label='Dirección', strip=True)
170-
rest_address = forms.CharField(label='', strip=True)
171-
postal_code = forms.CharField(label="Cód. postal", max_length=12, strip=True)
169+
rest_address = forms.CharField(label='', required=False, strip=True)
170+
postal_code = forms.CharField(
171+
label="Cód. postal", max_length=12, strip=True
172+
)
172173
city = forms.CharField(label='Ciudad', strip=True)
173-
phone = forms.CharField(label='Teléfono', strip=True)
174+
phone = forms.CharField(label='Teléfono', required=False, strip=True)

apps/members/urls.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99
path("profile/", views.profile, name="profile"),
1010
path("membership/", views.view_membership, name="membership"),
1111
path("password/change/", views.password_change, name="password_change"),
12-
path("address/change/", views.ChangeAddress.as_view(), name="address_change"),
12+
path(
13+
"address/change/", views.ChangeAddress.as_view(), name="address_change"
14+
),
1315
path("login/", views.member_login, name="login"),
1416
path("logout/", views.member_logout, name="logout"),
1517
]

apps/members/views.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
from django.core.exceptions import PermissionDenied
77
from django.http import HttpRequest, HttpResponse
88
from django.shortcuts import redirect, render
9-
from django.views.generic import UpdateView
109
from django.urls import reverse, reverse_lazy
10+
from django.views.generic import UpdateView
1111

1212
from . import forms
1313
from .menu import main_menu
@@ -114,9 +114,16 @@ class ChangeAddress(UpdateView):
114114
def get_success_url(self):
115115
return reverse_lazy('members:profile')
116116

117-
def get_object(self, qyeryset=None):
117+
def get_object(self, queryset=None):
118118
return self.request.user.member
119119

120+
def form_invalid(self, form):
121+
num_errors = sum(len(err) for err in form.errors.values())
122+
messages.error(
123+
self.request, f'El formulario tiene {num_errors} errores'
124+
)
125+
return super().form_invalid(form)
126+
120127
def get_context_data(self, **kwargs):
121128
context = {
122129
'menu': main_menu,

main/settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@
172172
# Internationalization
173173
# https://docs.djangoproject.com/en/2.0/topics/i18n/
174174

175-
LANGUAGE_CODE = 'en-us'
175+
LANGUAGE_CODE = 'es-ES'
176176

177177
TIME_ZONE = config('TIME_ZONE', default='UTC')
178178

0 commit comments

Comments
 (0)