示例#1
0
def worker(req):
    contract            = req.params()['service_contract']
    new_internet_tariff = req.params()['new_internet_tariff']
    start_date          = req.params()['start_date']

    tariff = Tariff(contract=contract)
    if not tariff.is_personal():
        planned_tariff = tariff.getOpenTarPlan()

        if not planned_tariff.tarplan == new_internet_tariff:
            #меняем тариф если запланированный план и новый тариф не совпадают
            return tariff.changeTariff(new_internet_tariff, start_date)
        else:

            if not planned_tariff.start_date == start_date:
                #меняем тариф если дата начала запланированного плана и дата начала нового тарифа не совпадают
                return tariff.changeTariff(new_internet_tariff, start_date)
            else:
                #попытка перейти на тот же тариф и на туже дату
                return {'success': False,
                        'title': u'Смена тарифа была уже произведена ранее', \
                        'message': u'Тариф "%s" на Интернет начнёт действовать с %s' % (planned_tariff.tarplan.name, start_date) }
    else:
        #для абонентов с персональными тарифами смена тарифа запрещена
        return {'success': False,
                'title': u'Смена тарифа невозможна', \
                'message': u'У вас действует персональный тариф. Для его смены обратитесь в абон. отдел' }