views.py 1.1 KB

123456789101112131415161718192021222324252627282930
  1. from django.contrib.auth.mixins import PermissionRequiredMixin
  2. from django.shortcuts import get_object_or_404
  3. from utilities.views import ObjectDeleteView, ObjectEditView
  4. from .forms import ImageAttachmentForm
  5. from .models import ImageAttachment
  6. class ImageAttachmentEditView(PermissionRequiredMixin, ObjectEditView):
  7. permission_required = 'extras.change_imageattachment'
  8. model = ImageAttachment
  9. form_class = ImageAttachmentForm
  10. def alter_obj(self, imageattachment, request, args, kwargs):
  11. if not imageattachment.pk:
  12. # Assign the parent object based on URL kwargs
  13. model = kwargs.get('model')
  14. imageattachment.parent = get_object_or_404(model, pk=kwargs['object_id'])
  15. return imageattachment
  16. def get_return_url(self, imageattachment):
  17. return imageattachment.parent.get_absolute_url()
  18. class ImageAttachmentDeleteView(PermissionRequiredMixin, ObjectDeleteView):
  19. permission_required = 'dcim.delete_imageattachment'
  20. model = ImageAttachment
  21. def get_return_url(self, imageattachment):
  22. return imageattachment.obj.get_absolute_url()