Commit cd5da237 authored by Joachim Kołodziejski's avatar Joachim Kołodziejski
Browse files

reformat

parent 7a67b3bb
Loading
Loading
Loading
Loading
+19 −22
Changes for archive/migrations/0001_initial.py: 19 added lines, 22 removed lines.
Original line number Diff line number Diff line
@@ -4,40 +4,37 @@ from django.db import migrations


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('voters', '0001_initial'),
        ("voters", "0001_initial"),
    ]

    operations = [
        migrations.CreateModel(
            name='ArchivedGroup',
            fields=[
            ],
            name="ArchivedGroup",
            fields=[],
            options={
                'verbose_name': 'zarchiwizowana klasa',
                'verbose_name_plural': 'zarchiwizowane klasy',
                'proxy': True,
                'default_permissions': ('view',),
                'indexes': [],
                'constraints': [],
                "verbose_name": "zarchiwizowana klasa",
                "verbose_name_plural": "zarchiwizowane klasy",
                "proxy": True,
                "default_permissions": ("view",),
                "indexes": [],
                "constraints": [],
            },
            bases=('voters.group',),
            bases=("voters.group",),
        ),
        migrations.CreateModel(
            name='ArchivedVoter',
            fields=[
            ],
            name="ArchivedVoter",
            fields=[],
            options={
                'verbose_name': 'zarchiwizowany wyborca',
                'verbose_name_plural': 'zarchiwizowani wyborcy',
                'proxy': True,
                'default_permissions': ('view',),
                'indexes': [],
                'constraints': [],
                "verbose_name": "zarchiwizowany wyborca",
                "verbose_name_plural": "zarchiwizowani wyborcy",
                "proxy": True,
                "default_permissions": ("view",),
                "indexes": [],
                "constraints": [],
            },
            bases=('voters.voter',),
            bases=("voters.voter",),
        ),
    ]
+160 −45
Changes for elections/migrations/0001_initial.py: 160 added lines, 45 removed lines.
Original line number Diff line number Diff line
@@ -6,7 +6,6 @@ from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
@@ -15,65 +14,181 @@ class Migration(migrations.Migration):

    operations = [
        migrations.CreateModel(
            name='Election',
            name="Election",
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=64, verbose_name='nazwa')),
                ('description', models.TextField(blank=True, verbose_name='opis')),
                ('paper_card_instruction', models.TextField(blank=True, help_text='Tekst, który tutaj wpiszesz zostanie dodany do kart papierowych sporządzonych przez system jako \'Instrukcja głosowania"', verbose_name='instrukcja głosowania')),
                ('allow_invalid', models.BooleanField(default=True, verbose_name='zezwalaj na głosy nieważne')),
                ('invalid_votes', models.IntegerField(default=0)),
                ('alias', models.SlugField(blank=True, help_text='Alias występuje w adresie URL danego głosowania.', unique=True, verbose_name='alias')),
                ('always_visible', models.BooleanField(default=False, help_text='Pokazuj głosowanie na liście dostępnych niezależnie od daty', verbose_name='zawsze pokazuj na liście')),
                ('start_date', models.DateTimeField(verbose_name='Czas rozpoczęcia')),
                ('end_date', models.DateTimeField(verbose_name='Czas zakończenia')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('is_hybrid', models.BooleanField(default=False, help_text='Aktywacja trybu hybrydowego pozwala na oznaczenie wydania karty oraz wporowadzenie głosów stacjonarnych do systemu.', verbose_name='Tryb hybrydowy')),
                ('local_votes_entered', models.BooleanField(default=False)),
                ('owner', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='owned_elections', to=settings.AUTH_USER_MODEL, verbose_name='Właściciel')),
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.CharField(max_length=64, verbose_name="nazwa")),
                ("description", models.TextField(blank=True, verbose_name="opis")),
                (
                    "paper_card_instruction",
                    models.TextField(
                        blank=True,
                        help_text="Tekst, który tutaj wpiszesz zostanie dodany do kart papierowych sporządzonych przez system jako 'Instrukcja głosowania\"",
                        verbose_name="instrukcja głosowania",
                    ),
                ),
                (
                    "allow_invalid",
                    models.BooleanField(
                        default=True, verbose_name="zezwalaj na głosy nieważne"
                    ),
                ),
                ("invalid_votes", models.IntegerField(default=0)),
                (
                    "alias",
                    models.SlugField(
                        blank=True,
                        help_text="Alias występuje w adresie URL danego głosowania.",
                        unique=True,
                        verbose_name="alias",
                    ),
                ),
                (
                    "always_visible",
                    models.BooleanField(
                        default=False,
                        help_text="Pokazuj głosowanie na liście dostępnych niezależnie od daty",
                        verbose_name="zawsze pokazuj na liście",
                    ),
                ),
                ("start_date", models.DateTimeField(verbose_name="Czas rozpoczęcia")),
                ("end_date", models.DateTimeField(verbose_name="Czas zakończenia")),
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("updated_at", models.DateTimeField(auto_now=True)),
                (
                    "is_hybrid",
                    models.BooleanField(
                        default=False,
                        help_text="Aktywacja trybu hybrydowego pozwala na oznaczenie wydania karty oraz wporowadzenie głosów stacjonarnych do systemu.",
                        verbose_name="Tryb hybrydowy",
                    ),
                ),
                ("local_votes_entered", models.BooleanField(default=False)),
                (
                    "owner",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="owned_elections",
                        to=settings.AUTH_USER_MODEL,
                        verbose_name="Właściciel",
                    ),
                ),
            ],
            options={
                'verbose_name': 'głosowanie',
                'verbose_name_plural': 'głosowania',
                'permissions': [('can_print_cards', 'Może drukować karty papierowe')],
                'default_permissions': ['add'],
                "verbose_name": "głosowanie",
                "verbose_name_plural": "głosowania",
                "permissions": [("can_print_cards", "Może drukować karty papierowe")],
                "default_permissions": ["add"],
            },
        ),
        migrations.CreateModel(
            name='ElectionContributor',
            name="ElectionContributor",
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('can_view', models.BooleanField(default=True, verbose_name='wyświetlanie')),
                ('can_edit', models.BooleanField(default=False, verbose_name='edycja')),
                ('can_delete', models.BooleanField(default=False, verbose_name='usuwanie')),
                ('can_manage_permissions', models.BooleanField(default=False, help_text='Wymaga uprawnień do edycji', verbose_name='zarządzanie uprawnieniami')),
                ('can_view_stats', models.BooleanField(default=False, verbose_name='przeglądanie wyników')),
                ('can_issue_cards', models.BooleanField(default=False, verbose_name='wydawanie kart')),
                ('can_enter_local_votes', models.BooleanField(default=False, verbose_name='wprowadzanie głosów stacjonarnych')),
                ('election', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contributors', to='elections.election')),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='użytkownik')),
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "can_view",
                    models.BooleanField(default=True, verbose_name="wyświetlanie"),
                ),
                ("can_edit", models.BooleanField(default=False, verbose_name="edycja")),
                (
                    "can_delete",
                    models.BooleanField(default=False, verbose_name="usuwanie"),
                ),
                (
                    "can_manage_permissions",
                    models.BooleanField(
                        default=False,
                        help_text="Wymaga uprawnień do edycji",
                        verbose_name="zarządzanie uprawnieniami",
                    ),
                ),
                (
                    "can_view_stats",
                    models.BooleanField(
                        default=False, verbose_name="przeglądanie wyników"
                    ),
                ),
                (
                    "can_issue_cards",
                    models.BooleanField(default=False, verbose_name="wydawanie kart"),
                ),
                (
                    "can_enter_local_votes",
                    models.BooleanField(
                        default=False, verbose_name="wprowadzanie głosów stacjonarnych"
                    ),
                ),
                (
                    "election",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="contributors",
                        to="elections.election",
                    ),
                ),
                (
                    "user",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        to=settings.AUTH_USER_MODEL,
                        verbose_name="użytkownik",
                    ),
                ),
            ],
            options={
                'verbose_name': 'Współpracownik',
                'verbose_name_plural': 'Współpracownicy',
                'default_permissions': (),
                'unique_together': {('election', 'user')},
                "verbose_name": "Współpracownik",
                "verbose_name_plural": "Współpracownicy",
                "default_permissions": (),
                "unique_together": {("election", "user")},
            },
        ),
        migrations.CreateModel(
            name='Option',
            name="Option",
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=64, verbose_name='nazwa')),
                ('votes', models.IntegerField(default=0)),
                ('election', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='options', to='elections.election', verbose_name='głosowanie')),
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.CharField(max_length=64, verbose_name="nazwa")),
                ("votes", models.IntegerField(default=0)),
                (
                    "election",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="options",
                        to="elections.election",
                        verbose_name="głosowanie",
                    ),
                ),
            ],
            options={
                'verbose_name': 'opcja',
                'verbose_name_plural': 'opcje',
                'default_permissions': (),
                'unique_together': {('name', 'election')},
                "verbose_name": "opcja",
                "verbose_name_plural": "opcje",
                "default_permissions": (),
                "unique_together": {("name", "election")},
            },
        ),
    ]
+16 −8
Changes for elections/models.py: 16 added lines, 8 removed lines.
Original line number Diff line number Diff line
from django.conf import settings
from django.core.exceptions import ValidationError
from django.db import models
from django.db import models, transaction
from django.db.models import F
from django.utils import timezone
from django.utils.text import slugify
from django.db import transaction
from django.db.models import F


class Election(models.Model):
    name = models.CharField(max_length=64, verbose_name="nazwa")
    description = models.TextField(blank=True, verbose_name="opis")

    paper_card_instruction = models.TextField(blank=True, verbose_name="instrukcja głosowania", help_text='Tekst, który tutaj wpiszesz zostanie dodany do kart papierowych sporządzonych przez system jako \'Instrukcja głosowania"')
    paper_card_instruction = models.TextField(
        blank=True,
        verbose_name="instrukcja głosowania",
        help_text="Tekst, który tutaj wpiszesz zostanie dodany do kart papierowych sporządzonych przez system jako 'Instrukcja głosowania\"",
    )

    allow_invalid = models.BooleanField(
        default=True, verbose_name="zezwalaj na głosy nieważne"
@@ -104,12 +107,17 @@ class Election(models.Model):

    def cast_vote(self, voter, choice, terminal=None):
        from vote.models import Participation

        with transaction.atomic():
            if choice == "invalid":
                type(self).objects.filter(pk=self.pk).update(invalid_votes=F('invalid_votes') + 1)
                self.refresh_from_db(fields=['invalid_votes'])
                type(self).objects.filter(pk=self.pk).update(
                    invalid_votes=F("invalid_votes") + 1
                )
                self.refresh_from_db(fields=["invalid_votes"])
            else:
                updated_count = Option.objects.filter(pk=choice).update(votes=F('votes') + 1)
                updated_count = Option.objects.filter(pk=choice).update(
                    votes=F("votes") + 1
                )
                if updated_count == 0:
                    raise Option.DoesNotExist("The selected option does not exist.")

@@ -117,7 +125,7 @@ class Election(models.Model):
                voter=voter,
                election=self,
                assigned_by=terminal.assigned_by if terminal else None,
                is_remote=(terminal is None)
                is_remote=(terminal is None),
            )

    class Meta:
+1 −1
Changes for home/apps.py: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -2,4 +2,4 @@ from django.apps import AppConfig


class HomeConfig(AppConfig):
    name = 'home'
    name = "home"
+1 −0
Changes for home/utils.py: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@ from django.utils import timezone

from pages.models import FooterLink


def get_base_context():
    return {
        "now": timezone.now(),
Loading