views.py 1.2 KB

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