Example #1
0
    def post(self):
        user = users.get_current_user()

        if user is None:
            self.redirect(users.create_login_url(self.request.uri))

        else:
            action = self.request.get('action')

            success = None
            error = None

            if action == 'clearUser':
                q = Transaction.all()
                q.filter("userid =", user.user_id())

                try:
                    for t in q.run():
                        t.delete()

                except db.NotSavedError:
                    error = "Couldn't delete user's transactions because of a NotSavedError"

                else:

                    try:
                        mapManager = CategoryMapManager(user)
                        mapManager.clearMappings()

                    except db.NotSavedError:
                        error = "Couldn't delete user's category mappings because of a NotSavedError"

                    else:
                        success = "Removed all records for " + user.nickname()

            else:
                error = 'Invalid action: "' + action + '"'

            params = {}
            if success:
                params['success'] = success
            if error:
                params['error'] = error

            params = urllib.urlencode(params)
            self.redirect('/admin?' + params)
Example #2
0
    def get(self):
        user = users.get_current_user()

        if user is None:
            self.redirect(users.create_login_url(self.request.uri))

        else:
            category = self.request.get("category")

            q = Transaction.all()
            q.filter("userid = ", user.user_id())
            q.order("-transactionDate")

            if (category):
                q.filter("transactionCategory = ", category)

            template = jinja_environment.get_template('transactions.html')
            self.response.out.write(
                template.render(users=users, transactions=q.run()))
Example #3
0
    def get(self):
        user = users.get_current_user()

        if user is None:
            self.redirect(users.create_login_url(self.request.uri))

        else:
            q = Transaction.all()
            q.filter("userid =", user.user_id())

            transactions = q.run()

            allCategories = CategoryMapManager.getCategoriesFromTransactions(
                transactions)
            mapManager = CategoryMapManager(user, allCategories)
            groupMap = dict()
            for grp in BudgetGroup.getAllGroups():
                groupMap[grp] = mapManager.getCategories(grp)

            template = jinja_environment.get_template('categories.html')
            self.response.out.write(
                template.render(users=users, groupMap=groupMap))