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

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

@ -46,11 +46,11 @@
<p class="type-work">Тип работы:</p> <p class="type-work">Тип работы:</p>
<div class="mail-block type-work-inset"> <div class="mail-block type-work-inset">
<div class="inset-mb"> <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> <p>Проектирование</p>
</div> </div>
<div class="inset-mb"> <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> <p>Техническое сопровождение</p>
</div> </div>
</div> </div>
@ -181,7 +181,7 @@
</select> </select>
</div> </div>
<div class="col-lg-3"> <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>Mustard</option>
<option>Ketchup</option> <option>Ketchup</option>
<option>Relish</option> <option>Relish</option>

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

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

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

@ -99,7 +99,7 @@
</div> </div>
<div class="col-lg-3 col-lg-offset-1"> <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>
</div> </div>

@ -12,8 +12,8 @@ urlpatterns = [
urls.url(r'^$', UserListView.as_view(), name='users_list'), urls.url(r'^$', UserListView.as_view(), name='users_list'),
urls.url(r'^info$', UserInfoListView.as_view(), name='users_info_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/$', 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'^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'), urls.url(r'^(?P<pk>\d+)$', UserView.as_view(), name='user_view'),
] ]

Loading…
Cancel
Save