def saveDebt(self, serializedFormValues): from tuition.utils.manager import AppManager from tuition.tools.forms import DebtForm from tuition.tools.models import Debt, Expenses modelsToPut = [] savedExpenseKey = None savedDebtKey = None form = DebtForm(data=serializedFormValues) loggedInEmployee = AppManager.getUserByEmail( AppManager.getCurrentLoggedInUser().email()) if form.is_valid(): dictToSave = { 'user': loggedInEmployee.key(), 'type': form.cleaned_data['type'], 'amount': form.cleaned_data['amount'], 'incurredDate': form.cleaned_data['incurredDate'], 'returnDate': form.cleaned_data['returnDate'], 'expenseOfMonth': form.cleaned_data['expenseOfMonth'], 'hasReturned': form.cleaned_data['hasReturned'], 'comments': form.cleaned_data['comments'] } newDebt = Debt(**dictToSave) modelsToPut.append(newDebt) if form.cleaned_data['hasReturned']: dictToSave = { 'user': loggedInEmployee.key(), 'type': 'Debt Return', 'amount': newDebt.amount, 'dateOfExpense': form.cleaned_data['expenseOfMonth'], 'comments': '' } newExpense = Expenses(**dictToSave) modelsToPut.append(newExpense) if len(modelsToPut) > 1: savedDebtKey, savedExpenseKey = db.put(modelsToPut) elif len(modelsToPut) == 1: savedDebtKey = db.put(modelsToPut) return self.respond(isSaved=True, savedDebtKey=str(savedDebtKey), savedExpenseKey=str(savedExpenseKey), savedDebt=newDebt.toDict) else: return self.respond(isSaved=False, errors=form.errors)