Skip to content

Commit

Permalink
Zapisuj autorow z dyscypliny
Browse files Browse the repository at this point in the history
  • Loading branch information
mpasternak committed Mar 15, 2020
1 parent 99d4173 commit 6d3f26a
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 25 deletions.
28 changes: 28 additions & 0 deletions src/bpp/migrations/0203_auto_20200315_2021.py
@@ -0,0 +1,28 @@
# Generated by Django 2.2.10 on 2020-03-15 19:21

from django.db import migrations, models

import django.contrib.postgres.fields


class Migration(migrations.Migration):

dependencies = [
("bpp", "0202_auto_20200308_2204"),
]

operations = [
migrations.RemoveField(
model_name="cache_punktacja_dyscypliny", name="zapisani_wszyscy_autorzy",
),
migrations.AddField(
model_name="cache_punktacja_dyscypliny",
name="autorzy_z_dyscypliny",
field=django.contrib.postgres.fields.ArrayField(
base_field=models.PositiveIntegerField(),
blank=True,
null=True,
size=None,
),
),
]
21 changes: 12 additions & 9 deletions src/bpp/models/cache.py
Expand Up @@ -14,6 +14,14 @@
from django.db.models.lookups import In
from django.db.models.signals import post_delete, post_save, pre_delete, pre_save

from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType
from django.contrib.postgres.fields.array import ArrayField
from django.contrib.postgres.search import SearchVectorField as VectorField

from django.utils import six
from django.utils.functional import cached_property

from bpp.models import (
Autor,
Dyscyplina_Naukowa,
Expand Down Expand Up @@ -45,14 +53,6 @@
from bpp.models.util import ModelZOpisemBibliograficznym
from bpp.util import FulltextSearchMixin

from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType
from django.contrib.postgres.fields.array import ArrayField
from django.contrib.postgres.search import SearchVectorField as VectorField

from django.utils import six
from django.utils.functional import cached_property

# zmiana CACHED_MODELS powoduje zmiane opisu bibliograficznego wszystkich rekordow
CACHED_MODELS = [
Wydawnictwo_Ciagle,
Expand Down Expand Up @@ -590,10 +590,13 @@ class Cache_Punktacja_Dyscypliny(models.Model):
dyscyplina = ForeignKey(Dyscyplina_Naukowa, CASCADE)
pkd = models.DecimalField(max_digits=20, decimal_places=4)
slot = models.DecimalField(max_digits=20, decimal_places=4)

autorzy_z_dyscypliny = ArrayField(
models.PositiveIntegerField(), blank=True, null=True
)
zapisani_autorzy_z_dyscypliny = ArrayField(
models.TextField(), blank=True, null=True
)
zapisani_wszyscy_autorzy = ArrayField(models.TextField(), blank=True, null=True)

class Meta:
ordering = ("dyscyplina__nazwa",)
Expand Down
28 changes: 12 additions & 16 deletions src/bpp/models/sloty/core.py
@@ -1,4 +1,13 @@
from django.db import transaction
from .exceptions import CannotAdapt
from .wydawnictwo_ciagle import (
SlotKalkulator_Wydawnictwo_Ciagle_Prog1,
SlotKalkulator_Wydawnictwo_Ciagle_Prog2,
)

from django.contrib.contenttypes.models import ContentType

from django.utils.functional import cached_property

from bpp.models import Typ_Odpowiedzialnosci, const
from bpp.models.cache import Cache_Punktacja_Autora, Cache_Punktacja_Dyscypliny
Expand All @@ -11,15 +20,6 @@
)
from bpp.models.wydawnictwo_ciagle import Wydawnictwo_Ciagle
from bpp.models.wydawnictwo_zwarte import Wydawnictwo_Zwarte
from .exceptions import CannotAdapt
from .wydawnictwo_ciagle import (
SlotKalkulator_Wydawnictwo_Ciagle_Prog1,
SlotKalkulator_Wydawnictwo_Ciagle_Prog2,
)

from django.contrib.contenttypes.models import ContentType

from django.utils.functional import cached_property


def ISlot(original):
Expand Down Expand Up @@ -198,18 +198,14 @@ def rebuildEntries(self):

for dyscyplina in self.slot.dyscypliny:
_slot_cache[dyscyplina] = self.slot.slot_dla_dyscypliny(dyscyplina)
azd = self.slot.autorzy_z_dyscypliny(dyscyplina)
Cache_Punktacja_Dyscypliny.objects.create(
rekord_id=[pk[0], pk[1]],
dyscyplina=dyscyplina,
pkd=self.slot.punkty_pkd(dyscyplina),
slot=_slot_cache[dyscyplina],
zapisani_autorzy_z_dyscypliny=[
azd.zapisany_jako
for azd in self.slot.autorzy_z_dyscypliny(dyscyplina)
],
zapisani_wszyscy_autorzy=[
w.zapisany_jako for w in self.slot.original.autorzy_set.all()
],
autorzy_z_dyscypliny=[a.pk for a in azd],
zapisani_autorzy_z_dyscypliny=[a.zapisany_jako for a in azd],
)

for wa in self.original.autorzy_set.all():
Expand Down

0 comments on commit 6d3f26a

Please sign in to comment.