• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

iplweb / bpp / 3c407b5b-8434-4f25-9e12-005b14d23a79

07 Sep 2025 02:53PM UTC coverage: 33.615% (-8.7%) from 42.328%
3c407b5b-8434-4f25-9e12-005b14d23a79

push

circleci

mpasternak
Merge branch 'release/v202509.1221'

1 of 45 new or added lines in 2 files covered. (2.22%)

3993 existing lines in 129 files now uncovered.

16522 of 49150 relevant lines covered (33.62%)

0.34 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

60.0
src/pbn_api/admin/pbn_export_queue.py
1
from django import forms
1✔
2
from django.http import HttpResponseRedirect
1✔
3
from django.urls import reverse
1✔
4

5
from pbn_api.models.queue import PBN_Export_Queue
1✔
6

7
from django.contrib import admin, messages
1✔
8

9
from django.utils.safestring import mark_safe
1✔
10

11

12
class RenderHTMLWidget(forms.Textarea):
1✔
13
    def render(self, name, value, renderer, attrs=None):
1✔
UNCOV
14
        return mark_safe((value or "").replace("\n", "<br>"))
×
15

16

17
@admin.register(PBN_Export_Queue)
1✔
18
class PBN_Export_QueueAdmin(admin.ModelAdmin):
1✔
19
    list_per_page = 10
1✔
20
    list_display = [
1✔
21
        "rekord_do_wysylki",
22
        "object_id",
23
        "zamowil",
24
        "wysylke_podjeto",
25
        "wysylke_zakonczono",
26
        "ilosc_prob",
27
        "zakonczono_pomyslnie",
28
        "retry_after_user_authorised",
29
    ]
30

31
    search_fields = ["zamowil__username", "zamowil__email"]
1✔
32

33
    list_filter = ["zamowil", "zakonczono_pomyslnie", "retry_after_user_authorised"]
1✔
34

35
    date_hierarchy = "zamowiono"
1✔
36

37
    readonly_fields = [
1✔
38
        "object_id",
39
        "content_type",
40
        "zamowiono",
41
        "zamowil",
42
        "wysylke_podjeto",
43
        "wysylke_zakonczono",
44
        "ilosc_prob",
45
        "zakonczono_pomyslnie",
46
        "retry_after_user_authorised",
47
    ]
48

49
    def has_delete_permission(self, request, *args, **kw):
1✔
50
        if request.user.is_superuser:
1✔
51
            return True
1✔
UNCOV
52
        if "obj" in kw:
×
53
            if kw["obj"].zamowil == request.user:
×
54
                return True
×
55
        return False
×
56

57
    from django.db import models
1✔
58

59
    formfield_overrides = {models.TextField: {"widget": RenderHTMLWidget}}
1✔
60

61
    def _resend_single_item(self, obj: PBN_Export_Queue, user, message_suffix=""):
1✔
62
        """Common logic for resending a single PBN export queue item"""
UNCOV
63
        obj.prepare_for_resend(user=user, message_suffix=message_suffix)
×
64
        obj.sprobuj_wyslac_do_pbn()
×
65

66
    def resend_to_pbn_action(self, request, queryset):
1✔
67
        count = 0
×
68
        for obj in queryset:
×
UNCOV
69
            self._resend_single_item(obj, request.user, " (akcja masowa)")
×
UNCOV
70
            count += 1
×
71

72
        self.message_user(request, f"Ponowiono wysyłkę do PBN dla {count} elementów")
×
73

74
    resend_to_pbn_action.short_description = "Wyślij ponownie"
1✔
75

76
    actions = [resend_to_pbn_action]
1✔
77

78
    def save_form(self, request, form, change):
1✔
UNCOV
79
        return form.save(commit=False)
×
80

81
    def response_change(self, request, obj):
1✔
UNCOV
82
        if "_resend_to_pbn" in request.POST:
×
UNCOV
83
            self._resend_single_item(obj, request.user)
×
UNCOV
84
            self.message_user(request, f"Ponowiono wysyłkę do PBN: {obj}")
×
UNCOV
85
            return HttpResponseRedirect(
×
86
                reverse(
87
                    "admin:{}_{}_change".format(
88
                        obj._meta.app_label, obj._meta.model_name
89
                    ),
90
                    args=[obj.pk],
91
                )
92
            )
93
        return super().response_change(request, obj)
×
94

95
    def has_add_permission(self, request):
1✔
96
        return False
1✔
97

98
    def save_model(self, request, obj, form, change):
1✔
99
        # Uczyń FAKTYCZNIE readonly :-)
UNCOV
100
        messages.error(
×
101
            request,
102
            "Obiekt NIE został zapisany -- nie można edytować tej części serwisu.",
103
        )
UNCOV
104
        return
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc