Exemplo n.º 1
0
class ScreenshotDetail(DetailView):
    model = Screenshot
    _edit_form = None

    def get_object(self, *args, **kwargs):
        obj = super(ScreenshotDetail, self).get_object(*args, **kwargs)
        check_access(self.request, obj.component.project)
        return obj

    def get_context_data(self, **kwargs):
        result = super(ScreenshotDetail, self).get_context_data(**kwargs)
        component = result['object'].component
        if can_change_screenshot(self.request.user, component.project):
            if self._edit_form is not None:
                result['edit_form'] = self._edit_form
            else:
                result['edit_form'] = ScreenshotForm(instance=result['object'])
        return result

    def post(self, request, **kwargs):
        obj = self.get_object()
        if can_change_screenshot(request.user, obj.component.project):
            self._edit_form = ScreenshotForm(
                request.POST, request.FILES, instance=obj
            )
            if self._edit_form.is_valid():
                self._edit_form.save()
            else:
                return self.get(request, **kwargs)
        return redirect(obj)
Exemplo n.º 2
0
class ScreenshotDetail(DetailView):
    model = Screenshot
    _edit_form = None

    def get_object(self, *args, **kwargs):
        obj = super(ScreenshotDetail, self).get_object(*args, **kwargs)
        self.request.user.check_access(obj.component.project)
        return obj

    def get_context_data(self, **kwargs):
        result = super(ScreenshotDetail, self).get_context_data(**kwargs)
        component = result['object'].component
        if self.request.user.has_perm('screenshot.edit', component):
            if self._edit_form is not None:
                result['edit_form'] = self._edit_form
            else:
                result['edit_form'] = ScreenshotForm(instance=result['object'])
        return result

    def post(self, request, **kwargs):
        obj = self.get_object()
        if request.user.has_perm('screenshot.edit', obj.component):
            self._edit_form = ScreenshotForm(
                request.POST, request.FILES, instance=obj
            )
            if self._edit_form.is_valid():
                if request.FILES:
                    obj.user = request.user
                    request.user.profile.uploaded += 1
                    request.user.profile.save(update_fields=['uploaded'])
                self._edit_form.save()
            else:
                return self.get(request, **kwargs)
        return redirect(obj)
Exemplo n.º 3
0
class ScreenshotDetail(DetailView):
    model = Screenshot
    _edit_form = None

    def get_object(self, *args, **kwargs):
        obj = super(ScreenshotDetail, self).get_object(*args, **kwargs)
        self.request.user.check_access(obj.component.project)
        return obj

    def get_context_data(self, **kwargs):
        result = super(ScreenshotDetail, self).get_context_data(**kwargs)
        component = result['object'].component
        if self.request.user.has_perm('screenshot.edit', component):
            if self._edit_form is not None:
                result['edit_form'] = self._edit_form
            else:
                result['edit_form'] = ScreenshotForm(instance=result['object'])
        return result

    def post(self, request, **kwargs):
        obj = self.get_object()
        if request.user.has_perm('screenshot.edit', obj.component):
            self._edit_form = ScreenshotForm(
                request.POST, request.FILES, instance=obj
            )
            if self._edit_form.is_valid():
                if request.FILES:
                    obj.user = request.user
                    request.user.profile.uploaded += 1
                    request.user.profile.save(update_fields=['uploaded'])
                self._edit_form.save()
            else:
                return self.get(request, **kwargs)
        return redirect(obj)
Exemplo n.º 4
0
class ScreenshotDetail(DetailView):
    model = Screenshot
    _edit_form = None

    def get_object(self, *args, **kwargs):
        obj = super().get_object(*args, **kwargs)
        self.request.user.check_access_component(obj.component)
        return obj

    def get_context_data(self, **kwargs):
        result = super().get_context_data(**kwargs)
        component = result["object"].component
        if self.request.user.has_perm("screenshot.edit", component):
            if self._edit_form is not None:
                result["edit_form"] = self._edit_form
            else:
                result["edit_form"] = ScreenshotForm(instance=result["object"])
        return result

    def post(self, request, **kwargs):
        obj = self.get_object()
        if request.user.has_perm("screenshot.edit", obj.component):
            self._edit_form = ScreenshotForm(request.POST,
                                             request.FILES,
                                             instance=obj)
            if self._edit_form.is_valid():
                if request.FILES:
                    obj.user = request.user
                    request.user.profile.increase_count("uploaded")
                self._edit_form.save()
            else:
                return self.get(request, **kwargs)
        return redirect(obj)
Exemplo n.º 5
0
class ScreenshotDetail(DetailView):
    model = Screenshot
    _edit_form = None

    def get_object(self, *args, **kwargs):
        obj = super(ScreenshotDetail, self).get_object(*args, **kwargs)
        check_access(self.request, obj.component.project)
        return obj

    def get_context_data(self, **kwargs):
        result = super(ScreenshotDetail, self).get_context_data(**kwargs)
        component = result['object'].component
        if can_change_screenshot(self.request.user, component.project):
            if self._edit_form is not None:
                result['edit_form'] = self._edit_form
            else:
                result['edit_form'] = ScreenshotForm(instance=result['object'])
        return result

    def post(self, request, **kwargs):
        obj = self.get_object()
        if can_change_screenshot(request.user, obj.component.project):
            self._edit_form = ScreenshotForm(
                request.POST, request.FILES, instance=obj
            )
            if self._edit_form.is_valid():
                self._edit_form.save()
            else:
                return self.get(request, **kwargs)
        return redirect(obj)