From 1160ee45ca4c81e02bab966f29065b6e058fccc4 Mon Sep 17 00:00:00 2001 From: Heinz-Alexander Fuetterer Date: Sun, 15 Oct 2023 11:59:02 +0200 Subject: [PATCH] chore: enable flake8-django (DJ) rule in ruff config --- pyproject.toml | 1 + rdmo/conditions/admin.py | 13 ++++++++++++- rdmo/domain/admin.py | 11 ++++++++++- rdmo/projects/models/integration.py | 10 +++++----- rdmo/projects/models/invite.py | 4 ++-- rdmo/projects/models/issue.py | 3 +-- rdmo/projects/models/membership.py | 4 ++-- rdmo/questions/models/question.py | 2 +- rdmo/tasks/admin.py | 28 +++++++++++++++++++++++++++- rdmo/tasks/models.py | 4 ++-- rdmo/views/admin.py | 24 +++++++++++++++++++++++- rdmo/views/models.py | 4 ++-- 12 files changed, 88 insertions(+), 20 deletions(-) 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/conditions/admin.py b/rdmo/conditions/admin.py index 7bcfb04697..ffdedb71aa 100644 --- a/rdmo/conditions/admin.py +++ b/rdmo/conditions/admin.py @@ -10,7 +10,18 @@ class ConditionAdminForm(forms.ModelForm): class Meta: model = Condition - fields = '__all__' + fields = [ + "uri", + "uri_prefix", + "uri_path", + "comment", + "locked", + "editors", + "source", + "relation", + "target_text", + "target_option", + ] def clean(self): ConditionUniqueURIValidator(self.instance)(self.cleaned_data) diff --git a/rdmo/domain/admin.py b/rdmo/domain/admin.py index 44377ac95d..4e6cb8b71e 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/questions/models/question.py b/rdmo/questions/models/question.py index 6244f579c8..4cbefe3027 100644 --- a/rdmo/questions/models/question.py +++ b/rdmo/questions/models/question.py @@ -139,7 +139,7 @@ class Question(Model, TranslationMixin): help_text=_('The default text value for this question in the quaternary language.') ) default_text_lang5 = models.TextField( - null=True, blank=True, + default="", blank=True, verbose_name=_('Default text value (quinary)'), help_text=_('The default text value for this question in the quinary language.') ) diff --git a/rdmo/tasks/admin.py b/rdmo/tasks/admin.py index 6d1acf36cc..cee88ce3d8 100644 --- a/rdmo/tasks/admin.py +++ b/rdmo/tasks/admin.py @@ -12,7 +12,33 @@ class TaskAdminForm(forms.ModelForm): class Meta: model = Task - fields = '__all__' + fields = [ + "uri", + "uri_prefix", + "uri_path", + "comment", + "locked", + "catalogs", + "sites", + "editors", + "groups", + "title_lang1", + "title_lang2", + "title_lang3", + "title_lang4", + "title_lang5", + "text_lang1", + "text_lang2", + "text_lang3", + "text_lang4", + "text_lang5", + "start_attribute", + "end_attribute", + "days_before", + "days_after", + "conditions", + "available", + ] def clean(self): TaskUniqueURIValidator(self.instance)(self.cleaned_data) 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/admin.py b/rdmo/views/admin.py index 9fedfe6d53..ef4da26fe9 100644 --- a/rdmo/views/admin.py +++ b/rdmo/views/admin.py @@ -12,7 +12,29 @@ class ViewAdminForm(forms.ModelForm): class Meta: model = View - fields = '__all__' + fields = [ + "uri", + "uri_prefix", + "uri_path", + "comment", + "locked", + "catalogs", + "sites", + "editors", + "groups", + "template", + "title_lang1", + "title_lang2", + "title_lang3", + "title_lang4", + "title_lang5", + "help_lang1", + "help_lang2", + "help_lang3", + "help_lang4", + "help_lang5", + "available", + ] def clean(self): ViewUniqueURIValidator(self.instance)(self.cleaned_data) 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')