fix bugs in places with halls

remotes/origin/1203
Nazar Kotjuk 12 years ago
parent 3a48602148
commit 64d873a167
  1. 10
      functions/custom_fields.py
  2. 5
      functions/form_check.py
  3. 4
      place_exposition/forms.py
  4. 10
      proj/settings.py
  5. 22
      proj/views.py
  6. 24
      templates/admin/place_conference/place_conference_add.html
  7. 15
      templates/admin/place_exposition/place_exposition_add.html

@ -62,7 +62,7 @@ class JSONField(models.TextField):
def get_db_prep_value(self, value, connection, prepared=True): def get_db_prep_value(self, value, connection, prepared=True):
"""Convert our JSON object to a string before we save""" """Convert our JSON object to a string before we save"""
return json.dumps(value) return json.dumps(value)
'''
def get_db_prep_save(self, value, connection): def get_db_prep_save(self, value, connection):
"""Convert our JSON object to a string before we save""" """Convert our JSON object to a string before we save"""
@ -73,6 +73,7 @@ class JSONField(models.TextField):
value = json.dumps(value, cls=DjangoJSONEncoder) value = json.dumps(value, cls=DjangoJSONEncoder)
return value return value
'''
DEFAULT_WIDTH = 590 DEFAULT_WIDTH = 590
@ -101,10 +102,15 @@ class LocationWidget(forms.TextInput):
if isinstance(value, basestring): if isinstance(value, basestring):
a = json.loads(value) a = json.loads(value)
lat, lng, address = float(a['lat']), float(a['lng']), a['address'] lat, lng, address = float(a['lat']), float(a['lng']), a['address']
else: else:
lat, lng, address = float(value['lat']), float(value['lng']), value['address'] lat, lng, address = float(value['lat']), float(value['lng']), value['address']
curLocation = json.dumps(value, cls=DjangoJSONEncoder)
if isinstance(value, basestring):
curLocation = value
else:
curLocation = json.dumps(value, cls=DjangoJSONEncoder)
js = ''' js = '''
<script type="text/javascript"> <script type="text/javascript">

@ -2,7 +2,8 @@
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
import pytils, re import pytils, re
def is_positive_integer(data): def is_positive_integer(data,
msg='Введите правильное значение'):
""" """
function checking if data positive integer function checking if data positive integer
""" """
@ -11,7 +12,7 @@ def is_positive_integer(data):
elif data.isdigit() and int(data) > 0: elif data.isdigit() and int(data) > 0:
return int(data) return int(data)
else: else:
raise ValidationError('Введите правильное значение') raise ValidationError(msg)
def translit_with_separator(string, separator='-'): def translit_with_separator(string, separator='-'):
""" """

@ -316,9 +316,9 @@ class HallForm(forms.ModelForm):
def clean_number(self): def clean_number(self):
cleaned_data = super(HallForm, self).clean() cleaned_data = super(HallForm, self).clean()
number = cleaned_data.get('number').strip() number = cleaned_data.get('number').strip()
return is_positive_integer(number) return is_positive_integer(number, 'Номер должен состоять из цифр')
def clean_capacity(self): def clean_capacity(self):
cleaned_data = super(HallForm, self).clean() cleaned_data = super(HallForm, self).clean()
capacity = cleaned_data.get('capacity').strip() capacity = cleaned_data.get('capacity').strip()
return is_positive_integer(capacity) return is_positive_integer(capacity, 'Вместимость должна состоять из цифр')

@ -22,6 +22,13 @@ DATABASES = {
} }
} }
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
'LOCATION': '127.0.0.1:11211',
}
}
# Hosts/domain names that are valid for this site; required if DEBUG is False # Hosts/domain names that are valid for this site; required if DEBUG is False
# See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts # See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts
@ -122,11 +129,13 @@ TEMPLATE_LOADERS = (
) )
MIDDLEWARE_CLASSES = ( MIDDLEWARE_CLASSES = (
'django.middleware.cache.UpdateCacheMiddleware',
'django.middleware.common.CommonMiddleware', 'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware', 'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.cache.FetchFromCacheMiddleware',
# Uncomment the next line for simple clickjacking protection: # Uncomment the next line for simple clickjacking protection:
# 'django.middleware.clickjacking.XFrameOptionsMiddleware', # 'django.middleware.clickjacking.XFrameOptionsMiddleware',
#'debug_toolbar.middleware.DebugToolbarMiddleware',#должно быть последним полем #'debug_toolbar.middleware.DebugToolbarMiddleware',#должно быть последним полем
@ -160,7 +169,6 @@ TEMPLATE_DIRS = (
'/home/kotzilla/Documents/qwer/proj/templates/admin/theme', '/home/kotzilla/Documents/qwer/proj/templates/admin/theme',
'/home/kotzilla/Documents/qwer/proj/templates/admin/translator', '/home/kotzilla/Documents/qwer/proj/templates/admin/translator',
'/home/kotzilla/Documents/qwer/proj/templates/admin/webinar', '/home/kotzilla/Documents/qwer/proj/templates/admin/webinar',
) )
AUTH_USER_MODEL = 'accounts.User' AUTH_USER_MODEL = 'accounts.User'

@ -44,14 +44,24 @@ def settings(request):
return render_to_response('settings.html', args) return render_to_response('settings.html', args)
from directories.models import Currency
from django.views.decorators.cache import cache_page
from django.core.cache import cache
#@cache_page(30)
def test(request): def test(request):
ids = [i for i in range(1, 5000)]
try:
objs = Seminar.objects.all() currs = [item for item in Currency.objects.all()]
objs.delete() currs = []
return HttpResponse('success') for i in ids:
except: currs.append(Currency.objects.get(id=i))
return HttpResponse('error')
cache.set('key', currs[100].currency, 60)
return HttpResponse('success')

@ -119,9 +119,23 @@
</div> </div>
<hr> <hr>
{% endif %} {% endif %}
{% if formset.errors %}
<div class="alert alert-error">
{% for form in formset.forms %}
{% for key, value in form.errors.items %}
<p>{{ value }}</p>
{% endfor %}
{% endfor %}
</div>
{% endif %}
{# formset of halls #} {# formset of halls #}
{{ formset.management_form }} {{ formset.management_form }}
<div id="halls" style="padding-left: 160px;{% if obj_id %} {% else %}display: none;{% endif %}">
<div id="halls" style="padding-left: 160px;{% if formset.management_form.TOTAL_FORMS.value > 1 %} {% else %}display: none;{% endif %}">
<table class="table table-hover" style=" width: 100%;"> <table class="table table-hover" style=" width: 100%;">
<thead> <thead>
<tr> <tr>
@ -135,7 +149,13 @@
{% for item in formset.forms %} {% for item in formset.forms %}
<tr class="item" {% if obj_id %}{% else %}style="display: NONE"{% endif %}> <tr class="item"
{% if obj_id %}
{% else %}
{% if forloop.counter == 1 %}
style="display: NONE"
{% endif %}
{% endif %}>
<td>{{ item.name }}</td> <td>{{ item.name }}</td>
<td>{{ item.number }}</td> <td>{{ item.number }}</td>
<td>{{ item.capacity }}</td> <td>{{ item.capacity }}</td>

@ -2,6 +2,7 @@
{% load static %} {% load static %}
{% block scripts %} {% block scripts %}
<script src="{% static 'ckeditor/ckeditor/ckeditor.js' %}"></script> <script src="{% static 'ckeditor/ckeditor/ckeditor.js' %}"></script>
{# google map не забыть скачать скрипты на локал #} {# google map не забыть скачать скрипты на локал #}
<link href='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/themes/redmond/jquery-ui.css' rel="stylesheet"/> <link href='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/themes/redmond/jquery-ui.css' rel="stylesheet"/>
@ -17,8 +18,6 @@
<script src="{% static 'custom_js/file_post_ajax.js' %}"></script> <script src="{% static 'custom_js/file_post_ajax.js' %}"></script>
<script src="{% static 'custom_js/place_city_ajax.js' %}"></script> <script src="{% static 'custom_js/place_city_ajax.js' %}"></script>
{% endblock %} {% endblock %}
{% block body %} {% block body %}
@ -171,6 +170,18 @@
<h2><i class="icon-pencil"></i> Вместимость павилионов</h2> <h2><i class="icon-pencil"></i> Вместимость павилионов</h2>
</div> </div>
<div class="box-content"> <div class="box-content">
{% if formset.errors %}
<div class="alert alert-error">
{% for form in formset.forms %}
{% for key, value in form.errors.items %}
<p>{{ value }}</p>
{% endfor %}
{% endfor %}
</div>
{% endif %}
{# formset of halls #} {# formset of halls #}
{{ formset.management_form }} {{ formset.management_form }}
<div id="halls" style="padding-left: 160px;{% if obj_id %} {% else %}display: none;{% endif %}"> <div id="halls" style="padding-left: 160px;{% if obj_id %} {% else %}display: none;{% endif %}">

Loading…
Cancel
Save