diff --git a/projects/migrations/0034_auto_20160916_1933.py b/projects/migrations/0034_auto_20160916_1933.py new file mode 100644 index 0000000..a731d00 --- /dev/null +++ b/projects/migrations/0034_auto_20160916_1933.py @@ -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]), + ), + ] diff --git a/projects/migrations/0035_auto_20160916_2003.py b/projects/migrations/0035_auto_20160916_2003.py new file mode 100644 index 0000000..ae886bd --- /dev/null +++ b/projects/migrations/0035_auto_20160916_2003.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-09-16 17:03 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('projects', '0034_auto_20160916_1933'), + ] + + operations = [ + migrations.AlterField( + model_name='stage', + name='term', + field=models.DateField(), + ), + ] diff --git a/projects/models.py b/projects/models.py index 2a6c468..75a4f57 100644 --- a/projects/models.py +++ b/projects/models.py @@ -163,6 +163,11 @@ class Answer(models.Model): class AnswerMessage(models.Model): + # Get a message's author: + # + # customer: `message.is_sender_customer and message.answer.project.customer` + # contractor/team: `not message2.is_sender_customer and message2.contractor_or_team` + answer = models.ForeignKey(Answer, related_name='messages') created = models.DateTimeField(default=timezone.now) is_sender_customer = models.BooleanField(default=False) @@ -362,11 +367,11 @@ class PortfolioPhoto(models.Model): class ProjectWorkTypeSuggestion(models.Model): - name = models.CharField(max_length=255) - commentary = models.TextField(blank=True) - processed = models.BooleanField(default=False) - username = models.CharField(max_length=255) - email = models.EmailField() + name = models.CharField(max_length=255, verbose_name='Название') + commentary = models.TextField(blank=True, verbose_name='Комментарий') + processed = models.BooleanField(default=False, verbose_name='Рассмотрено?') + username = models.CharField(max_length=255, blank=True, verbose_name='Имя пользователя') + email = models.EmailField(verbose_name='Email') class Meta: verbose_name = 'Предложение типов работ (проектов)' diff --git a/projects/templates/comparison.html b/projects/templates/comparison.html index 31b097a..73a7e82 100644 --- a/projects/templates/comparison.html +++ b/projects/templates/comparison.html @@ -36,9 +36,9 @@ {% if cand.answer.author|class_name == 'User' %} - {{ cand.answer.author.get_full_name }} + {% firstof cand.answer.author.get_full_name.strip cand.answer.author.username %} {% elif cand.answer.author|class_name == 'Team' %} - {{ cand.answer.author.name }} + {% firstof cand.answer.author.name.strip cand.answer.author.username %} {% endif %} diff --git a/projects/templates/customer_project_create.html b/projects/templates/customer_project_create.html index 508d25f..d79fd31 100644 --- a/projects/templates/customer_project_create.html +++ b/projects/templates/customer_project_create.html @@ -304,22 +304,19 @@ ;(function() { - var $workTypeSuggestionModal = $('#projectWorkTypeSuggestionModal') - var $form = $workTypeSuggestionModal.find('.-project-work-type-suggestion-form').first() + var $modal = $('#projectWorkTypeSuggestionModal') + var $form = $modal.find('.-project-work-type-suggestion-form').first() 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()) .then(function(res) { if (res.status === 'success') { - console.log('Success') $form.trigger('reset') $('.-error').text('') - $workTypeSuggestionModal.modal('hide') + $modal.modal('hide') $.jGrowl('Предложение успешно отправлено') } else if (res.status === 'error') { - console.log('Error') - _.flow( _.toPairs, diff --git a/projects/templates/project_detail.html b/projects/templates/project_detail.html index d954d47..6759da1 100644 --- a/projects/templates/project_detail.html +++ b/projects/templates/project_detail.html @@ -5,6 +5,16 @@ {% load specializtions_tags %} {% load project_tags %} + +{% block head_css %} + +{% endblock %} + + {% block content %} {% include 'partials/header.html' %} @@ -332,17 +342,17 @@
{% for message in answer.messages.all %}
-
+
{% if message.is_sender_customer %} -

- {{ project.customer.get_full_name }} +

+ {% firstof project.customer.get_full_name.strip project.customer.username %}

{% else %} -

+

{% if answer.author|class_name == 'User' %} - {{ answer.author.get_full_name }} + {% firstof answer.author.get_full_name.strip answer.author.username %} {% elif answer.author|class_name == 'Team' %} - {{ answer.author.name }} + {% firstof answer.author.name.strip answer.author.owner.username %} {% endif %}

{% endif %} @@ -705,17 +715,17 @@
{% for message in answer.messages.all %}
-
+
{% if message.is_sender_customer %}

- {{ project.customer.get_full_name }} + {% firstof project.customer.get_full_name.strip project.customer.username %}

{% else %}

{% if answer.author|class_name == 'User' %} - {{ answer.author.get_full_name }} + {% firstof answer.author.get_full_name.strip answer.author.username %} {% elif answer.author|class_name == 'Team' %} - {{ answer.author.name }} + {% firstof answer.author.name.strip answer.author.owner.username %} {% endif %}

{% endif %} @@ -899,17 +909,17 @@
{% for message in answer.messages.all %}
-
+
{% if message.is_sender_customer %}

- {{ project.customer.get_full_name }} + {% firstof project.customer.get_full_name.strip project.customer.username %}

{% else %}

{% if answer.author|class_name == 'User' %} - {{ answer.author.get_full_name }} + {% firstof answer.author.get_full_name.strip answer.author.username %} {% elif answer.author|class_name == 'Team' %} - {{ answer.author.name }} + {% firstof answer.author.name.strip answer.author.owner.username %} {% endif %}

{% endif %} @@ -1071,17 +1081,17 @@
{% for message in answer.messages.all %}
-
+
{% if message.is_sender_customer %}

- {{ project.customer.get_full_name }} + {% firstof project.customer.get_full_name.strip project.customer.username %}

{% else %}

{% if answer.author|class_name == 'User' %} - {{ answer.author.get_full_name }} + {% firstof answer.author.get_full_name.strip answer.author.username %} {% elif answer.author|class_name == 'Team' %} - {{ answer.author.name }} + {% firstof answer.author.name.strip answer.author.owner.username %} {% endif %}

{% endif %} diff --git a/users/templates/contractor_profile.html b/users/templates/contractor_profile.html index 99f9d25..a6d41c0 100644 --- a/users/templates/contractor_profile.html +++ b/users/templates/contractor_profile.html @@ -117,7 +117,7 @@
-

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

+

Специализации {{ form.specialization.errors.as_text }}

@@ -64,7 +64,7 @@
-

Бюджет{{ form.budget.errors.as_text }}

+

Бюджет {{ form.budget.errors.as_text }}

@@ -76,7 +76,7 @@
-

Срок выполнения{{ form.budget.errors.as_text }}

+

Срок выполнения {{ form.budget.errors.as_text }}

@@ -90,17 +90,17 @@
-

Вид строительства

- {{ form.construction_type}} +

Вид строительства {{ form.construction_type.errors.as_text }}

+ {{ form.construction_type }}
-

Классификация здания

- {{ form.building_classification}} +

Классификация здания {{ form.building_classification.errors.as_text }}

+ {{ form.building_classification }}
-

Фотографии

+

Фотографии {{ form.photos.errors.as_text }}

{% for photo in form.photos.field.queryset.all %}