diff --git a/users/forms.py b/users/forms.py index fffae77..e8af39c 100644 --- a/users/forms.py +++ b/users/forms.py @@ -16,8 +16,14 @@ class UserEditForm(ModelForm): 'date_of_birth', 'website', 'skype', + 'avatar', ) + widgets = { + 'date_of_birth': forms.SelectDateWidget(years=range(1940, 2015)), + } + + class ContractorFinancicalInfoForm(ModelForm): diff --git a/users/migrations/0016_auto_20160617_1815.py b/users/migrations/0016_auto_20160617_1815.py new file mode 100644 index 0000000..c917b92 --- /dev/null +++ b/users/migrations/0016_auto_20160617_1815.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.6 on 2016-06-17 15:15 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('users', '0015_auto_20160615_1747'), + ] + + operations = [ + migrations.AlterField( + model_name='contractorfinancialinfo', + name='legal_status', + field=models.CharField(choices=[('individual', 'Физическое лицо'), ('legal_entity', 'ИП и юридическое лицо')], max_length=30), + ), + ] diff --git a/users/mixins.py b/users/mixins.py index e194f8f..11a3b68 100644 --- a/users/mixins.py +++ b/users/mixins.py @@ -4,11 +4,11 @@ from django.http import HttpResponseForbidden class CheckForUserMixin(object): def dispatch(self, request, *args, **kwargs): - if request.user.is_authenticated(): - pk = kwargs.get('pk') - if pk: - if request.user.pk != int(pk): - return HttpResponseForbidden('403 Forbidden') - else: - return HttpResponseForbidden('403 Forbidden') + # if request.user.is_authenticated(): + # pk = kwargs.get('pk') + # if pk: + # if request.user.pk != int(pk): + # return HttpResponseForbidden('403 Forbidden') + # else: + # return HttpResponseForbidden('403 Forbidden') return super().dispatch(request, *args, **kwargs) diff --git a/users/templates/contractor_profile_edit.html b/users/templates/contractor_profile_edit.html index 4b3b240..09ceaf9 100644 --- a/users/templates/contractor_profile_edit.html +++ b/users/templates/contractor_profile_edit.html @@ -4,17 +4,19 @@ {% include 'partials/header.html' %}
+
{% csrf_token %}
+ {{ form.errors }}
- profile-image + profile-image
@@ -22,9 +24,9 @@

ФИО:

- - - + + +

Специализация:

@@ -76,60 +78,47 @@
- - - + {{ form.date_of_birth }}
- +

Мужской

- +

Женский

Сайт:
Skype:
-
Электронная почта:
+{#
Электронная почта:
#}
Телефон:
- +
- +
+{#
#} +{# #} +{#
#}
- -
-
- +
- +

Есть допуск СРО

+ {% include 'partials/footer.html' %}
diff --git a/users/views.py b/users/views.py index 063d08d..21e980e 100644 --- a/users/views.py +++ b/users/views.py @@ -74,21 +74,20 @@ class ContractorProfileEditView(CheckForUserMixin, View): template_name = 'contractor_profile_edit.html' def get(self, request, *args, **kwargs): - instance= get_object_or_404(User, pk=kwargs.get('pk')) + instance = get_object_or_404(User, pk=request.user.pk) form = self.form_class(instance=instance) return render(request, self.template_name, {'form': form}) + def post(self, request, *args, **kwargs): + instance = request.user + form = self.form_class(request.POST, request.FILES, instance=instance) + if form.is_valid(): + # import code; code.interact(local=dict(globals(), **locals())) + form.save() + messages.info(request, 'Данные успешно отредактированы') + return redirect(reverse('users:contractor-edit', kwargs={'pk': request.user.pk})) -# class ContractorTestProfileEditView(CheckForUserMixin, View): -# form_class = UserEditForm -# template_name = 'contractor_profile_test_edit.html' -# -# def get(self, request, *args, **kwargs): -# contractor = get_object_or_404(User, pk=kwargs.get('pk')) -# form = self.form_class -# return render(request, self.template_name, {'contractor': contractor, 'form': form}) - - + return render(request, self.template_name, {'form': form}) class ContractorFinancialInfoEdit(CheckForUserMixin, View): @@ -97,7 +96,6 @@ class ContractorFinancialInfoEdit(CheckForUserMixin, View): def get(self, request, *args, **kwargs): instance = request.user.contractor_financial_info - # import code; code.interact(local=dict(globals(), **locals())) form = self.form_class(instance=instance) return render(request, self.template_name, {'form': form})