Skip to content

Commit

Permalink
Create OrderFilter
Browse files Browse the repository at this point in the history
  • Loading branch information
keiranjprice101 committed Jul 29, 2019
1 parent 202c009 commit 67bf964
Showing 1 changed file with 16 additions and 0 deletions.
16 changes: 16 additions & 0 deletions common/database_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,22 @@ def apply_filter(self, query):
query.base_query = query.base_query.filter(getattr(query.table, self.field) == self.value)


class OrderFilter(QueryFilter):
def __init__(self, field, direction):
self.field = field
self.direction = direction

def apply_filter(self, query):
if query.is_limited:
query.base_query = query.base_query.from_self()
if self.direction.upper() == "ASC":
query.base_query = query.base_query.order_by(asc(query.table, self.field.upper()))
elif self.direction.upper() == "DESC":
query.base_query = query.base_query.order_by(desc(query.table, self.field.upper()))
else:
raise BadFilterError(f" Bad filter: {self.direction}")


def insert_row_into_table(row):
"""
Insert the given row into its table
Expand Down

0 comments on commit 67bf964

Please sign in to comment.