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())
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)