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"> <select class="form-control" name="tariff" id="id_tariffs">
{% for trf in tariffs %} {% for trf in tariffs %}
{% if trf.pk == selected_tariff %} {% 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 %} {% 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 %} {% endif %}
{{ trf.title }}. {{ trf.amount }}{% trans 'currency' %} (Вх:{{ trf.speedIn }}MBit/s. Исх:{{ trf.speedOut }} MBit/s) {{ trf.title }}. {{ trf.amount }}{% trans 'currency' %} (Вх:{{ trf.speedIn }}MBit/s. Исх:{{ trf.speedOut }} MBit/s)
</option> </option>
@ -41,11 +41,11 @@
{% if not abon.active_tariff %} {% if not abon.active_tariff %}
<div class="input-group"> <div class="input-group">
<span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span> <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"> <script type="text/javascript">
$(function () { $(function () {
$('#id_deadline').datetimepicker({ $('#id_deadline').datetimepicker({
format: 'YYYY-MM-DD'
format: 'YYYY-MM-DD HH:mm:ss'
}); });
$('#id_tariffs').on('change', function(){ $('#id_tariffs').on('change', function(){
var a = $(this).find('option:selected'); 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: if deadline == '' or deadline is None:
abon.pick_tariff(trf, request.user, comment=log_comment) abon.pick_tariff(trf, request.user, comment=log_comment)
else: 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.pick_tariff(trf, request.user, deadline=deadline, comment=log_comment)
abon.sync_with_nas(created=False) abon.sync_with_nas(created=False)
messages.success(request, _('Tariff has been picked')) messages.success(request, _('Tariff has been picked'))

17
tariff_app/custom_tariffs.py

@ -75,11 +75,26 @@ class TariffCp(TariffDp):
return _('Private service') 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 = ( TARIFF_CHOICES = (
('Df', TariffDefault), ('Df', TariffDefault),
('Dp', TariffDp), ('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?" msgid "Are you sure you want to delete tariff?"
msgstr "Вы уверены что хотите удалить тариф?" 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': if request.method == 'POST':
frm = forms.TariffForm(request.POST, instance=tarif) frm = forms.TariffForm(request.POST, instance=tarif)
if frm.is_valid(): if frm.is_valid():
frm.save()
new_service = frm.save()
messages.success(request, _('Service has been saved')) 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: else:
messages.warning(request, _('Some fields were filled incorrect, please try again')) messages.warning(request, _('Some fields were filled incorrect, please try again'))
else: else:

Loading…
Cancel
Save