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)
Esempio n. 3
0
    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)
Esempio n. 4
0
    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)
Esempio n. 6
0
    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
			)
Esempio n. 8
0
    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)
Esempio n. 9
0
    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)