__copyright__ = "Copyright 2016-2018, Stichting SciPost (SciPost Foundation)" __license__ = "AGPL v3" from django.db import models from .managers import ConflictOfInterestQuerySet class ConflictOfInterest(models.Model): """ A flagged relation between two scientists that could be conflicting in a refereeing phase. """ STATUS_UNVERIFIED, STATUS_VERIFIED = 'unverified', 'verified' STATUS_DEPRECATED = 'deprecated' CONFLICT_OF_INTEREST_STATUSES = ( (STATUS_UNVERIFIED, 'Unverified'), (STATUS_VERIFIED, 'Verified by Admin'), (STATUS_DEPRECATED, 'Deprecated'), ) TYPE_OTHER, TYPE_COAUTHOR, TYPE_COWORKER = 'other', 'coauthor', 'coworker' COI_TYPES = ( (TYPE_COWORKER, 'Co-worker'), (TYPE_COAUTHOR, 'Co-authorship'), (TYPE_OTHER, 'Other'), ) status = models.CharField( max_length=16, choices=CONFLICT_OF_INTEREST_STATUSES, default=STATUS_UNVERIFIED) type = models.CharField(max_length=16, choices=COI_TYPES, default=TYPE_OTHER) profile = models.ForeignKey('profiles.Profile', related_name='conflicts') related_profile = models.ForeignKey('profiles.Profile', related_name='+') header = models.CharField(max_length=265) url = models.URLField(blank=True) comment = models.TextField(blank=True) created = models.DateTimeField(auto_now_add=True) modified = models.DateTimeField(auto_now=True) objects = ConflictOfInterestQuerySet.as_manager() def __str__(self): return '{} - {} ({})'.format(self.profile, self.related_profile, self.get_type_display())