diff --git a/pyproject.toml b/pyproject.toml index 86cf1dbcfa..3f128c5424 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -117,6 +117,7 @@ line-length = 120 select = [ "B", # flake8-bugbear "C4", # flake8-comprehensions + "DJ", # flake8-django "E", # pycodestyle "F", # pyflakes "I", # isort diff --git a/rdmo/domain/admin.py b/rdmo/domain/admin.py index 756e41f4d3..f7800642e7 100644 --- a/rdmo/domain/admin.py +++ b/rdmo/domain/admin.py @@ -11,7 +11,16 @@ class AttributeAdminForm(forms.ModelForm): class Meta: model = Attribute - fields = '__all__' + fields = [ + 'uri', + 'uri_prefix', + 'key', + 'path', + 'comment', + 'locked', + 'editors', + 'parent', + ] def clean(self): AttributeUniqueURIValidator(self.instance)(self.cleaned_data) diff --git a/rdmo/projects/models/integration.py b/rdmo/projects/models/integration.py index b8cdc52169..a338c34f45 100644 --- a/rdmo/projects/models/integration.py +++ b/rdmo/projects/models/integration.py @@ -9,8 +9,6 @@ class Integration(models.Model): - objects = IntegrationManager() - project = models.ForeignKey( 'Project', on_delete=models.CASCADE, related_name='integrations', verbose_name=_('Project'), @@ -21,6 +19,8 @@ class Integration(models.Model): help_text=_('The key of the provider for this integration.') ) + objects = IntegrationManager() + class Meta: ordering = ('project__title', ) verbose_name = _('Integration') @@ -29,13 +29,13 @@ class Meta: def __str__(self): return f'{self.project.title} / {self.provider_key}' + def get_absolute_url(self): + return reverse('project', kwargs={'pk': self.project.pk}) + @property def provider(self): return get_plugin('PROJECT_ISSUE_PROVIDERS', self.provider_key) - def get_absolute_url(self): - return reverse('project', kwargs={'pk': self.project.pk}) - def save_options(self, options): for field in self.provider.fields: try: diff --git a/rdmo/projects/models/invite.py b/rdmo/projects/models/invite.py index 1c1c202b79..16986ecbbd 100644 --- a/rdmo/projects/models/invite.py +++ b/rdmo/projects/models/invite.py @@ -13,8 +13,6 @@ class Invite(models.Model): key_salt = 'rdmo.projects.models.invite.Invite' - objects = InviteManager() - project = models.ForeignKey( 'Project', on_delete=models.CASCADE, related_name='invites', verbose_name=_('Project'), @@ -45,6 +43,8 @@ class Invite(models.Model): help_text=_('The timestamp for this invite.') ) + objects = InviteManager() + class Meta: ordering = ('timestamp', ) verbose_name = _('Invite') diff --git a/rdmo/projects/models/issue.py b/rdmo/projects/models/issue.py index bfaf95474d..393ef4d9f4 100644 --- a/rdmo/projects/models/issue.py +++ b/rdmo/projects/models/issue.py @@ -12,8 +12,6 @@ class Issue(models.Model): - objects = IssueManager() - ISSUE_STATUS_OPEN = 'open' ISSUE_STATUS_IN_PROGRESS = 'in_progress' ISSUE_STATUS_CLOSED = 'closed' @@ -39,6 +37,7 @@ class Issue(models.Model): help_text=_('The status for this issue.') ) + objects = IssueManager() class Meta: ordering = ('project__title', ) verbose_name = _('Issue') diff --git a/rdmo/projects/models/membership.py b/rdmo/projects/models/membership.py index f794dff3f9..6e97f086d9 100644 --- a/rdmo/projects/models/membership.py +++ b/rdmo/projects/models/membership.py @@ -8,8 +8,6 @@ class Membership(models.Model): - objects = MembershipManager() - ROLE_CHOICES = ( ('owner', _('Owner')), ('manager', _('Manager')), @@ -33,6 +31,8 @@ class Membership(models.Model): help_text=_('The role for this membership.') ) + objects = MembershipManager() + class Meta: ordering = ('project__title', ) verbose_name = _('Membership') diff --git a/rdmo/tasks/models.py b/rdmo/tasks/models.py index eef1a0c682..886df5facf 100644 --- a/rdmo/tasks/models.py +++ b/rdmo/tasks/models.py @@ -15,8 +15,6 @@ class Task(TranslationMixin, models.Model): - objects = TaskManager() - uri = models.URLField( max_length=800, blank=True, verbose_name=_('URI'), @@ -145,6 +143,8 @@ class Task(TranslationMixin, models.Model): help_text=_('Designates whether this task is generally available for projects.') ) + objects = TaskManager() + class Meta: ordering = ('uri',) verbose_name = _('Task') diff --git a/rdmo/views/models.py b/rdmo/views/models.py index 4f8561b7fd..1f5098a544 100644 --- a/rdmo/views/models.py +++ b/rdmo/views/models.py @@ -16,8 +16,6 @@ class View(models.Model, TranslationMixin): - objects = ViewManager() - uri = models.URLField( max_length=800, blank=True, verbose_name=_('URI'), @@ -125,6 +123,8 @@ class View(models.Model, TranslationMixin): help_text=_('Designates whether this view is generally available for projects.') ) + objects = ViewManager() + class Meta: ordering = ('uri', ) verbose_name = _('View')