Exemplo n.º 1
0
    def common(self, request, menu_id):
        lang = settings.LANGUAGES[0][0]
        act_menu = Menu.objects.language(lang).get(pk=menu_id)
        content = Content.objects.language(lang).get(url=act_menu.path)

        post = json.loads(request.body.decode()) if request.body else None
        self.form = EditContentForm(post,
                                    instance=content,
                                    initial={'authors': [str(_.pk) for _ in content.authors.all()]})
Exemplo n.º 2
0
class ContentResource(ModelResource):
    class Meta:
        resource_name = 'content-api'
        authorization = DjangoPermissions(get='content.add_content', post='content.add_content')

    def common(self, request, menu_id):
        lang = settings.LANGUAGES[0][0]
        act_menu = Menu.objects.language(lang).get(pk=menu_id)
        content = Content.objects.language(lang).get(url=act_menu.path)

        post = json.loads(request.body.decode()) if request.body else None
        self.form = EditContentForm(post,
                                    instance=content,
                                    initial={'authors': [str(_.pk) for _ in content.authors.all()]})

    def get(self, request, menu_id):
        return ApiResponse(self.form)

    def post(self, request, menu_id):
        if self.form.is_valid():
            self.form.save()
            return ApiResponse(data=self.form.instance)
        return ApiResponse(self.form, status_code=status.HTTP_400_BAD_REQUEST)