Skip to content
Snippets Groups Projects
Commit 5d70ec4a authored by Alexa Valentová's avatar Alexa Valentová
Browse files

Merge branch 'master' of gitlab.pirati.cz:/to/contract-registry into test

parents e9794d54 bbaeb3fb
No related branches found
No related tags found
No related merge requests found
Pipeline #20738 passed
......@@ -119,6 +119,7 @@ class ContractFileAdmin(
ParentContractApprovedPermissionsMixin,
ParentContractOwnPermissionsMixin,
):
exclude = ("is_auto_imported",)
form = ContractFileAdminForm
......@@ -186,6 +187,7 @@ class ContracteeSignatureRepresentativeInline(
class ContracteeSignatureInline(ParentContractInlineMixin, NestedStackedInline):
model = ContracteeSignature
autocomplete_fields = ("contractee",)
exclude = ("is_auto_imported",)
inlines = (ContracteeSignatureRepresentativeInline,)
extra = 0
......@@ -216,12 +218,14 @@ class SigneeSignatureRepresentativeInline(
class SigneeSignatureInline(ParentContractInlineMixin, NestedStackedInline):
model = SigneeSignature
autocomplete_fields = ("signee",)
exclude = ("is_auto_imported",)
inlines = (SigneeSignatureRepresentativeInline,)
extra = 0
class ContractFileInline(ParentContractInlineMixin, NestedTabularInline):
model = ContractFile
exclude = ("is_auto_imported",)
form = ContractFileAdminForm
extra = 0
......@@ -669,16 +673,19 @@ class ContractAdmin(
class ContractTypeAdmin(MarkdownxGuardedModelAdmin):
model = ContractType
exclude = ("is_auto_imported",)
search_fields = ("name",)
class ContractIssueAdmin(MarkdownxGuardedModelAdmin):
model = ContractIssue
exclude = ("is_auto_imported",)
search_fields = ("name",)
class ContractFilingAreaAdmin(MarkdownxGuardedModelAdmin):
model = ContractFilingArea
exclude = ("is_auto_imported",)
search_fields = (
"name",
"person_responsible",
......
......@@ -86,7 +86,7 @@ class Command(BaseCommand):
issue.delete()
else:
issue = ContractIssue(name=name)
issue = ContractIssue(name=name, is_auto_imported=True)
issue.save()
return issue
......@@ -172,18 +172,18 @@ class Command(BaseCommand):
patterns = (
(r"\s\s+", " "),
(r"^Kraské sdružení Praha$", "Krajské sdružení Praha"),
(r"^Kraské sdružení Praha$", "KS Praha"),
(r"^republikové předsednictvo$", "Republikové předsednictvo"),
(r"^KS ", "Krajské sdružení "),
(r"^(MS |místní sdružení )", "Místní sdružení "),
(r"^(Ústecký kraj|Ustecký kraj)$", "Krajské sdružení Ústecký kraj"),
(r"^KS ", "KS "),
(r"^(MS |místní sdružení )", "MS "),
(r"^(Ústecký kraj|Ustecký kraj)$", "KS Ústecký kraj"),
(
r"^Moravskoslezský kraj$",
"Krajské sdružení Moravskoslezský kraj",
"KS Moravskoslezský kraj",
),
(
r"^Karlovarský kraj$",
"Krajské sdružení Karlovarský kraj",
"KS Karlovarský kraj",
),
(
r"Jihočeská kraj",
......@@ -208,21 +208,23 @@ class Command(BaseCommand):
(r"olomoucký", "Olomoucký"),
(r"^místní ", "Místní "),
(r"^celostátní ", "Celostátní "),
(r"odbor", "Odbor"),
(r"(o|O)dbor", "odbor"),
(r"PKS", "Předsednictvo krajského sdružení"),
(r"( KS | Krajského sdružení )", " krajského sdružení "),
(
r"^(Předsednictvo krajského sdružení |Předsednictvo |Místní předsednictvo )",
"",
),
(r"^Krajské předsednictvo ", "Krajské sdružení "),
(r"^Krajské předsednictvo", "KS"),
(r"ého kraje$", "ý kraj"),
(r"^Olomouc$", "Místní sdružení Olomouc"),
(r"^Olomoucký kraj$", "Krajské sdružení Olomoucký kraj"),
(r"^Pardubický kraj$", "Krajské sdružení Pardubický kraj"),
(r"^Jihočeský kraj$", "Krajské sdružení Jihočeský kraj"),
(r"^Královehradecký kraj$", "Krajské sdružení Královehradecký kraj"),
(r"^Pardubický kraj$", "Krajské sdružení Pardubický kraj"),
(r"^Olomouc$", "MS Olomouc"),
(r"^Olomoucký kraj$", "KS Olomoucký kraj"),
(r"^Pardubický kraj$", "KS Pardubický kraj"),
(r"^Jihočeský kraj$", "KS Jihočeský kraj"),
(r"^Královehradecký kraj$", "KS Královehradecký kraj"),
(r"^Pardubický kraj$", "KS Pardubický kraj"),
(r"^Krajské sdružení", "KS"),
(r"^Místní sdružení", "MS"),
)
for pattern in patterns:
......@@ -376,7 +378,7 @@ class Command(BaseCommand):
def assign_signing_party_metadata(
self, slug: str, contract: Contract, signing_party: dict
) -> tuple[
Contract | Signee,
Contractee | Signee,
list[ContractIssue],
list[ContracteeSignatureRepresentative | SigneeSignatureRepresentative],
bool,
......@@ -631,12 +633,14 @@ class Command(BaseCommand):
):
model = Contractee
representative_model = ContracteeSignatureRepresentative
instance = model()
instance = model(is_auto_imported=True)
is_contractee = True
else:
model = Signee
representative_model = SigneeSignatureRepresentative
instance = model(name=name, address_country="Česká republika")
instance = model(
name=name, is_auto_imported=True, address_country="Česká republika"
)
if model is Signee:
if (
......@@ -1083,7 +1087,9 @@ class Command(BaseCommand):
try:
type_instance = ContractType.objects.get(name=value)
except ContractType.DoesNotExist:
type_instance = ContractType(name=value)
type_instance = ContractType(
is_auto_imported=True, name=value
)
types.append(type_instance)
......@@ -1232,6 +1238,7 @@ class Command(BaseCommand):
except ContractFilingArea.DoesNotExist:
if isinstance(value, str) and not value.startswith("Neznám"):
filing_area = ContractFilingArea(
is_auto_imported=True,
name=value,
person_responsible="Doplň osobu!",
)
......@@ -1385,6 +1392,7 @@ class Command(BaseCommand):
with open(file_path, "rb") as open_file:
self.normalization_count += 1
file = ContractFile(
is_auto_imported=True,
contract=contract,
name=self.normalize_filename(file_key),
is_public=True,
......@@ -1428,6 +1436,7 @@ class Command(BaseCommand):
contractee.save()
signature = ContracteeSignature(
is_auto_imported=True,
contract=contract,
contractee=contractee,
date=contract.valid_start_date,
......@@ -1445,6 +1454,7 @@ class Command(BaseCommand):
signee.save()
signature = SigneeSignature(
is_auto_imported=True,
contract=contract,
signee=signee,
date=contract.valid_start_date,
......@@ -1471,7 +1481,7 @@ class Command(BaseCommand):
def import_contract_from_files(
self, contract_root: str, files: list[str], valid_start_date: datetime
) -> None:
contract = Contract(notes="")
contract = Contract(is_auto_imported=True, notes="")
for file_ in files:
with open(
......@@ -1635,7 +1645,7 @@ class Command(BaseCommand):
Signee,
SigneeSignature,
):
model.objects.filter().delete()
model.objects.filter(is_auto_imported=True).delete()
if self.verbosity >= 1:
self.stdout.write(self.style.SUCCESS("Deleted all previous records."))
......
# Generated by Django 5.1.1 on 2024-09-26 12:49
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("contracts", "0071_signeehistoricalname"),
]
operations = [
migrations.AlterModelOptions(
name="signeehistoricalname",
options={
"verbose_name": "Historické jméno smluvní strany",
"verbose_name_plural": "Historická jména smluvní strany",
},
),
migrations.AddField(
model_name="contract",
name="is_auto_imported",
field=models.BooleanField(
default=False, verbose_name="Je automaticky importovaná"
),
),
migrations.AddField(
model_name="contractee",
name="is_auto_imported",
field=models.BooleanField(
default=False, verbose_name="Je automaticky importovaná"
),
),
migrations.AddField(
model_name="contracteesignature",
name="is_auto_imported",
field=models.BooleanField(
default=False, verbose_name="Je automaticky importovaná"
),
),
migrations.AddField(
model_name="contractfile",
name="is_auto_imported",
field=models.BooleanField(
default=False, verbose_name="Je automaticky importovaná"
),
),
migrations.AddField(
model_name="contractfilingarea",
name="is_auto_imported",
field=models.BooleanField(
default=False, verbose_name="Je automaticky importovaná"
),
),
migrations.AddField(
model_name="contractissue",
name="is_auto_imported",
field=models.BooleanField(
default=False, verbose_name="Je automaticky importovaná"
),
),
migrations.AddField(
model_name="contracttype",
name="is_auto_imported",
field=models.BooleanField(
default=False, verbose_name="Je automaticky importovaná"
),
),
migrations.AddField(
model_name="signee",
name="is_auto_imported",
field=models.BooleanField(
default=False, verbose_name="Je automaticky importovaná"
),
),
migrations.AddField(
model_name="signeesignature",
name="is_auto_imported",
field=models.BooleanField(
default=False, verbose_name="Je automaticky importovaná"
),
),
]
......@@ -121,6 +121,11 @@ class Signee(
InlineNameMixin,
models.Model,
):
is_auto_imported = models.BooleanField(
"Je automaticky importovaná",
default=False,
)
name = models.CharField(
max_length=256,
verbose_name="Jméno",
......@@ -338,6 +343,11 @@ class Contractee(
InlineNameMixin,
models.Model,
):
is_auto_imported = models.BooleanField(
"Je automaticky importovaná",
default=False,
)
name = models.CharField(
max_length=256,
default=get_default_contractee_name,
......@@ -414,6 +424,11 @@ class Contractee(
class ContractType(ContractCountMixin, NameStrMixin, models.Model):
is_auto_imported = models.BooleanField(
"Je automaticky importovaná",
default=False,
)
name = models.CharField(
max_length=256,
verbose_name="Jméno",
......@@ -433,6 +448,11 @@ class ContractType(ContractCountMixin, NameStrMixin, models.Model):
class ContractIssue(ContractCountMixin, NameStrMixin, models.Model):
is_auto_imported = models.BooleanField(
"Je automaticky importovaná",
default=False,
)
name = models.CharField(
max_length=256,
verbose_name="Jméno",
......@@ -452,6 +472,11 @@ class ContractIssue(ContractCountMixin, NameStrMixin, models.Model):
class ContractFilingArea(ContractCountMixin, NameStrMixin, models.Model):
is_auto_imported = models.BooleanField(
"Je automaticky importovaná",
default=False,
)
name = models.CharField(
max_length=256,
verbose_name="Jméno",
......@@ -486,6 +511,11 @@ get_created_on_timestamp = get_current_utc_timestamp
class Contract(NameStrMixin, models.Model):
# BEGIN Automatically set fields
is_auto_imported = models.BooleanField(
"Je automaticky importovaná",
default=False,
)
created_by = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.SET_NULL,
......@@ -952,6 +982,11 @@ class ContractFileField(models.FileField):
class ContractFile(NameStrMixin, models.Model):
is_auto_imported = models.BooleanField(
"Je automaticky importovaná",
default=False,
)
name = models.CharField(
max_length=256,
verbose_name="Jméno",
......@@ -988,6 +1023,11 @@ class ContractFile(NameStrMixin, models.Model):
class ContracteeSignature(models.Model):
is_auto_imported = models.BooleanField(
"Je automaticky importovaná",
default=False,
)
contractee = models.ForeignKey(
Contractee,
on_delete=models.CASCADE,
......@@ -1028,6 +1068,11 @@ class ContracteeSignature(models.Model):
class SigneeSignature(models.Model):
is_auto_imported = models.BooleanField(
"Je automaticky importovaná",
default=False,
)
signee = models.ForeignKey(
Signee,
on_delete=models.CASCADE,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment