Beispiel #1
0
    def expenditures(self):
        """ Return a paginated list of active expenditures.
        Handles both private and shared expenditures. """

        result = {}

        private = self.request.params.get('private')
        if private:
            categories = Category.all_private(self.request).all()
        else:
            categories = Category.all_active(self.request).all()

        for c in categories:
            e = Expenditure.with_category(c.id)
            if e:
                s = Expenditure.with_category(c.id, total_only=True)
                result[c.title] = [e, s]
        return {'items': result,
                'title': 'Private expenditures' if private
                         else 'Shared expenditures',
                'private': private}