Пример #1
0
    def form_valid(self, form):
        emissao = self.object = form.save(commit=False)

        comodo.reemite_certificado(emissao)

        emissao.emission_status = emissao.STATUS_REEMITIDO
        emissao.save()

        voucher = self.get_voucher()
        atualiza_voucher(voucher, form.cleaned_data)
        voucher.save()
        return HttpResponseRedirect(self.get_success_url())
Пример #2
0
    def post(self, request, *args, **kwargs):
        try:
            emissao = Emissao.objects.get(crm_hash=request.DATA.get('crm_hash'))
        except Emissao.DoesNotExist:
            return erro_rest(('---', 'Emissão não encontrada'))  # TODO corrigir codigo erro
        serializer = self.get_serializer(data=request.DATA, files=request.FILES, instance=emissao)

        if serializer.is_valid():
            emissao = serializer.object

            resposta = comodo.reemite_certificado(emissao)

            emissao.comodo_order = resposta['orderNumber']
            emissao.emission_cost = resposta['totalCost']

            emissao.id = None  # isso obriga o django a criar um novo objeto

            self.pre_save(serializer.object)
            self.object = serializer.save(force_insert=True)
            self.post_save(self.object, created=True)

            headers = self.get_success_headers(serializer.data)
            return Response({}, status=status.HTTP_200_OK, headers=headers)

        return self.error_response(serializer)