Backport common mixin and generics improvements

* Rename get_object_list to get_source_queryset.
* Add uniqueness validation to SingleObjectCreateView.
* Remove MultipleInstanceActionMixin.
* Backport MultipleObjectMixin improvements.
* Remove ObjectListPermissionFilterMixin.
* Add and improve tests.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2019-05-06 02:07:35 -04:00
parent 7181852c2d
commit 95a1df8072
72 changed files with 1330 additions and 1092 deletions

View File

@@ -232,7 +232,6 @@ class DocumentVersionEmbeddedSignatureCreateView(FormView):
class DocumentVersionSignatureDeleteView(SingleObjectDeleteView):
model = DetachedSignature
object_permission = permission_document_version_signature_delete
object_permission_related = 'document_version.document'
def get_extra_context(self):
return {
@@ -251,7 +250,6 @@ class DocumentVersionSignatureDeleteView(SingleObjectDeleteView):
class DocumentVersionSignatureDetailView(SingleObjectDetailView):
form_class = DocumentVersionSignatureDetailForm
object_permission = permission_document_version_signature_view
object_permission_related = 'document_version.document'
def get_extra_context(self):
return {
@@ -263,14 +261,13 @@ class DocumentVersionSignatureDetailView(SingleObjectDetailView):
) % self.get_object(),
}
def get_queryset(self):
def get_source_queryset(self):
return SignatureBaseModel.objects.select_subclasses()
class DocumentVersionSignatureDownloadView(SingleObjectDownloadView):
model = DetachedSignature
object_permission = permission_document_version_signature_download
object_permission_related = 'document_version.document'
def get_file(self):
signature = self.get_object()
@@ -335,7 +332,7 @@ class DocumentVersionSignatureListView(SingleObjectListView):
) % self.get_document_version(),
}
def get_object_list(self):
def get_source_queryset(self):
return self.get_document_version().signatures.all()