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

DemocracyClub / UK-Polling-Stations / 2a72f59d-f0a1-43ce-bc7e-452a44e8ef33

18 Jun 2024 08:49AM UTC coverage: 70.907%. First build
2a72f59d-f0a1-43ce-bc7e-452a44e8ef33

push

circleci

GeoWill
Use FQDN when sending issues to asana

2 of 6 new or added lines in 2 files covered. (33.33%)

3807 of 5369 relevant lines covered (70.91%)

0.71 hits per line

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

82.61
/polling_stations/apps/feedback/models.py
1
import os
1✔
2
from urllib.parse import urljoin
1✔
3

4
from django.conf import settings
1✔
5
from django.db import models
1✔
6
from django.template.defaultfilters import truncatechars
1✔
7
from django.urls import reverse
1✔
8
from django.utils.translation import gettext_lazy as _
1✔
9
from django_extensions.db.models import TimeStampedModel
1✔
10

11
from polling_stations.settings.constants.asana import AsanaReportType
1✔
12

13
FOUND_USEFUL_CHOICES = (("YES", _("Yes")), ("NO", _("No")))
1✔
14
VOTE_CHOICES = (("YES", _("Yes")), ("NO", _("No")))
1✔
15

16

17
class Feedback(TimeStampedModel):
1✔
18
    found_useful = models.CharField(
1✔
19
        blank=True, max_length=100, choices=FOUND_USEFUL_CHOICES
20
    )
21
    vote = models.CharField(blank=True, max_length=100, choices=VOTE_CHOICES)
1✔
22
    comments = models.TextField(blank=True)
1✔
23
    source_url = models.CharField(blank=True, max_length=800)
1✔
24
    token = models.CharField(blank=True, max_length=100, unique=True)
1✔
25
    asana_url = models.URLField(blank=True)
1✔
26

27
    def as_asana_object(self):
1✔
28
        desc = truncatechars(self.comments, 30)
×
NEW
29
        fqdn = os.environ.get("FQDN", "wheredoivote.co.uk")
×
NEW
30
        base_url = f"https://{fqdn}"
×
31
        return {
×
32
            "name": f"""{self.pk}: "{desc}" """,
33
            "projects": [settings.ASANA_PROJECT_ID],
34
            "custom_fields": {
35
                settings.ASANA_SITE_LINK_FIELD_ID: urljoin(base_url, self.source_url),
36
                settings.ASANA_REPORT_LINK_FIELD_ID: urljoin(
37
                    base_url,
38
                    reverse(
39
                        "admin:feedback_feedback_change",
40
                        kwargs={"object_id": self.pk},
41
                    ),
42
                ),
43
                settings.ASANA_ISSUE_DESCRIPTION_FIELD_ID: self.comments,
44
                settings.ASANA_REPORT_TYPE_FIELD_ID: AsanaReportType.WDIV_FEEDBACK.value,
45
            },
46
        }
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