def callback_c(n, durationValue, amountValue, rvValue, scheduleRows, modeValue,
               rateValue, **kwargs):
    user = kwargs['user']
    if n is None:
        user = kwargs['user']
        return [
            html.Div('Lease quote', className='h3 mb-0'),
            dbc.Button("Save quote",
                       id="save_quote_button",
                       className="d-none d-md-block btn btn-sm btn-primary"),
        ]

        return dash.no_update
    else:
        if n > 1:
            return [
                html.Div('Lease quote', className='h3 mb-0'),
            ]
        customer = get_object_or_404(Customer, pk=1)
        contract = Contract()
        contract.customer = customer
        contract.user = user
        contract.status = 'Created'
        contract.creation_date = datetime.date.today()
        contract.status_date = datetime.date.today()
        contract.save()
        schedule = Schedule()
        schedule.contract = contract
        schedule.mode = modeValue
        schedule.rv = rvValue
        schedule.amount = amountValue
        schedule.start_date = startdate
        schedule.rate = rateValue / 120000

        schedule.save()
        i = 0
        for scheduleRow in scheduleRows:
            if (modeValue == '01'):
                date = startdate + relativedelta(months=i)
            else:
                date = startdate + relativedelta(months=i + 1)
            i = i + 1
            step = Step()
            step.schedule = schedule
            step.rent = scheduleRow['rent']
            step.balance = scheduleRow['balance']
            step.date = date
            step.save()

        return [
            html.Div('Lease quote', className='h3 mb-0 text-gray-800'),
            html.Div('Quote saved !', className='h3 mb-0 text-gray-800'),
        ]
Exemple #2
0
 def test_saving_and_retrieving_schedule(self):
     schedule1 = Schedule(event="New",
                          start_time=datetime.time(11, 23, 44),
                          end_time=datetime.time(11, 25, 44))
     schedule1.save()
     schedule2 = Schedule(event="Next",
                          start_time=datetime.time(8, 11, 10),
                          end_time=datetime.time(8, 25, 12))
     schedule2.save()
     saved_schedule = Schedule.objects.all()
     self.assertEqual(saved_schedule.count(), 2)
     self.assertEqual(saved_schedule[0], schedule1)
     self.assertEqual(saved_schedule[1], schedule2)
Exemple #3
0
    def save(self):
        schedule_code = self.cleaned_data['file'].read()
        parser = ScheduleParser()

        schedule = parser.parse(schedule_code)

        with transaction.commit_on_success():
            t = Trigger.objects.get(method__name=schedule['trigger_method'], method__interface__name=schedule['trigger_interface'])

            s = Schedule(trigger=t, name=schedule['schedule_name'], schedule_file=self.cleaned_data['file'])
            s.save()

            for action in schedule['actions']:
                a = Action.objects.get(name=action['action_name'])
                sa = ScheduleAction(schedule=s, action=a)

                if action['trigger_from'] != None:
                    ad = ActionDevice.objects.get(action=a, parameter_position=action['trigger_from'])
                    sa.trigger_device = ad
                sa.save()
Exemple #4
0
 def setUp(self):
     import datetime
     schedule1 = Schedule(event="New",
                          start_time=datetime.time(11, 23),
                          end_time=datetime.time(11, 25))
     schedule1.save()