mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-01 04:09:46 -04:00
Use SortByName mixin where possible
Implementing `__lt__` makes objects sortable. Rather than reimplementing `__lt__` each time we want to make an object sortable by name, we can inherit from the extant `SortByNameMixin`.
This commit is contained in:
@@ -8,21 +8,17 @@ from rtreelib import Rect
|
||||
from werkzeug.utils import cached_property
|
||||
|
||||
from app.formatters import square_metres_to_square_miles
|
||||
from app.models import SortByNameMixin
|
||||
|
||||
from .populations import CITY_OF_LONDON
|
||||
from .repo import BroadcastAreasRepository, rtree_index
|
||||
|
||||
|
||||
class SortableMixin:
|
||||
class SortableMixin(SortByNameMixin):
|
||||
|
||||
def __repr__(self):
|
||||
return f'{self.__class__.__name__}(<{self.id}>)'
|
||||
|
||||
def __lt__(self, other):
|
||||
# Implementing __lt__ means any classes inheriting from this
|
||||
# method are sortable
|
||||
return self.name < other.name
|
||||
|
||||
def __eq__(self, other):
|
||||
return self.id == other.id
|
||||
|
||||
|
||||
@@ -64,9 +64,6 @@ class Organisation(JSONModel, SortByNameMixin):
|
||||
return cls({})
|
||||
return cls(organisations_client.get_organisation(org_id))
|
||||
|
||||
def __lt__(self, other):
|
||||
return self.name.lower() < other.name.lower()
|
||||
|
||||
@classmethod
|
||||
def from_domain(cls, domain):
|
||||
return cls(organisations_client.get_organisation_by_domain(domain))
|
||||
|
||||
Reference in New Issue
Block a user