Compare commits

..

No commits in common. '9debcb98462cc351690a6cdef9026e2a3401b52a' and 'c12dd36bb2b0c58c3376c488ce8d634e3b1cd662' have entirely different histories.

  1. 1
      choose/models.py
  2. 14
      choose/templates/choose.html
  3. 2
      choose/templates/vote.html
  4. 13
      choose/views.py

@ -47,7 +47,6 @@ class Tea(models.Model):
type = models.ForeignKey(TeaType, type = models.ForeignKey(TeaType,
related_name='teas', related_name='teas',
on_delete=models.CASCADE) on_delete=models.CASCADE)
m = models.IntegerField()
def __str__(self): def __str__(self):
return self.name return self.name

@ -10,7 +10,7 @@
<tr> <tr>
<th></th> <th></th>
<th>Название</th> <th>Название</th>
<th>Цена за минимальную массу</th> <th>Цена за 50 гр</th>
<th>Вес</th> <th>Вес</th>
<th></th> <th></th>
</tr> </tr>
@ -37,8 +37,8 @@
<td> <td>
<div class="select-wrapper"> <div class="select-wrapper">
<select class="selector" name="{{ type_name }}" id="{{ type_name }}" <select class="selector" name="{{ type_name }}" id="{{ type_name }}"
onchange="change(value, '{{ type_name }}', {{ type.ms.1 }})"> onchange="change(value, '{{ type_name }}')">
{% for m in type.ms %} {% for m in ms %}
<option value="{{ m }}">{{ m }}</option> <option value="{{ m }}">{{ m }}</option>
{% endfor %} {% endfor %}
</select> </select>
@ -81,21 +81,17 @@
{% for type_name,type in category.items %} {% for type_name,type in category.items %}
"{{ type_name }}": { "{{ type_name }}": {
{% for key,item in type.items%} {% for key,item in type.items%}
{% if not key == 'ms' %}
"{{ key }}": "{{ item }}", "{{ key }}": "{{ item }}",
{% else %}
"{{ key }}": {{ item }},
{% endif %}
{% endfor %} {% endfor %}
}, },
{% endfor %} {% endfor %}
{% endfor %} {% endfor %}
} }
function change(value, type, step) { function change(value, type) {
choice[type] = parseInt(value) choice[type] = parseInt(value)
const price_el = document.getElementById('price ' + type); const price_el = document.getElementById('price ' + type);
price_el.innerText = parseInt(value) / step * parseInt(a[type].price) price_el.innerText = parseInt(value) / 50 * parseInt(a[type].price)
sum_price() sum_price()
} }

@ -7,7 +7,7 @@
<body> <body>
<button class="btn" onclick="location.replace('/logout');">Выйти</button> <button class="btn" onclick="location.replace('/logout');">Выйти</button>
{% if not voted %} {% if not voted %}
<button class="btn" onclick="location.href='/choose'">Предложить свой набор чаев</button> <button class="btn" onclick="location.href='/choose'">Проголосовать</button>
{% endif %} {% endif %}
<table> <table>
<tbody> <tbody>

@ -38,9 +38,8 @@ def list_of_teas():
dic[tt.category.name][tt.name]['price'] = int(tt.preferred.price / 100) dic[tt.category.name][tt.name]['price'] = int(tt.preferred.price / 100)
dic[tt.category.name][tt.name]['pic'] = '/media/' + str(tt.preferred.pic.id) + '.' + get_extension( dic[tt.category.name][tt.name]['pic'] = '/media/' + str(tt.preferred.pic.id) + '.' + get_extension(
tt.preferred.pic.href) tt.preferred.pic.href)
dic[tt.category.name][tt.name]['ms'] = [tt.preferred.m * x for x in range(0, 11)]
return dic return {'categories': dic, 'ms': [0, 50, 100, 150, 200, 250, 300, 350, 400, 450, 500]}
def list_of_choices(request): def list_of_choices(request):
@ -69,17 +68,9 @@ def list_of_choices(request):
return {'choices': arr, 'voted': voted} return {'choices': arr, 'voted': voted}
def get_my_choice(request):
my_choice = Choice.objects.filter(users__in=[request.user]).first()
if my_choice is None:
return {}
else:
return {tea_id: str(mass) for tea_id, mass in json.loads(my_choice.choice).items()}
@login_requiered @login_requiered
def choose(request): def choose(request):
context = {'categories': list_of_teas(), 'teas': get_my_choice(request)} context = list_of_teas()
template = loader.get_template('choose.html') template = loader.get_template('choose.html')
return HttpResponse(template.render(context, request)) return HttpResponse(template.render(context, request))

Loading…
Cancel
Save