From 73cf3c6fce232a1106b23d4595d6c43c19927b18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Valenta?= <git@imaniti.org> Date: Sat, 11 Feb 2023 13:44:29 +0900 Subject: [PATCH] implementing new requirements - manytomany subtypes, multiple intent URLs, shared notes --- .pre-commit-config.yaml | 2 +- contracts/models.py | 50 +++++++++++++++-------------------------- 2 files changed, 19 insertions(+), 33 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7d3057f..1cdf315 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,5 +1,5 @@ default_language_version: - python: python3.10 + python: python3.11 exclude: snapshots/ repos: diff --git a/contracts/models.py b/contracts/models.py index 9834438..0a6098f 100644 --- a/contracts/models.py +++ b/contracts/models.py @@ -222,12 +222,7 @@ class Contract(models.Model): verbose_name="Typ", ) - subtype = models.ForeignKey( - ContractSubtype, - on_delete=models.CASCADE, - related_name="contracts", - verbose_name="Podtyp", - ) + subtype = models.ManyToManyField(ContractSubtype) contains_nda = models.BooleanField( default=False, @@ -321,6 +316,12 @@ class Contract(models.Model): ) issues = models.ManyToManyField(ContractIssue) + notes = MarkdownxField( + blank=True, + null=True, + verbose_name="Obsah", + help_text="Poznámky jsou viditelné pro všechny, kteří mohou smlouvu spravovat.", + ) summary = models.CharField( max_length=65536, @@ -356,13 +357,6 @@ class Contract(models.Model): expected_cost_hour = models.IntegerField(verbose_name="Očekáváná cena za hodinu") - intent_url = models.URLField( - max_length=256, - blank=True, - null=True, - verbose_name="Odkaz na záměr", - ) - agreement_url = models.URLField( max_length=256, blank=True, @@ -384,28 +378,20 @@ class Contract(models.Model): verbose_name_plural = "Smlouvy" -class ContractNote(models.Model): - contract = models.ForeignKey( - Contract, - on_delete=models.CASCADE, - related_name="contract", +class ContractIntent(models.Model): + url = models.URLField( + max_length=256, + blank=True, + null=True, + verbose_name="Odkaz", ) - author = models.ForeignKey( - User, - related_name="contract_notes", + contract = models.ForeignKey( + Contract, on_delete=models.CASCADE, - verbose_name="Autor", - ) - - created_date = models.DateTimeField( - verbose_name="Datum vytvoření", - ) - - content = MarkdownxField( - verbose_name="Obsah", + related_name="intents", ) class Meta: - verbose_name = "Poznámka ke smlouvě" - verbose_name_plural = "Poznámky ke smlouvě" + verbose_name = "Záměr" + verbose_name_plural = "Záměry" -- GitLab