diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7d3057fa75ee8477355149d9a72eacfbb5732210..1cdf3153d66622f0e9b4498a4edee12b6aef0447 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 983443896025937e8c3bd3342c0689002a51bd0d..0a6098fcf4dc62138b9cc9716238df89667b8d3c 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"