remotes/origin/setup
ArturBaybulatov 10 years ago
parent b3b87a4673
commit 49224787a8
  1. 14
      projects/admin.py
  2. 48
      projects/forms.py
  3. 21
      projects/migrations/0025_auto_20160609_1916.py
  4. 6
      projects/models.py
  5. 6
      projects/templates/customer_project_create.html
  6. 2
      projects/views.py
  7. 4
      templates/home.html
  8. 47
      templates/partials/header.html
  9. 2
      users/templates/customer_profile.html
  10. 4
      users/urls.py

@ -2,17 +2,13 @@ from django.contrib import admin
from .models import Project, Portfolio, PortfolioPhoto, \
Answer, Realty, Candidate, Order, Stage, Country, City,\
BuildingClassfication, ConstructionType
BuildingClassfication, ConstructionType, ProjectFile
# class UserAdmin(admin.ModelAdmin):
# readonly_fields = ('pk',)
# list_display = ('email','is_active',)
#
# def get_groups(self, obj):
# return ', '.join(g.name for g in obj.groups.all())
class ProjectAdmin(admin.ModelAdmin):
readonly_fields = ('pk',)
admin.site.register(Project)
admin.site.register(Answer)
admin.site.register(Portfolio)
admin.site.register(PortfolioPhoto)
@ -24,3 +20,5 @@ admin.site.register(Country)
admin.site.register(City)
admin.site.register(BuildingClassfication)
admin.site.register(ConstructionType)
admin.site.register(Project, ProjectAdmin)
admin.site.register(ProjectFile)

@ -10,12 +10,22 @@ class ProjectForm(ModelForm):
model = Project
fields = (
'budget',
'budget_by_agreement',
'created',
'cro',
'currency',
'customer',
'name',
'price',
'secure_transaction',
'price_and_term_required',
'realty',
'secure_deal',
'specialization',
'term',
'term_type',
'text',
'type_work',
'work_type',
# TODO: Add "files"
)
@ -56,30 +66,30 @@ class AnswerForm(ModelForm):
model = Answer
fields = (
'cost',
'cost_type',
'term',
'term_type',
'text',
# 'cost',
# 'cost_type',
# 'term',
# 'term_type',
# 'text',
)
widgets = {
# 'project': HiddenInput(),
'cost_type': Select(attrs={'class':'selectpicker'}),
'term_type': Select(attrs={'class':'selectpicker'}),
}
# widgets = {
# # 'project': HiddenInput(),
# 'cost_type': Select(attrs={'class':'selectpicker'}),
# 'term_type': Select(attrs={'class':'selectpicker'}),
# }
class StageForm(ModelForm):
class Meta:
model = Stage
fields = (
'cost',
'cost_type',
'name',
'result',
'term',
'term_type',
# 'cost',
# 'cost_type',
# 'name',
# 'result',
# 'term',
# 'term_type',
)
from django.forms.models import inlineformset_factory

@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-09 16:16
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('projects', '0024_auto_20160609_1808'),
]
operations = [
migrations.AlterField(
model_name='projectfile',
name='project',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='files', to='projects.Project'),
),
]

@ -111,7 +111,11 @@ class Project(models.Model):
class ProjectFile(models.Model):
file = models.FileField(upload_to='projects/project_files')
project = models.ForeignKey(Project)
project = models.ForeignKey(Project, related_name='files')
class Meta:
verbose_name = 'Файл проекта'
verbose_name_plural = 'Файлы проектов'
class Answer(models.Model):

@ -46,11 +46,11 @@
<p class="type-work">Тип работы:</p>
<div class="mail-block type-work-inset">
<div class="inset-mb">
<label><input type="radio" value="1" name="{{ form_project.type_work.name }}"><span></span></label>
<label><input type="radio" value="1" name="{{ form_project.work_type.name }}"><span></span></label>
<p>Проектирование</p>
</div>
<div class="inset-mb">
<label><input type="radio" value="2" name="{{ form_project.type_work.name }}"><span></span></label>
<label><input type="radio" value="2" name="{{ form_project.work_type.name }}"><span></span></label>
<p>Техническое сопровождение</p>
</div>
</div>
@ -181,7 +181,7 @@
</select>
</div>
<div class="col-lg-3">
<select class="selectpicker" name="{{ form_realty.type_construction.name }}">
<select class="selectpicker" name="{{ form_realty.construction_type.name }}">
<option>Mustard</option>
<option>Ketchup</option>
<option>Relish</option>

@ -84,7 +84,7 @@ class ProjectCreateView(PermissionRequiredMixin, View):
realty.user = request.user
realty.save()
project = form_project.save(commit=False)
project.user = request.user
project.customer = request.user
project.realty = realty
project.save()

@ -20,7 +20,7 @@
<div class="row">
<div class="col-lg-6">
<div class="changeBlock changeBlock1">
<a href="javascript:void(0)">Я исполнитель</a>
<a href="{% url 'registration_register' %}">Я исполнитель</a>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo.
</p>
@ -31,7 +31,7 @@
</div>
<div class="col-lg-6">
<div class="changeBlock changeBlock2">
<a href="javascript:void(0)">Я исполнитель</a>
<a href="{% url 'registration_register' %}">Я заказчик</a>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo.
</p>

@ -20,9 +20,7 @@
<li>
{% if user.is_contractor %}
<a href="{% url 'users:contractor-view' user.id %}">Мой офис</a>
{% elif user.is_customer %}
<a href="{% url 'users:customer-view' user.id %}">Мой офис</a>
<a href="{% url 'users:contractor-office' user.id %}">Мой офис</a>
{% endif %}
</li>
@ -34,7 +32,15 @@
</div>
<div class="col-lg-2">
<div class="imgProfile">
<img src="img/profile.jpg" alt="profile-image">
{% if user.is_contractor %}
<a href="{% url 'users:contractor-profile' user.id %}">
<img src="img/profile.jpg" alt="profile-image">
</a>
{% elif user.is_customer %}
<a href="{% url 'users:customer-profile' user.id %}">
<img src="img/profile.jpg" alt="profile-image">
</a>
{% endif %}
</div>
<div class="infoProfile disTab">
<div class="btn-group" role="group">
@ -42,18 +48,20 @@
<span class="glyphicon glyphicon-menu-hamburger" aria-hidden="true"></span>
</button>
<ul class="dropdown-menu menu-drop-new">
<li class="icon_mm1">
<a href="#">
Войти заказчиком
<span></span>
</a>
</li>
<li class="icon_mm2">
<a href="#">
Войти исполнителем
<span></span>
</a>
</li>
{% if not user.is_authenticated %}
<li class="icon_mm1">
<a href="{% url 'auth_login' %}">
Войти заказчиком
<span></span>
</a>
</li>
<li class="icon_mm2">
<a href="{% url 'auth_login' %}">
Войти исполнителем
<span></span>
</a>
</li>
{% endif %}
<li class="icon_mm3">
<a href="#">
Сообщения
@ -78,6 +86,13 @@
<span></span>
</a>
</li>
{% if user.is_authenticated %}
<li>
<a href="{% url 'auth_logout' %}">
Выйти
</a>
</li>
{% endif %}
</ul>
</div>
</div>

@ -99,7 +99,7 @@
</div>
<div class="col-lg-3 col-lg-offset-1">
<p class="addWork add-work-new">Разместить заказ</p>
<p class="addWork add-work-new"><a href="{% url 'projects:project-create' %}">Разместить заказ</a></p>
</div>
</div>

@ -12,8 +12,8 @@ urlpatterns = [
urls.url(r'^$', UserListView.as_view(), name='users_list'),
urls.url(r'^info$', UserInfoListView.as_view(), name='users_info_list'),
urls.url(r'contractors/$', ContractorListView.as_view(), name='contractor-list' ),
urls.url(r'^contractors/(?P<pk>\d+)$', ContractorProfileDetailView.as_view(), name='contractor-view'),
urls.url(r'^contractors/(?P<pk>\d+)$', ContractorProfileDetailView.as_view(), name='contractor-profile'),
urls.url(r'^contractor-office/(?P<pk>\d+)$', ContractorOfficeDetailView.as_view(), name='contractor-office'),
urls.url(r'^customers/(?P<pk>\d+)$', CustomerProfileView.as_view(), name='customer-view'),
urls.url(r'^customers/(?P<pk>\d+)$', CustomerProfileView.as_view(), name='customer-profile'),
urls.url(r'^(?P<pk>\d+)$', UserView.as_view(), name='user_view'),
]

Loading…
Cancel
Save