Untitled

mail@pastecode.io avatar
unknown
python
a year ago
3.2 kB
4
Indexable
Never
  def changeform_view(self, request, object_id=None, form_url='', extra_context=None):

        extra_context = extra_context or {}
        # дальше для польозвателя post запрос
        # пользователя достать текущего
        # url = reverse('organizations')  # заменить на нужный

        # мне надо вызвать тот класс нужно obj.organization_pk этот object это экземпляр модельки
        # пользователя можно взять из request auth user или как то так

        instance = self.get_object(request, object_id) #достаем текущую организацию
        # print(instance.id)
        # print(instance.balance)
        # print(instance.payment_sum)
        # print(instance.payer)
        # print(instance.event_executed_status)
        org_id = Organization.objects.get(balance=instance.balance).id

        current_user = request.user #Достаем текущего пользователя
        # print(current_user.is_authenticated)
        # print(current_user.id)

        url = f'{HOST_URL}{reverse(acc_url_patterns[1].name, args=[org_id])}'
        data = {"payment_amount": 2000.00}


        contract_number= Organization.objects.get(balance=instance.balance).contract_number
        event_=BalanceReplenishmentEvent.objects.filter(balance=instance.balance).last()

        extra_context['custom_button'] = mark_safe(f'<form action="{url}" method="POST">'
                                            
                                                   f'<input type="hidden" name="organisation" value="{org_id}">'
                                                   f'<input type="hidden" name="payment_amount" value="{data["payment_amount"]}">'
                                                   f'<button type="submit" style="background:var(--button-bg);color: white;" class="closelink">Создать счет</button>'
                                                   '</form>')

        # надо чтобы был post запрос
        # extra_context['custom_button'] = mark_safe(
        #     f'<form action="{url}" method="POST"><button type="submit" style="background:var(--button-bg);"class="closelink" >Создать счет</button></form>')

        # extra_context['custom_button'] = mark_safe(
        #     f'<form action="{url}" method="POST"><input type="hidden" value="{self.organisation.id}"><button type="submit">Создать счет</button></form>')
        # import requests #можно ли добавлять действия с кастомной формой. Загрузка файла через форму , форму для скачивания файла
        # #changeform
        # response = requests.post(url, headers={'Authorization': 'Token 80abe18d9b71624ee0c02cabdeadf4cc2a870cc5'},
        #                          data={"payment_amount": 2000.00})
        # return FileResponse(response.content, as_attachment=True, filename='invoice.pdf')
        return super().changeform_view(request, object_id, form_url, extra_context)