__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)" __license__ = "AGPL v3" from django.db import models from django.utils import timezone from .constants import MEMBERSHIP_SUBMITTED, PROSPECTIVE_PARTNER_PROCESSED, REQUEST_INITIATED class ContactRequestManager(models.Manager): def awaiting_processing(self): return self.filter(status=REQUEST_INITIATED) class ProspectivePartnerManager(models.Manager): def not_yet_partner(self): return self.exclude(status=PROSPECTIVE_PARTNER_PROCESSED) class PartnerManager(models.Manager): def my_partners(self, current_user): """ Filter out my Partners if user is not a PartnerAdmin. """ if current_user.has_perm('scipost.can_view_partners'): return self.all() return self.filter(contact=current_user.partner_contact) class MembershipAgreementManager(models.Manager): def submitted(self): return self.filter(status=MEMBERSHIP_SUBMITTED) def open_to_partner(self): return self.exclude(status=MEMBERSHIP_SUBMITTED) def now_active(self): return self.filter(start_date__lte=timezone.now().date(), end_date__gte=timezone.now().date()) class PartnersAttachmentManager(models.Manager): def my_attachments(self, current_user): if current_user.has_perm('scipost.can_view_partners'): return self.all()