remotes/origin/PR-39
ArturBaybulatov 9 years ago
parent d77dbdfd45
commit a5aa2e3b7e
  1. 46
      projects/migrations/0034_auto_20160916_1933.py
  2. 10
      projects/models.py
  3. 11
      projects/templates/customer_project_create.html
  4. 91
      users/templates/contractor_profile.html
  5. 1
      users/views.py
  6. 4
      wallets/forms.py
  7. 27
      wallets/migrations/0016_auto_20160916_1933.py
  8. 10
      wallets/models.py
  9. 11
      wallets/templates/score-detail.html

@ -0,0 +1,46 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-09-16 16:33
from __future__ import unicode_literals
from django.db import migrations, models
import projects.validators
class Migration(migrations.Migration):
dependencies = [
('projects', '0033_auto_20160916_1534'),
]
operations = [
migrations.AlterField(
model_name='projectworktypesuggestion',
name='commentary',
field=models.TextField(blank=True, verbose_name='Комментарий'),
),
migrations.AlterField(
model_name='projectworktypesuggestion',
name='email',
field=models.EmailField(max_length=254, verbose_name='Email'),
),
migrations.AlterField(
model_name='projectworktypesuggestion',
name='name',
field=models.CharField(max_length=255, verbose_name='Название'),
),
migrations.AlterField(
model_name='projectworktypesuggestion',
name='processed',
field=models.BooleanField(default=False, verbose_name='Рассмотрено?'),
),
migrations.AlterField(
model_name='projectworktypesuggestion',
name='username',
field=models.CharField(blank=True, max_length=255, verbose_name='Имя пользователя'),
),
migrations.AlterField(
model_name='stage',
name='term',
field=models.DateField(validators=[projects.validators.validate_term]),
),
]

@ -356,11 +356,11 @@ class PortfolioPhoto(models.Model):
class ProjectWorkTypeSuggestion(models.Model): class ProjectWorkTypeSuggestion(models.Model):
name = models.CharField(max_length=255) name = models.CharField(max_length=255, verbose_name='Название')
commentary = models.TextField(blank=True) commentary = models.TextField(blank=True, verbose_name='Комментарий')
processed = models.BooleanField(default=False) processed = models.BooleanField(default=False, verbose_name='Рассмотрено?')
username = models.CharField(max_length=255) username = models.CharField(max_length=255, blank=True, verbose_name='Имя пользователя')
email = models.EmailField() email = models.EmailField(verbose_name='Email')
class Meta: class Meta:
verbose_name = 'Предложение типов работ (проектов)' verbose_name = 'Предложение типов работ (проектов)'

@ -304,22 +304,19 @@
;(function() { ;(function() {
var $workTypeSuggestionModal = $('#projectWorkTypeSuggestionModal') var $modal = $('#projectWorkTypeSuggestionModal')
var $form = $workTypeSuggestionModal.find('.-project-work-type-suggestion-form').first() var $form = $modal.find('.-project-work-type-suggestion-form').first()
var workTypeSuggestionUrl = '/projects/suggest-work-type/' var workTypeSuggestionUrl = '/projects/suggest-work-type/'
$workTypeSuggestionModal.find('.-action-button').first().on('click', function($evt) { $modal.find('.-action-button').first().on('click', function($evt) {
$.post(workTypeSuggestionUrl, $form.serialize()) $.post(workTypeSuggestionUrl, $form.serialize())
.then(function(res) { .then(function(res) {
if (res.status === 'success') { if (res.status === 'success') {
console.log('Success')
$form.trigger('reset') $form.trigger('reset')
$('.-error').text('') $('.-error').text('')
$workTypeSuggestionModal.modal('hide') $modal.modal('hide')
$.jGrowl('Предложение успешно отправлено') $.jGrowl('Предложение успешно отправлено')
} else if (res.status === 'error') { } else if (res.status === 'error') {
console.log('Error')
_.flow( _.flow(
_.toPairs, _.toPairs,

@ -117,7 +117,7 @@
<h4 class="modal-title">Контакты владельца </h4> <h4 class="modal-title">Контакты владельца </h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div class="row" style="height: 140px;"> <div class="row" style="height: 180px;">
<div class="col-lg-8 col-lg-offset-1"> <div class="col-lg-8 col-lg-offset-1">
<ul class="list-summ"> <ul class="list-summ">
{% if contractor.website %} {% if contractor.website %}
@ -126,6 +126,10 @@
<li>{{ contractor.email }}</li> <li>{{ contractor.email }}</li>
{% if contractor.skype %}
<li>{{ contractor.skype }}</li>
{% endif %}
{% if contractor.phone %} {% if contractor.phone %}
<li>{{ contractor.phone }}</li> <li>{{ contractor.phone }}</li>
{% endif %} {% endif %}
@ -346,20 +350,22 @@
<div id="tab13" class="tab-pane fade"> <div id="tab13" class="tab-pane fade">
<div class="col-lg-9"> <div class="col-lg-9">
<div class="col-lg-12 resume"> {% if contractor == request.user %}
<form enctype="multipart/form-data"> <div class="col-lg-12 resume">
<input type="hidden" name="text" value="Hello"> <form enctype="multipart/form-data">
<input type="hidden" name="text" value="Hello">
<div class="upload2 up-l1">
<input type="file" name="upload" id="upload-resume"> <div class="upload2 up-l1">
<p>Загрузить резюме</p> <input type="file" name="upload" id="upload-resume">
</div> <p>Загрузить резюме</p>
</div>
<div class="upload2 up-l2" id="remove-resume-file" style="display:{% if contractor.contractor_resume.resume_file %}block;{% else %}none;{% endif %}">
<p style="margin:0;">Удалить резюме</p> <div class="upload2 up-l2" id="remove-resume-file" style="display:{% if contractor.contractor_resume.resume_file %}block;{% else %}none;{% endif %}">
</div> <p style="margin:0;">Удалить резюме</p>
</form> </div>
</div> </form>
</div>
{% endif %}
<div class="col-lg-12 resume-block"> <div class="col-lg-12 resume-block">
<div class="block-is box-sizing"> <div class="block-is box-sizing">
@ -412,9 +418,12 @@
</div> </div>
</div> </div>
<div class="col-lg-12 wr-inset-pluss"> <div class="col-lg-12 wr-inset-pluss">
<a href="#" data-toggle="modal" data-target="#resume-text-edit" style="float: left; margin-right: 10px;"> {% if contractor.pk == request.user.pk %}
<span class="glyphicon glyphicon-pencil" aria-hidden="true"></span> <a href="#" data-toggle="modal" data-target="#resume-text-edit" style="float: left; margin-right: 10px;">
</a> <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>
</a>
{% endif %}
<div class="pluss-block" id="resume-text-out"> <div class="pluss-block" id="resume-text-out">
{{ contractor.contractor_resume.text|safe }} {{ contractor.contractor_resume.text|safe }}
</div> </div>
@ -450,10 +459,14 @@
<div class="gal-pluss" id="diplom-cro-gallery"> <div class="gal-pluss" id="diplom-cro-gallery">
<div class="inset-gp"> <div class="inset-gp">
<p class="title-gp">Дипломы / Сертификаты</p> <p class="title-gp">Дипломы / Сертификаты</p>
<div class="upload2 up-l3">
<input type="file" name="file" id="diplom-upload" multiple> {% if contractor == request.user %}
<p>Загрузить файл</p> <div class="upload2 up-l3">
</div> <input type="file" name="file" id="diplom-upload" multiple>
<p>Загрузить файл</p>
</div>
{% endif %}
<div class="galleryWork2 gal-iss disTab" id="diplom-gallery"> <div class="galleryWork2 gal-iss disTab" id="diplom-gallery">
{% for diplom in resume_diploms %} {% for diplom in resume_diploms %}
<div class="col-lg-4"> <div class="col-lg-4">
@ -471,11 +484,14 @@
<p> <p>
{{ diplom.title }} {{ diplom.title }}
</p> </p>
<div class="buttonsImg" distab="">
<div class="insetBI insetBI2 delete-resume-file" data-id="{{ diplom.pk }}"> {% if contractor.pk == request.user.pk %}
<i class="fa fa-times"></i> <div class="buttonsImg" distab="">
<div class="insetBI insetBI2 delete-resume-file" data-id="{{ diplom.pk }}">
<i class="fa fa-times"></i>
</div>
</div> </div>
</div> {% endif %}
</div> </div>
</div> </div>
{% endfor %} {% endfor %}
@ -483,10 +499,14 @@
</div> </div>
<div class="inset-gp"> <div class="inset-gp">
<p class="title-gp">Допуск СРО</p> <p class="title-gp">Допуск СРО</p>
<div class="upload2 up-l3">
<input type="file" name="file" id="cro-upload"> {% if contractor == request.user %}
<p>Загрузить файл</p> <div class="upload2 up-l3">
</div> <input type="file" name="file" id="cro-upload">
<p>Загрузить файл</p>
</div>
{% endif %}
<div class="galleryWork2 gal-iss disTab" id="cro-gallery"> <div class="galleryWork2 gal-iss disTab" id="cro-gallery">
{% for cro in resume_cro %} {% for cro in resume_cro %}
<div class="col-lg-4"> <div class="col-lg-4">
@ -504,11 +524,14 @@
<p> <p>
{{ cro.title }} {{ cro.title }}
</p> </p>
<div class="buttonsImg" distab="">
<div class="insetBI insetBI2 delete-resume-file" data-id="{{ cro.pk }}"> {% if contractor.pk == request.user.pk %}
<i class="fa fa-times"></i> <div class="buttonsImg" distab="">
<div class="insetBI insetBI2 delete-resume-file" data-id="{{ cro.pk }}">
<i class="fa fa-times"></i>
</div>
</div> </div>
</div> {% endif %}
</div> </div>
</div> </div>
{% endfor %} {% endfor %}

@ -394,6 +394,7 @@ class ContractorProfileView(BaseMixin, DetailView):
context['portfolio_form'] = self.portfolio_form_class context['portfolio_form'] = self.portfolio_form_class
display_team_invitation_button = \ display_team_invitation_button = \
request_user.is_authenticated() and \
request_user.is_contractor() and \ request_user.is_contractor() and \
contractor != request_user and \ contractor != request_user and \
request_user.has_team() and \ request_user.has_team() and \

@ -9,9 +9,11 @@ class WithDrawForm(forms.ModelForm):
model = WithDraw model = WithDraw
fields = ( fields = (
'passport',
'phone',
'sum', 'sum',
'yandex_card',
'user', 'user',
'yandex_card',
) )

@ -0,0 +1,27 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-09-16 16:33
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('wallets', '0015_auto_20160902_1904'),
]
operations = [
migrations.AddField(
model_name='withdraw',
name='passport',
field=models.CharField(default=0, max_length=50),
preserve_default=False,
),
migrations.AddField(
model_name='withdraw',
name='phone',
field=models.CharField(default='+7 000 000 00 00', max_length=30),
preserve_default=False,
),
]

@ -54,12 +54,14 @@ class InvoiceHistory(models.Model):
class WithDraw(models.Model): class WithDraw(models.Model):
sum = models.DecimalField(max_digits=10, decimal_places=0, validators=[MinValueValidator(1)]) complete = models.BooleanField(default=False)
created = models.DateTimeField(default=timezone.now) created = models.DateTimeField(default=timezone.now)
yandex_card = models.CharField(max_length=30) passport = models.CharField(max_length=50)
phone = models.CharField(max_length=30)
sum = models.DecimalField(max_digits=10, decimal_places=0, validators=[MinValueValidator(1)])
user = models.ForeignKey(User, related_name='with_draw') user = models.ForeignKey(User, related_name='with_draw')
complete = models.BooleanField(default=False) yandex_card = models.CharField(max_length=30)
def __str__(self): def __str__(self):
return self.yandex_card return self.yandex_card

@ -53,6 +53,17 @@
<input type="text" name="{{ form.yandex_card.html_name }}"> <input type="text" name="{{ form.yandex_card.html_name }}">
<input type="hidden" name="{{ form.user.html_name }}" value="{{ user_score.pk }}"> <input type="hidden" name="{{ form.user.html_name }}" value="{{ user_score.pk }}">
</div> </div>
<div class="textAreaBlock2 text-nn box-sizing disTab">
<p>Телефон <span style="color: red; margin-left:8px; font-size: 12px;" class="error-{{ form.phone.html_name }}"></span></p>
<input type="text" name="{{ form.phone.html_name }}">
</div>
<div class="textAreaBlock2 text-nn box-sizing disTab">
<p>Номер паспорта <span style="color: red; margin-left:8px; font-size: 12px;" class="error-{{ form.passport.html_name }}"></span></p>
<input type="text" name="{{ form.passport.html_name }}">
</div>
</div> </div>
</div> </div>

Loading…
Cancel
Save