diff --git a/journals/templatetags/lookup.py b/journals/templatetags/lookup.py index ebbb9f797631a46db634f57c1df6217ed58c24ff..cdb5e7fd3ca81cd803bc0b19bfde70239e1d32d9 100644 --- a/journals/templatetags/lookup.py +++ b/journals/templatetags/lookup.py @@ -10,7 +10,6 @@ from ajax_select import register, LookupChannel from ..models import Publication from funders.models import Funder, Grant -from organizations.models import Organization @register('publication_lookup') @@ -43,30 +42,6 @@ class PublicationLookup(LookupChannel): raise PermissionDenied -@register('organization_lookup') -class OrganizationLookup(LookupChannel): - model = Organization - - def get_query(self, q, request): - return (self.model.objects.order_by('name') - .filter(Q(name__icontains=q) | - Q(acronym__icontains=q) | - Q(name_original__icontains=q))[:10]) - - def format_item_display(self, item): - """(HTML) format item for displaying item in the selected deck area.""" - return u"<span class='auto_lookup_display'>%s</span>" % item.full_name_with_acronym - - def format_match(self, item): - """(HTML) Format item for displaying in the dropdown.""" - return item.full_name_with_acronym - - def check_auth(self, request): - """Allow use by logged-in users (e.g. for Affiliations handling).""" - if not request.user.is_authenticated(): - raise PermissionDenied - - @register('funder_lookup') class FunderLookup(LookupChannel): model = Funder diff --git a/organizations/templatetags/lookup.py b/organizations/templatetags/lookup.py new file mode 100644 index 0000000000000000000000000000000000000000..a261a23fa7817b063198080b095adc35c1531939 --- /dev/null +++ b/organizations/templatetags/lookup.py @@ -0,0 +1,34 @@ +__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)" +__license__ = "AGPL v3" + + +from django.core.exceptions import PermissionDenied +from django.db.models import Q + +from ajax_select import register, LookupChannel + +from ..models import Organization + + +@register('organization_lookup') +class OrganizationLookup(LookupChannel): + model = Organization + + def get_query(self, q, request): + return (self.model.objects.order_by('name') + .filter(Q(name__icontains=q) | + Q(acronym__icontains=q) | + Q(name_original__icontains=q))[:10]) + + def format_item_display(self, item): + """(HTML) format item for displaying item in the selected deck area.""" + return u"<span class='auto_lookup_display'>%s</span>" % item.full_name_with_acronym + + def format_match(self, item): + """(HTML) Format item for displaying in the dropdown.""" + return item.full_name_with_acronym + + def check_auth(self, request): + """Allow use by logged-in users (e.g. for Affiliations handling).""" + if not request.user.is_authenticated(): + raise PermissionDenied