def getTodaysDebt(self): import datetime from tuition.tools.models import Debt from tuition.utils.manager import AppManager serializedObjects = [] loggedInEmployee = AppManager.getUserByEmail(AppManager.getCurrentLoggedInUser().email()) today = datetime.date.today() todaysDebt = Debt.all().filter('user ='******'incurredDate =', today).order('-incurredDate') todaysDebt = todaysDebt.fetch(limit=1000) for debt in todaysDebt: serializedObjects.append(debt.toDict) return self.respond(debts=serializedObjects)
def getDebtThisWeek(self): import datetime from tuition.tools.models import Debt from tuition.utils.manager import AppManager from tuition.utils.utils import weekStartEnd serializedObjects = [] loggedInEmployee = AppManager.getUserByEmail(AppManager.getCurrentLoggedInUser().email()) startOfWeek = weekStartEnd().get('start') thisWeeksDebt = Debt.all().filter('user ='******'incurredDate >=', startOfWeek).order('-incurredDate') thisWeeksDebt = thisWeeksDebt.fetch(limit=1000) for debt in thisWeeksDebt: serializedObjects.append(debt.toDict) return self.respond(debts=serializedObjects)
def getTodaysDebt(self): import datetime from tuition.tools.models import Debt from tuition.utils.manager import AppManager serializedObjects = [] loggedInEmployee = AppManager.getUserByEmail( AppManager.getCurrentLoggedInUser().email()) today = datetime.date.today() todaysDebt = Debt.all().filter('user ='******'incurredDate =', today).order('-incurredDate') todaysDebt = todaysDebt.fetch(limit=1000) for debt in todaysDebt: serializedObjects.append(debt.toDict) return self.respond(debts=serializedObjects)
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)
def getDebtThisMonth(self, values): import datetime from tuition.tools.models import Debt from tuition.utils.manager import AppManager from tuition.utils.utils import getMonthEnd serializedObjects = [] year = int(values.get('year', 2013)) month = int(values.get('month', datetime.date.today().month)) loggedInEmployee = AppManager.getUserByEmail(AppManager.getCurrentLoggedInUser().email()) firstOfMonth = datetime.date(year, month, 1) endOfMonth = datetime.date(year, month, getMonthEnd(month, year)) thisMonthDebts = Debt.all().filter('user ='******'incurredDate >=', firstOfMonth).filter('incurredDate <=', endOfMonth).order('-incurredDate') thisMonthDebts = thisMonthDebts.fetch(limit=1000) for debt in thisMonthDebts: serializedObjects.append(debt.toDict) return self.respond(debts=serializedObjects)
def getDebtThisWeek(self): import datetime from tuition.tools.models import Debt from tuition.utils.manager import AppManager from tuition.utils.utils import weekStartEnd serializedObjects = [] loggedInEmployee = AppManager.getUserByEmail( AppManager.getCurrentLoggedInUser().email()) startOfWeek = weekStartEnd().get('start') thisWeeksDebt = Debt.all().filter( 'user ='******'incurredDate >=', startOfWeek).order('-incurredDate') thisWeeksDebt = thisWeeksDebt.fetch(limit=1000) for debt in thisWeeksDebt: serializedObjects.append(debt.toDict) return self.respond(debts=serializedObjects)
def markDebtReturn(self, serializedFormValues): from tuition.tools.models import Expenses, Debt from tuition.tools.forms import DebtReturnForm from tuition.utils.manager import AppManager modelsToPut = [] form = DebtReturnForm(data = serializedFormValues) loggedInEmployee = AppManager.getUserByEmail(AppManager.getCurrentLoggedInUser().email()) debt = Debt.get(serializedFormValues['key']) form.debtIncurredDate = debt.incurredDate if form.is_valid() and not debt.hasReturned: dictToSave = { 'expenseOfMonth' : form.cleaned_data['markAsExpense'], 'hasReturned' : True } for key, value in dictToSave.iteritems(): setattr(debt, key, value) modelsToPut.append(debt) # we need to mark it as an expense of the given date. dictToSave = { 'user' : loggedInEmployee.key(), 'type' : 'Debt Return', 'amount' : debt.amount, 'dateOfExpense' : form.cleaned_data['markAsExpense'], 'comments' : form.cleaned_data['returnComments'] } expense = Expenses(**dictToSave) modelsToPut.append(expense) savedDebtKey, savedExpenseKey = db.put(modelsToPut) return self.respond( isSaved=True, savedDebtKey=str(savedDebtKey), savedExpenseKey=str(savedExpenseKey), savedDebt=debt.toDict ) else: return self.respond( isSaved=False, errors=form.errors, debtAlreadyReturned=debt.hasReturned )
def getDebtThisMonth(self, values): import datetime from tuition.tools.models import Debt from tuition.utils.manager import AppManager from tuition.utils.utils import getMonthEnd serializedObjects = [] year = int(values.get('year', 2013)) month = int(values.get('month', datetime.date.today().month)) loggedInEmployee = AppManager.getUserByEmail( AppManager.getCurrentLoggedInUser().email()) firstOfMonth = datetime.date(year, month, 1) endOfMonth = datetime.date(year, month, getMonthEnd(month, year)) thisMonthDebts = Debt.all().filter( 'user ='******'incurredDate >=', firstOfMonth).filter('incurredDate <=', endOfMonth).order('-incurredDate') thisMonthDebts = thisMonthDebts.fetch(limit=1000) for debt in thisMonthDebts: serializedObjects.append(debt.toDict) return self.respond(debts=serializedObjects)
def markDebtReturn(self, serializedFormValues): from tuition.tools.models import Expenses, Debt from tuition.tools.forms import DebtReturnForm from tuition.utils.manager import AppManager modelsToPut = [] form = DebtReturnForm(data=serializedFormValues) loggedInEmployee = AppManager.getUserByEmail( AppManager.getCurrentLoggedInUser().email()) debt = Debt.get(serializedFormValues['key']) form.debtIncurredDate = debt.incurredDate if form.is_valid() and not debt.hasReturned: dictToSave = { 'expenseOfMonth': form.cleaned_data['markAsExpense'], 'hasReturned': True } for key, value in dictToSave.iteritems(): setattr(debt, key, value) modelsToPut.append(debt) # we need to mark it as an expense of the given date. dictToSave = { 'user': loggedInEmployee.key(), 'type': 'Debt Return', 'amount': debt.amount, 'dateOfExpense': form.cleaned_data['markAsExpense'], 'comments': form.cleaned_data['returnComments'] } expense = Expenses(**dictToSave) modelsToPut.append(expense) savedDebtKey, savedExpenseKey = db.put(modelsToPut) return self.respond(isSaved=True, savedDebtKey=str(savedDebtKey), savedExpenseKey=str(savedExpenseKey), savedDebt=debt.toDict) else: return self.respond(isSaved=False, errors=form.errors, debtAlreadyReturned=debt.hasReturned)