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

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

@ -316,9 +316,9 @@ class HallForm(forms.ModelForm):
def clean_number(self):
cleaned_data = super(HallForm, self).clean()
number = cleaned_data.get('number').strip()
return is_positive_integer(number)
return is_positive_integer(number, 'Номер должен состоять из цифр')
def clean_capacity(self):
cleaned_data = super(HallForm, self).clean()
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
# See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts
@ -122,11 +129,13 @@ TEMPLATE_LOADERS = (
)
MIDDLEWARE_CLASSES = (
'django.middleware.cache.UpdateCacheMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.cache.FetchFromCacheMiddleware',
# Uncomment the next line for simple clickjacking protection:
# 'django.middleware.clickjacking.XFrameOptionsMiddleware',
#'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/translator',
'/home/kotzilla/Documents/qwer/proj/templates/admin/webinar',
)
AUTH_USER_MODEL = 'accounts.User'

@ -44,14 +44,24 @@ def settings(request):
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):
ids = [i for i in range(1, 5000)]
try:
objs = Seminar.objects.all()
objs.delete()
return HttpResponse('success')
except:
return HttpResponse('error')
currs = [item for item in Currency.objects.all()]
currs = []
for i in ids:
currs.append(Currency.objects.get(id=i))
cache.set('key', currs[100].currency, 60)
return HttpResponse('success')

@ -119,9 +119,23 @@
</div>
<hr>
{% 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.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%;">
<thead>
<tr>
@ -135,7 +149,13 @@
{% 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.number }}</td>
<td>{{ item.capacity }}</td>

@ -2,6 +2,7 @@
{% load static %}
{% block scripts %}
<script src="{% static 'ckeditor/ckeditor/ckeditor.js' %}"></script>
{# google map не забыть скачать скрипты на локал #}
<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/place_city_ajax.js' %}"></script>
{% endblock %}
{% block body %}
@ -171,6 +170,18 @@
<h2><i class="icon-pencil"></i> Вместимость павилионов</h2>
</div>
<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.management_form }}
<div id="halls" style="padding-left: 160px;{% if obj_id %} {% else %}display: none;{% endif %}">

Loading…
Cancel
Save