def post(self, request, *args, **kwargs): try: voucher = self.get_voucher() except Voucher.DoesNotExist: return erro_rest(('---', 'Emissão não encontrada')) # TODO corrigir codigo erro serializer = self.get_serializer(data=request.DATA, files=request.FILES) if serializer.is_valid(): emissao = serializer.object emissao.requestor_user_id = self.request.user.pk emissao.crm_hash = request.DATA.get('crm_hash') emissao.voucher = voucher # self.atualiza_voucher(voucher) TODO: TBD > o que fazer com os dados do voucher if serializer.validacao_manual: emissao.emission_status = emissao.STATUS_ACAO_MANUAL_PENDENTE else: emissao.emission_status = emissao.STATUS_EM_EMISSAO resposta = comodo.emite_certificado(emissao) emissao.comodo_order = resposta['orderNumber'] emissao.emission_cost = resposta['totalCost'] self.pre_save(serializer.object) self.object = serializer.save(force_insert=True) self.post_save(self.object, created=True) return Response({}, status=status.HTTP_200_OK) return self.error_response(serializer)
def save(self, form_list, **kwargs): emissao = self.instance emissao.requestor_user_id = self.request.user.pk emissao.crm_hash = self.kwargs['crm_hash'] voucher = self.get_voucher() emissao.voucher = voucher atualiza_voucher(voucher, dados_voucher=self.get_cleaned_data_for_step('tela-1')) if any(f.validacao_manual for f in form_list): emissao.emission_status = emissao.STATUS_EMISSAO_PENDENTE else: emissao.emission_status = emissao.STATUS_EM_EMISSAO resposta = comodo.emite_certificado(emissao) emissao.comodo_order = resposta['orderNumber'] emissao.emission_cost = resposta['totalCost'] emissao.save()