Merge branch 'master' of https://bitbucket.org/PekopT/archilance into mukhtar

remotes/origin/PR-39
Mukhtar 10 years ago
commit ec304ec0b2
  1. 1
      users/forms.py
  2. 20
      users/migrations/0010_auto_20160818_2131.py
  3. 2
      users/models.py
  4. 40
      users/templates/contractor_profile.html
  5. 8
      users/templates/user_financial_info_edit.html
  6. 9
      users/templates/user_profile_edit.html
  7. 1
      users/urls.py
  8. 5
      users/views.py
  9. 25
      wallets/migrations/0007_auto_20160818_2131.py
  10. 4
      wallets/models.py
  11. 18
      wallets/views.py

@ -42,6 +42,7 @@ class UserProfileEditForm(forms.ModelForm):
gender = forms.ChoiceField(
choices=GENDERS,
widget=forms.RadioSelect,
required=False,
)
class Meta:

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-08-18 18:31
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('users', '0009_merge'),
]
operations = [
migrations.AlterField(
model_name='user',
name='gender',
field=models.CharField(blank=True, choices=[('male', 'Мужской'), ('female', 'Женский')], max_length=30, null=True),
),
]

@ -131,7 +131,7 @@ class User(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(max_length=255, unique=True, db_index=True)
financial_info = models.OneToOneField(UserFinancialInfo, related_name='user', blank=True, null=True)
first_name = models.CharField(max_length=255, blank=True)
gender = models.CharField(max_length=30, choices=GENDERS, blank=True)
gender = models.CharField(max_length=30, choices=GENDERS, blank=True, null=True)
is_active = models.BooleanField(default=True)
last_name = models.CharField(max_length=255, blank=True)
last_time_visit = models.DateTimeField(default=timezone.now)

@ -13,9 +13,15 @@
<div class="col-lg-3 divCol3">
<div class="avatar">
<div class="avatarInset">
{% thumbnail contractor.avatar "235x224" crop="center" as im %}
<img src="{{ im.url }}" alt="profile-image">
{% endthumbnail %}
{# {% thumbnail contractor.avatar "235x224" crop="center" as im %}#}
{# <img src="{{ im.url }}" alt="profile-image">#}
{# {% endthumbnail %}#}
{% if contractor.avatar %}
<img src="{{ contractor.avatar.url }}" alt="profile-image">
{% else %}
<img src="{% static 'img/profile.jpg' %}" alt="profile-image">
{% endif %}
</div>
</div>
<div class="menuUser disTab">
@ -34,8 +40,8 @@
<span></span>
</li>
{% endif %}
{% if contractor.pk != request.user.pk and request.user.is_contractor %}
<li class="icon_um2">
<a href="javascript:void(0)">
пригласить в группу
@ -91,24 +97,22 @@
<p>Есть допуск СРО</p>
</div>
{% endif %}
</div>
</div>
<div id="contact-contactor-modal" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×
</button>
<h4 class="modal-title">Контакты владельца </h4>
</div>
<div class="modal-body">
<h2>Здесь находятся контакты владельца</h2>
</div>
</div>
<div id="contact-contactor-modal" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×
</button>
<h4 class="modal-title">Контакты владельца </h4>
</div>
<div class="modal-body">
<h2>Здесь находятся контакты владельца</h2>
</div>
</div>
</div>
</div>
<div class="col-lg-9">
<div class="profileTabs2">
<ul class="nav nav-tabs nav-justified">

@ -21,12 +21,10 @@
<div class="avatar">
<div class="avatarInset">
{% if form.avatar.value %}
{% thumbnail form.avatar.value "235x224" crop="center" as im %}
<img src="{{ im.url }}" alt="profile-image">
{% endthumbnail %}
<img src="{{ form.avatar.value.url }}" alt="profile-image">
{% else %}
<img src="{% static 'img/profile.jpg' %}" alt="profile-image">
{% endif %}
</div>
</div>
<div class="menuUser upload-img disTab">

@ -23,10 +23,9 @@
<div class="avatar">
<div class="avatarInset">
{% if form.avatar.value %}
{% thumbnail form.avatar.value "235x224" crop="center" as im %}
<img src="{{ im.url }}" alt="profile-image">
{% endthumbnail %}
<img src="{{ form.avatar.value.url }}" alt="profile-image">
{% else %}
<img src="{% static 'img/profile.jpg' %}" alt="profile-image">
{% endif %}
</div>
</div>
@ -51,7 +50,7 @@
<p class="name-edit-p">Специализации</p>
<div id="simpleSpecContainer">
<div class="i polsF1 pols-edit disTab -simple-spec-widget" style="display: none">
<div class="polsF1 pols-edit disTab -simple-spec-widget" style="display: none">
<input type="hidden" class="-simple-spec-select" style="width: 100%">
<input type="hidden" class="-chosen-simple-spec-id" name="{{ form.contractor_specializations.html_name }}">
</div>

@ -22,7 +22,6 @@ from .views import (
app_name = 'users'
urlpatterns = [
urls.url(r'^(?P<pk>\d+)/edit/$', UserProfileEditView.as_view(), name='user-profile-edit'),
urls.url(r'^(?P<pk>\d+)/financial-info/edit/$', UserFinancialInfoEditView.as_view(), name='user-financial-info-edit'),

@ -347,6 +347,11 @@ class ContractorProfileDetailView(DetailView):
if resume:
context['resume_diploms'] = resume.resume_files.filter(type='diplom')
context['resume_cro'] = resume.resume_files.filter(type='cro')
else:
resume = ContractorResume()
resume.contractor = self.object
resume.save()
self.object.contractor_resume = resume
return context

@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-08-18 18:31
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('wallets', '0006_transaction'),
]
operations = [
migrations.AlterField(
model_name='transaction',
name='sum',
field=models.DecimalField(decimal_places=0, default=0, max_digits=20),
),
migrations.AlterField(
model_name='transaction',
name='type',
field=models.CharField(choices=[('add', 'Пополнение'), ('reservation', 'Резервирование')], default='add', max_length=20),
),
]

@ -60,8 +60,8 @@ class Transaction(models.Model):
created_at = models.DateTimeField(default=timezone.now, editable=False)
customer = models.ForeignKey(User, related_name='customer_transactions')
voids_at = models.DateTimeField()
sum = models.DecimalField(max_digits=20, decimal_places=0)
type = models.CharField(max_length=20, choices=TYPES)
sum = models.DecimalField(max_digits=20, decimal_places=0, default=0)
type = models.CharField(max_length=20, choices=TYPES, default='add')
def save(self, *args, **kwargs):
if not self.pk and self.created_at:

@ -39,24 +39,14 @@ class ScoreView(View):
return HttpResponseForbidden('403 Forbidden')
def get(self, request, *args, **kwargs):
# transaction = Transaction.objects.create(customer=request.user)
transaction = Transaction.objects.create(customer=request.user)
user_score = get_object_or_404(User.customer_objects, pk=kwargs.get('pk'))
return render(request, self.template_name, {
# 'transaction': transaction,
'transaction': transaction,
'YANDEX_MONEY': settings.YANDEX_MONEY,
'user_score': user_score,
})
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
user_score_balance = InvoiceHistory.objects.filter(user=self.get_object()).aggregate(Sum('sum'))
context['user_score_balance'] = user_score_balance['sum__sum'] or 0
context['form'] = WithDrawForm
return context
class AjaxableResponseMixin(object):
@ -122,9 +112,9 @@ class TmpCheckOrderView(View):
def post(self, request, *args, **kwargs):
form = self.form_class(request.POST)
trans = form.cleaned_data.get('transaction')
# trans = form.cleaned_data.get('transaction')
if form.is_valid() and not trans.is_void():
if form.is_valid():
res = """<?xml version="1.0" encoding="utf-8"?>
<checkOrderResponse
performedDatetime="{date}"

Loading…
Cancel
Save