Browse Source

maked daily service type

devel
Dmitry Novikov 8 years ago
parent
commit
e22f75a86b
  1. 8
      abonapp/templates/abonapp/buy_tariff.html
  2. 3
      abonapp/views.py
  3. 17
      tariff_app/custom_tariffs.py
  4. 3
      tariff_app/locale/ru/LC_MESSAGES/django.po
  5. 4
      tariff_app/views.py

8
abonapp/templates/abonapp/buy_tariff.html

@ -29,9 +29,9 @@
<select class="form-control" name="tariff" id="id_tariffs">
{% for trf in tariffs %}
{% if trf.pk == selected_tariff %}
<option value="{{ trf.pk }}" data-deadline='{{ trf.calc_deadline|date:"Y-m-d" }}' selected>
<option value="{{ trf.pk }}" data-deadline='{{ trf.calc_deadline|date:"Y-m-d H:i:s" }}' selected>
{% else %}
<option value="{{ trf.pk }}" data-deadline='{{ trf.calc_deadline|date:"Y-m-d" }}'>
<option value="{{ trf.pk }}" data-deadline='{{ trf.calc_deadline|date:"Y-m-d H:i:s" }}'>
{% endif %}
{{ trf.title }}. {{ trf.amount }}{% trans 'currency' %} (Вх:{{ trf.speedIn }}MBit/s. Исх:{{ trf.speedOut }} MBit/s)
</option>
@ -41,11 +41,11 @@
{% if not abon.active_tariff %}
<div class="input-group">
<span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span>
<input type="text" class="form-control" name="deadline" id="id_deadline" value="{{ tariffs.0.calc_deadline|date:"Y-m-d" }}">
<input type="text" class="form-control" name="deadline" id="id_deadline" value="{{ tariffs.0.calc_deadline|date:'Y-m-d H:i:s' }}">
<script type="text/javascript">
$(function () {
$('#id_deadline').datetimepicker({
format: 'YYYY-MM-DD'
format: 'YYYY-MM-DD HH:mm:ss'
});
$('#id_tariffs').on('change', function(){
var a = $(this).find('option:selected');

3
abonapp/views.py

@ -429,8 +429,7 @@ def pick_tariff(request, gid, uname):
if deadline == '' or deadline is None:
abon.pick_tariff(trf, request.user, comment=log_comment)
else:
deadline = datetime.strptime(deadline, '%Y-%m-%d')
deadline += timedelta(hours=23, minutes=59, seconds=59)
deadline = datetime.strptime(deadline, '%Y-%m-%d %H:%M:%S')
abon.pick_tariff(trf, request.user, deadline=deadline, comment=log_comment)
abon.sync_with_nas(created=False)
messages.success(request, _('Tariff has been picked'))

17
tariff_app/custom_tariffs.py

@ -75,11 +75,26 @@ class TariffCp(TariffDp):
return _('Private service')
# Daily service
class TariffDaily(TariffDp):
def calc_deadline(self):
nw = timezone.now()
# next day in the same time
one_day = timedelta(days=1)
return nw + one_day
@staticmethod
def description() -> AnyStr:
return _('IS Daily service')
# Первый - всегда по умолчанию
TARIFF_CHOICES = (
('Df', TariffDefault),
('Dp', TariffDp),
('Cp', TariffCp)
('Cp', TariffCp),
('Dl', TariffDaily)
)

3
tariff_app/locale/ru/LC_MESSAGES/django.po

@ -212,3 +212,6 @@ msgstr "Периодический платёж изменён"
msgid "Are you sure you want to delete tariff?"
msgstr "Вы уверены что хотите удалить тариф?"
msgid "IS Daily service"
msgstr "Услуга на сутки"

4
tariff_app/views.py

@ -40,9 +40,9 @@ def edit_tarif(request, tarif_id=0):
if request.method == 'POST':
frm = forms.TariffForm(request.POST, instance=tarif)
if frm.is_valid():
frm.save()
new_service = frm.save()
messages.success(request, _('Service has been saved'))
return redirect('tarifs:edit', tarif_id=tarif_id)
return redirect('tarifs:edit', tarif_id=new_service.pk)
else:
messages.warning(request, _('Some fields were filled incorrect, please try again'))
else:

Loading…
Cancel
Save