some fixes #PR-3,5,8,23

remotes/origin/PR-39
PekopT 9 years ago
parent cca36ae869
commit 3a5d3bd15a
  1. 32
      archilance/settings/base.py
  2. 19
      archilance/settings/prod.py
  3. 2
      archilance/wsgi.py
  4. 5
      assets/css/extra.css
  5. 1
      assets/my-libs_.js
  6. 1
      cf25948635ee.html
  7. 3
      common/forms.py
  8. 2
      manage.py
  9. 10
      projects/templates/project_detail.html
  10. 1
      requirements/base.txt
  11. 20
      specializations/migrations/0002_auto_20161005_0342.py
  12. 2
      specializations/models.py
  13. 19
      templates/partials/base.html
  14. 5
      templates/registration/registration_form.html
  15. 27
      users/templates/contractor_profile.html

@ -1,6 +1,5 @@
import os import os
# Build paths inside the project like this: os.path.join(BASE_DIR, ...) # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
ROOT_DIR = os.path.dirname(BASE_DIR) ROOT_DIR = os.path.dirname(BASE_DIR)
@ -14,7 +13,7 @@ SECRET_KEY = 'vb6@b9zj7^f!^+x*e8=e!oundyu1!e*&0i(3gu2xwo4%fx4h&n'
# SECURITY WARNING: don't run with debug turned on in production! # SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True DEBUG = True
ALLOWED_HOSTS = [] ALLOWED_HOSTS = ['proekton.com']
# Application definition # Application definition
@ -43,6 +42,7 @@ THIRD_PARTY_APPS = [
'hitcount', 'hitcount',
'django_activeurl', 'django_activeurl',
'import_export', 'import_export',
'captcha',
] ]
LOCAL_APPS = [ LOCAL_APPS = [
@ -122,6 +122,13 @@ TEMPLATES = [
'django.templatetags.static', 'django.templatetags.static',
'mathfilters.templatetags.mathfilters', 'mathfilters.templatetags.mathfilters',
], ],
# 'loaders': [
# ('django.template.loaders.cached.Loader', [
# 'django.template.loaders.filesystem.Loader',
# 'django.template.loaders.app_directories.Loader',
# ]),
# ],
}, },
}, },
] ]
@ -188,7 +195,6 @@ SOCIAL_AUTH_ODNOKLASSNIKI_OAUTH2_PUBLIC_NAME = 'CBADEFFLEBABABABA'
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = '54397003678-ejfrg1la2vh2jdjq7fb1upc916kd6djo.apps.googleusercontent.com' SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = '54397003678-ejfrg1la2vh2jdjq7fb1upc916kd6djo.apps.googleusercontent.com'
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = 'UOLE-UM9bo2UL7i3TXy_WPa5' SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = 'UOLE-UM9bo2UL7i3TXy_WPa5'
# SOCIAL_AUTH_TWITTER_KEY = 'YAe05K4IYYxHhA6J1mTOdDBjq' # SOCIAL_AUTH_TWITTER_KEY = 'YAe05K4IYYxHhA6J1mTOdDBjq'
# SOCIAL_AUTH_TWITTER_SECRET = 'iRuYqRRaoGkCD4ip74NICb8FeZMxvM6MZ8HLMbm1jX99o7pcaL' # SOCIAL_AUTH_TWITTER_SECRET = 'iRuYqRRaoGkCD4ip74NICb8FeZMxvM6MZ8HLMbm1jX99o7pcaL'
@ -198,7 +204,6 @@ SOCIAL_AUTH_TWITTER_SECRET = 'WhXRHP6BzNwFS8x94pcaCBwxCSMkAEVm3Rg82XhzUaIqsf2Ur0
SOCIAL_AUTH_VK_OAUTH2_KEY = '5542865' SOCIAL_AUTH_VK_OAUTH2_KEY = '5542865'
SOCIAL_AUTH_VK_OAUTH2_SECRET = 'BsOSDhmyNiDte7cMJlVq' SOCIAL_AUTH_VK_OAUTH2_SECRET = 'BsOSDhmyNiDte7cMJlVq'
SOCIAL_AUTH_MAILRU_OAUTH2_KEY = 'f7bad5797a375a5eeba6217d64de71f4' SOCIAL_AUTH_MAILRU_OAUTH2_KEY = 'f7bad5797a375a5eeba6217d64de71f4'
SOCIAL_AUTH_MAILRU_OAUTH2_SECRET = '480fd6d67e9e8625fbc6b6b9a8ec71f0' SOCIAL_AUTH_MAILRU_OAUTH2_SECRET = '480fd6d67e9e8625fbc6b6b9a8ec71f0'
@ -208,7 +213,6 @@ SOCIAL_AUTH_VK_OAUTH2_SCOPE = [
'email', 'email',
] ]
SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/' SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/'
SOCIAL_AUTH_NEW_USER_REDIRECT_URL = '/' SOCIAL_AUTH_NEW_USER_REDIRECT_URL = '/'
SOCIAL_AUTH_NEW_ASSOCIATION_REDIRECT_URL = '/' SOCIAL_AUTH_NEW_ASSOCIATION_REDIRECT_URL = '/'
@ -262,9 +266,6 @@ REGISTRATION_AUTO_LOGIN = True
LOGIN_REDIRECT_URL = '/projects/' LOGIN_REDIRECT_URL = '/projects/'
LOGIN_URL = '/users/login/' LOGIN_URL = '/users/login/'
if DEBUG:
EMAIL_BACKEND = 'django.core.mail.backends.dummy.EmailBackend'
PAGE_SIZE = 10 # Non-api page size (regular views) PAGE_SIZE = 10 # Non-api page size (regular views)
API_PAGE_SIZE = 100 # Django REST framework API_PAGE_SIZE = 100 # Django REST framework
@ -285,7 +286,11 @@ REST_FRAMEWORK = {
SITE_ID = 1 SITE_ID = 1
# EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' # if DEBUG:
# EMAIL_BACKEND = 'django.core.mail.backends.dummy.EmailBackend'
# else:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'localhost' EMAIL_HOST = 'localhost'
EMAIL_HOST_PASSWORD = '' EMAIL_HOST_PASSWORD = ''
EMAIL_HOST_USER = '' EMAIL_HOST_USER = ''
@ -293,9 +298,8 @@ EMAIL_PORT = 25
# EMAIL_USE_TLS = False # EMAIL_USE_TLS = False
# EMAIL_USE_SSL = False # EMAIL_USE_SSL = False
# EMAIL_TIMEOUT = 60 # EMAIL_TIMEOUT = 60
# EMAIL_DEFAULT = 'noreply@archilance.ru' EMAIL_DEFAULT = 'noreply@proekton.com'
DEFAULT_FROM_EMAIL = 'noreply@proekton.com'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
SHELL_PLUS_POST_IMPORTS = ( # Extra auto imports SHELL_PLUS_POST_IMPORTS = ( # Extra auto imports
'natsort', 'natsort',
@ -304,7 +308,6 @@ SHELL_PLUS_POST_IMPORTS = ( # Extra auto imports
('pprint', ('pprint', 'pformat')), ('pprint', ('pprint', 'pformat')),
) )
YANDEX_MONEY = {'shop_password': 'x1uvmS9Iq8WBE3Oo'} YANDEX_MONEY = {'shop_password': 'x1uvmS9Iq8WBE3Oo'}
if DEBUG: if DEBUG:
@ -323,3 +326,6 @@ else:
WAGTAIL_SITE_NAME = 'PROEKTON' WAGTAIL_SITE_NAME = 'PROEKTON'
DEFAULT_FILE_STORAGE = 'archilance.util.ASCIIFileSystemStorage' DEFAULT_FILE_STORAGE = 'archilance.util.ASCIIFileSystemStorage'
RECAPTCHA_PUBLIC_KEY = '6LftaQgUAAAAAG0oKrt1ORtop1jfIEzkTnCL4S3Q'
RECAPTCHA_PRIVATE_KEY = '6LftaQgUAAAAAMaIK-YCL1u1AfakVXjblULQCvfa'

@ -5,18 +5,26 @@ DATABASES = {
'default': { 'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2', 'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'archilance', 'NAME': 'archilance',
'USER': 'postgres', 'USER': 'archilance',
'PASSWORD': 'vfhbyrf', 'PASSWORD': 'q3048hgaoasd333knf',
'HOST': 'localhost', 'HOST': 'localhost',
'PORT': '', 'PORT': '',
} }
} }
DEBUG = True DEBUG = False
THUMBNAIL_DEBUG = True THUMBNAIL_DEBUG = DEBUG
SECRET_KEY = 'vb6@b9zj7^f!^+x*e8=e!oundyu1!e*&0i(3gu2xwo4%fx4h&n' SECRET_KEY = 'vb6@b9zj7^f!^+x*e8=e!oundyu1!e*&0i(3gu2xwo4%fx4h&n'
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'django.contrib.staticfiles.finders.DefaultStorageFinder',
'compressor.finders.CompressorFinder',
)
LOGGING = { LOGGING = {
'version': 1, 'version': 1,
'disable_existing_loggers': False, 'disable_existing_loggers': False,
@ -49,3 +57,6 @@ LOGGING = {
}, },
} }
} }
COMPRESS_ENABLED = not DEBUG

@ -11,7 +11,7 @@ from django.core.wsgi import get_wsgi_application
from django.template.base import Variable from django.template.base import Variable
import os import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "archilance.settings.prod") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "archilance.settings.local")
application = get_wsgi_application() application = get_wsgi_application()

@ -273,3 +273,8 @@ li a:active .count-tab, li a:hover .count-tab {
border-color: red transparent transparent red; border-color: red transparent transparent red;
} }
#recaptcha_area {
float: none;
margin: 20px auto;
}

@ -1 +0,0 @@
global.path = require('path')

@ -0,0 +1 @@
a1ed3377ed15

@ -3,7 +3,7 @@ from registration.forms import RegistrationFormTermsOfService
import pydash as _; _.map = _.map_; _.filter = _.filter_ import pydash as _; _.map = _.map_; _.filter = _.filter_
from .models import PrintOrder, PrintDocuments from .models import PrintOrder, PrintDocuments
from captcha.fields import ReCaptchaField
class PrintOrderForm(forms.ModelForm): class PrintOrderForm(forms.ModelForm):
files = forms.ModelMultipleChoiceField( files = forms.ModelMultipleChoiceField(
@ -39,6 +39,7 @@ class CustomRegistrationForm(RegistrationFormTermsOfService):
) )
user_type = forms.ChoiceField(choices=USER_TYPES) user_type = forms.ChoiceField(choices=USER_TYPES)
captcha = ReCaptchaField()
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
self.request = kwargs.pop('request') self.request = kwargs.pop('request')

@ -3,7 +3,7 @@ import os
import sys import sys
if __name__ == "__main__": if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "archilance.settings.dev") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "archilance.settings.local")
from django.core.management import execute_from_command_line from django.core.management import execute_from_command_line

@ -684,11 +684,11 @@
</a> </a>
</form> </form>
{% else %} {% else %}
{% if answer.author|class_name == 'User' %} {# {% if answer.author|class_name == 'User' %}#}
<a href="{% url 'chat:chat-user' %}?user_id={{ answer.author.pk }}" class="candLink candLink2">Перейти к обсуждению</a> {# <a href="{% url 'chat:chat-user' %}?user_id={{ answer.author.pk }}" class="candLink candLink2">Перейти к обсуждению</a>#}
{% elif answer.author|class_name == 'Team'%} {# {% elif answer.author|class_name == 'Team'%}#}
<a href="{% url 'chat:chat-user' %}?user_id={{ answer.author.owner.pk }}" class="candLink candLink2">Перейти к обсуждению</a> {# <a href="{% url 'chat:chat-user' %}?user_id={{ answer.author.owner.pk }}" class="candLink candLink2">Перейти к обсуждению</a>#}
{% endif %} {# {% endif %}#}
{% endif %} {% endif %}
<form action="{% url 'projects:reject-project-answer' pk=answer.pk %}" method="POST" novalidate> <form action="{% url 'projects:reject-project-answer' pk=answer.pk %}" method="POST" novalidate>

@ -66,3 +66,4 @@ Unidecode==0.4.19
wagtail==1.6 wagtail==1.6
Werkzeug==0.11.10 Werkzeug==0.11.10
Willow==0.3.1 Willow==0.3.1
django-recaptcha==1.0.5

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-10-05 00:42
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('specializations', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='specialization',
name='name',
field=models.CharField(max_length=500),
),
]

@ -4,7 +4,7 @@ from mptt.managers import TreeManager
class Specialization(MPTTModel): class Specialization(MPTTModel):
name = models.CharField(max_length=100) name = models.CharField(max_length=500)
parent = TreeForeignKey('self', null=True, blank=True, related_name='children', db_index=True) parent = TreeForeignKey('self', null=True, blank=True, related_name='children', db_index=True)
objects = TreeManager() objects = TreeManager()

@ -1,8 +1,5 @@
{% load staticfiles %} <!doctype html>{% load staticfiles %}
{% load compress %} {#{% load compress %}#}
<!doctype html>
<html> <html>
<head> <head>
<meta charset='utf-8'> <meta charset='utf-8'>
@ -14,7 +11,7 @@
<title>PROEKTON</title> <title>PROEKTON</title>
{% compress css %} {# {% compress css %}#}
<link rel='stylesheet' href='{% static "lib/jquery-ui/jquery-ui.css" %}'> <link rel='stylesheet' href='{% static "lib/jquery-ui/jquery-ui.css" %}'>
<link rel='stylesheet' href='{% static "css/bootstrap.css" %}'> <link rel='stylesheet' href='{% static "css/bootstrap.css" %}'>
<link rel='stylesheet' href='{% static "css/font-awesome.min.css" %}'> <link rel='stylesheet' href='{% static "css/font-awesome.min.css" %}'>
@ -30,8 +27,10 @@
<link rel='stylesheet' href='{% static "css/main.css" %}'> <link rel='stylesheet' href='{% static "css/main.css" %}'>
<link rel='stylesheet' href='{% static "css/extra.css" %}'> <!-- Our additional CSS --> <link rel='stylesheet' href='{% static "css/extra.css" %}'> <!-- Our additional CSS -->
{% if TEMPLATE_DEBUG %}
<link rel='stylesheet' href='{% static "css/dev-colors.css" %}'> <!-- Dev-time only, temporary!!! --> <link rel='stylesheet' href='{% static "css/dev-colors.css" %}'> <!-- Dev-time only, temporary!!! -->
{% endcompress %} {% endif %}
{# {% endcompress %}#}
</head> </head>
<body> <body>
@ -42,6 +41,7 @@
{% endfor %} {% endfor %}
{% endif %} {% endif %}
{% if TEMPLATE_DEBUG %}
<div ondblclick="$(this).css('display', 'none')" style="position: absolute; left: 0; bottom: 0; padding: 6px; color: black; background-color: {% if request.user.is_contractor %}#BADA55{% else %}#C0FFEE{% endif %}; z-index: 50"> <div ondblclick="$(this).css('display', 'none')" style="position: absolute; left: 0; bottom: 0; padding: 6px; color: black; background-color: {% if request.user.is_contractor %}#BADA55{% else %}#C0FFEE{% endif %}; z-index: 50">
{{ request.user }}<br> {{ request.user }}<br>
@ -50,9 +50,12 @@
<b>Groups:</b> {{ request.user.groups.all }} <b>Groups:</b> {{ request.user.groups.all }}
{% endif %} {% endif %}
</div> </div>
{% endif %}
{% block content %}{% endblock %} {% block content %}{% endblock %}
{#{% compress js %}#}
<script src='{% static "lib/lodash/lodash.js" %}'></script> <script src='{% static "lib/lodash/lodash.js" %}'></script>
<script src='{% static "lib/lodash/lodash.fp.js" %}'></script> <script src='{% static "lib/lodash/lodash.fp.js" %}'></script>
@ -118,5 +121,7 @@
</script> </script>
{% block js_block %}{% endblock %} {% block js_block %}{% endblock %}
{#{% endcompress %}#}
</body> </body>
</html> </html>

@ -50,6 +50,11 @@
placeholder="Пароль"> placeholder="Пароль">
{{ form.password2.errors }} {{ form.password2.errors }}
</div> </div>
<div class="col-lg-12 select-reg">
{{ form.captcha }}
{{ form.captcha.errors }}
</div>
<div class="col-lg-12 select-reg"> <div class="col-lg-12 select-reg">
<button class="reg-sub">Зарегистрироваться</button> <button class="reg-sub">Зарегистрироваться</button>
</div> </div>

@ -545,33 +545,6 @@
</div> </div>
</div> </div>
<div id="tab14" class="tab-pane fade"> <div id="tab14" class="tab-pane fade">
{% for review in contractor.reviews_by_contractor.all %} {% for review in contractor.reviews_by_contractor.all %}
<div class="new-comm-44"> <div class="new-comm-44">

Loading…
Cancel
Save