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'), ]