Skip to content
Snippets Groups Projects
Commit 73cf3c6f authored by Tomáš Valenta's avatar Tomáš Valenta
Browse files

implementing new requirements - manytomany subtypes, multiple intent URLs, shared notes

parent f682e199
No related branches found
No related tags found
No related merge requests found
default_language_version: default_language_version:
python: python3.10 python: python3.11
exclude: snapshots/ exclude: snapshots/
repos: repos:
......
...@@ -222,12 +222,7 @@ class Contract(models.Model): ...@@ -222,12 +222,7 @@ class Contract(models.Model):
verbose_name="Typ", verbose_name="Typ",
) )
subtype = models.ForeignKey( subtype = models.ManyToManyField(ContractSubtype)
ContractSubtype,
on_delete=models.CASCADE,
related_name="contracts",
verbose_name="Podtyp",
)
contains_nda = models.BooleanField( contains_nda = models.BooleanField(
default=False, default=False,
...@@ -321,6 +316,12 @@ class Contract(models.Model): ...@@ -321,6 +316,12 @@ class Contract(models.Model):
) )
issues = models.ManyToManyField(ContractIssue) 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( summary = models.CharField(
max_length=65536, max_length=65536,
...@@ -356,13 +357,6 @@ class Contract(models.Model): ...@@ -356,13 +357,6 @@ class Contract(models.Model):
expected_cost_hour = models.IntegerField(verbose_name="Očekáváná cena za hodinu") 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( agreement_url = models.URLField(
max_length=256, max_length=256,
blank=True, blank=True,
...@@ -384,28 +378,20 @@ class Contract(models.Model): ...@@ -384,28 +378,20 @@ class Contract(models.Model):
verbose_name_plural = "Smlouvy" verbose_name_plural = "Smlouvy"
class ContractNote(models.Model): class ContractIntent(models.Model):
contract = models.ForeignKey( url = models.URLField(
Contract, max_length=256,
on_delete=models.CASCADE, blank=True,
related_name="contract", null=True,
verbose_name="Odkaz",
) )
author = models.ForeignKey( contract = models.ForeignKey(
User, Contract,
related_name="contract_notes",
on_delete=models.CASCADE, on_delete=models.CASCADE,
verbose_name="Autor", related_name="intents",
)
created_date = models.DateTimeField(
verbose_name="Datum vytvoření",
)
content = MarkdownxField(
verbose_name="Obsah",
) )
class Meta: class Meta:
verbose_name = "Poznámka ke smlouvě" verbose_name = "Záměr"
verbose_name_plural = "Poznámky ke smlouvě" verbose_name_plural = "Záměry"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment