diff --git a/taiga/projects/admin.py b/taiga/projects/admin.py index 9f7f5431..5c7cd25a 100644 --- a/taiga/projects/admin.py +++ b/taiga/projects/admin.py @@ -44,11 +44,11 @@ class MembershipAdmin(admin.ModelAdmin): def formfield_for_foreignkey(self, db_field, request, **kwargs): if db_field.name in ["user", "invited_by"] and getattr(self, 'obj', None): - kwargs["queryset"] = db_field.related.model.objects.filter( + kwargs["queryset"] = db_field.related_model.objects.filter( memberships__project=self.obj.project) elif db_field.name in ["role"] and getattr(self, 'obj', None): - kwargs["queryset"] = db_field.related.model.objects.filter( + kwargs["queryset"] = db_field.related_model.objects.filter( project=self.obj.project) return super().formfield_for_foreignkey(db_field, request, **kwargs) @@ -59,17 +59,17 @@ class MembershipInline(admin.TabularInline): extra = 0 def get_formset(self, request, obj=None, **kwargs): - # Hack! Hook parent obj just in time to use in formfield_for_manytomany + # Hack! Hook parent obj just in time to use in formfield_for_foreignkey self.parent_obj = obj return super(MembershipInline, self).get_formset(request, obj, **kwargs) def formfield_for_foreignkey(self, db_field, request, **kwargs): if (db_field.name in ["user", "invited_by"]): - kwargs["queryset"] = db_field.related.model.objects.filter( + kwargs["queryset"] = db_field.related_model.objects.filter( memberships__project=self.parent_obj) elif (db_field.name in ["role"]): - kwargs["queryset"] = db_field.related.model.objects.filter( + kwargs["queryset"] = db_field.related_model.objects.filter( project=self.parent_obj) return super().formfield_for_foreignkey(db_field, request, **kwargs) @@ -152,25 +152,18 @@ class ProjectAdmin(admin.ModelAdmin): "default_priority", "default_severity", "default_issue_status", "default_issue_type"]): if getattr(self, 'obj', None): - kwargs["queryset"] = db_field.related.model.objects.filter( + kwargs["queryset"] = db_field.related_model.objects.filter( project=self.obj) else: - kwargs["queryset"] = db_field.related.model.objects.none() + kwargs["queryset"] = db_field.related_model.objects.none() elif (db_field.name in ["owner"] and getattr(self, 'obj', None)): - kwargs["queryset"] = db_field.related.model.objects.filter( + kwargs["queryset"] = db_field.related_model.objects.filter( memberships__project=self.obj.project) return super().formfield_for_foreignkey(db_field, request, **kwargs) - def formfield_for_manytomany(self, db_field, request, **kwargs): - if (db_field.name in ["watchers"] - and getattr(self, 'obj', None)): - kwargs["queryset"] = db_field.related.parent_model.objects.filter( - memberships__project=self.obj) - return super().formfield_for_manytomany(db_field, request, **kwargs) - def delete_model(self, request, obj): obj.delete_related_content() super().delete_model(request, obj) diff --git a/taiga/projects/attachments/admin.py b/taiga/projects/attachments/admin.py index befbef4f..40dd7aac 100644 --- a/taiga/projects/attachments/admin.py +++ b/taiga/projects/attachments/admin.py @@ -34,7 +34,7 @@ class AttachmentAdmin(admin.ModelAdmin): def formfield_for_foreignkey(self, db_field, request, **kwargs): if (db_field.name in ["owner"]and getattr(self, 'obj', None)): - kwargs["queryset"] = db_field.related.model.objects.filter( + kwargs["queryset"] = db_field.related_model.objects.filter( memberships__project=self.obj.project) return super().formfield_for_foreignkey(db_field, request, **kwargs) diff --git a/taiga/projects/epics/admin.py b/taiga/projects/epics/admin.py index 69aea806..a5dff623 100644 --- a/taiga/projects/epics/admin.py +++ b/taiga/projects/epics/admin.py @@ -44,10 +44,10 @@ class EpicAdmin(admin.ModelAdmin): def formfield_for_foreignkey(self, db_field, request, **kwargs): if (db_field.name in ["status"] and getattr(self, 'obj', None)): - kwargs["queryset"] = db_field.related.model.objects.filter(project=self.obj.project) + kwargs["queryset"] = db_field.related_model.objects.filter(project=self.obj.project) elif (db_field.name in ["owner", "assigned_to"] and getattr(self, 'obj', None)): - kwargs["queryset"] = db_field.related.model.objects.filter(memberships__project=self.obj.project) + kwargs["queryset"] = db_field.related_model.objects.filter(memberships__project=self.obj.project) return super().formfield_for_foreignkey(db_field, request, **kwargs) diff --git a/taiga/projects/issues/admin.py b/taiga/projects/issues/admin.py index 06be1a03..9618bffa 100644 --- a/taiga/projects/issues/admin.py +++ b/taiga/projects/issues/admin.py @@ -39,11 +39,11 @@ class IssueAdmin(admin.ModelAdmin): def formfield_for_foreignkey(self, db_field, request, **kwargs): if (db_field.name in ["status", "priority", "severity", "type", "milestone"] and getattr(self, 'obj', None)): - kwargs["queryset"] = db_field.related.model.objects.filter( + kwargs["queryset"] = db_field.related_model.objects.filter( project=self.obj.project) elif (db_field.name in ["owner", "assigned_to"] and getattr(self, 'obj', None)): - kwargs["queryset"] = db_field.related.model.objects.filter( + kwargs["queryset"] = db_field.related_model.objects.filter( memberships__project=self.obj.project) return super().formfield_for_foreignkey(db_field, request, **kwargs) diff --git a/taiga/projects/milestones/admin.py b/taiga/projects/milestones/admin.py index d3f8c994..2636c7d2 100644 --- a/taiga/projects/milestones/admin.py +++ b/taiga/projects/milestones/admin.py @@ -34,7 +34,7 @@ class MilestoneInline(admin.TabularInline): def formfield_for_foreignkey(self, db_field, request, **kwargs): if (db_field.name in ["owner"]): - kwargs["queryset"] = db_field.related.model.objects.filter( + kwargs["queryset"] = db_field.related_model.objects.filter( memberships__project=self.parent_obj) return super().formfield_for_foreignkey(db_field, request, **kwargs) diff --git a/taiga/projects/tasks/admin.py b/taiga/projects/tasks/admin.py index 281cdb11..9d094906 100644 --- a/taiga/projects/tasks/admin.py +++ b/taiga/projects/tasks/admin.py @@ -39,11 +39,11 @@ class TaskAdmin(admin.ModelAdmin): def formfield_for_foreignkey(self, db_field, request, **kwargs): if (db_field.name in ["status", "milestone", "user_story"] and getattr(self, 'obj', None)): - kwargs["queryset"] = db_field.related.model.objects.filter( + kwargs["queryset"] = db_field.related_model.objects.filter( project=self.obj.project) elif (db_field.name in ["owner", "assigned_to"] and getattr(self, 'obj', None)): - kwargs["queryset"] = db_field.related.model.objects.filter( + kwargs["queryset"] = db_field.related_model.objects.filter( memberships__project=self.obj.project) return super().formfield_for_foreignkey(db_field, request, **kwargs) diff --git a/taiga/projects/userstories/admin.py b/taiga/projects/userstories/admin.py index 50c8bb7b..6ea5a100 100644 --- a/taiga/projects/userstories/admin.py +++ b/taiga/projects/userstories/admin.py @@ -54,11 +54,11 @@ class UserStoryAdmin(admin.ModelAdmin): def formfield_for_foreignkey(self, db_field, request, **kwargs): if (db_field.name in ["status", "milestone", "generated_from_issue"] and getattr(self, 'obj', None)): - kwargs["queryset"] = db_field.related.model.objects.filter( + kwargs["queryset"] = db_field.related_model.objects.filter( project=self.obj.project) elif (db_field.name in ["owner", "assigned_to"] and getattr(self, 'obj', None)): - kwargs["queryset"] = db_field.related.model.objects.filter( + kwargs["queryset"] = db_field.related_model.objects.filter( memberships__project=self.obj.project) return super().formfield_for_foreignkey(db_field, request, **kwargs) diff --git a/taiga/projects/wiki/admin.py b/taiga/projects/wiki/admin.py index 73834938..2f0d1636 100644 --- a/taiga/projects/wiki/admin.py +++ b/taiga/projects/wiki/admin.py @@ -38,7 +38,7 @@ class WikiPageAdmin(admin.ModelAdmin): def formfield_for_foreignkey(self, db_field, request, **kwargs): if (db_field.name in ["owner", "last_modifier"] and getattr(self, 'obj', None)): - kwargs["queryset"] = db_field.related.model.objects.filter( + kwargs["queryset"] = db_field.related_model.objects.filter( memberships__project=self.obj.project) return super().formfield_for_foreignkey(db_field, request, **kwargs)