Intervention relations enhancements
* refactors model relation to compensation and payment by applying 1-n instead of n-n
This commit is contained in:
parent
82be1511db
commit
d618c1c14a
@ -12,6 +12,7 @@ from django.utils import timezone
|
|||||||
from django.utils.timezone import now
|
from django.utils.timezone import now
|
||||||
|
|
||||||
from compensation.settings import COMPENSATION_IDENTIFIER_LENGTH, COMPENSATION_IDENTIFIER_TEMPLATE
|
from compensation.settings import COMPENSATION_IDENTIFIER_LENGTH, COMPENSATION_IDENTIFIER_TEMPLATE
|
||||||
|
from intervention.models import Intervention
|
||||||
from konova.models import BaseObject, BaseResource, Geometry
|
from konova.models import BaseObject, BaseResource, Geometry
|
||||||
from konova.utils.generators import generate_random_string
|
from konova.utils.generators import generate_random_string
|
||||||
from organisation.models import Organisation
|
from organisation.models import Organisation
|
||||||
@ -29,6 +30,13 @@ class Payment(BaseResource):
|
|||||||
blank=True,
|
blank=True,
|
||||||
help_text="Refers to german money transfer 'Verwendungszweck'",
|
help_text="Refers to german money transfer 'Verwendungszweck'",
|
||||||
)
|
)
|
||||||
|
intervention = models.ForeignKey(
|
||||||
|
Intervention,
|
||||||
|
null=True,
|
||||||
|
blank=True,
|
||||||
|
on_delete=models.CASCADE,
|
||||||
|
related_name='payments'
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class CompensationControl(BaseResource):
|
class CompensationControl(BaseResource):
|
||||||
@ -81,6 +89,14 @@ class Compensation(BaseObject):
|
|||||||
geometry = models.ForeignKey(Geometry, null=True, blank=True, on_delete=models.SET_NULL)
|
geometry = models.ForeignKey(Geometry, null=True, blank=True, on_delete=models.SET_NULL)
|
||||||
documents = models.ManyToManyField("konova.Document", blank=True)
|
documents = models.ManyToManyField("konova.Document", blank=True)
|
||||||
|
|
||||||
|
intervention = models.ForeignKey(
|
||||||
|
Intervention,
|
||||||
|
on_delete=models.CASCADE,
|
||||||
|
null=True,
|
||||||
|
blank=True,
|
||||||
|
related_name='compensations'
|
||||||
|
)
|
||||||
|
|
||||||
# Users having access on this object
|
# Users having access on this object
|
||||||
users = models.ManyToManyField(User)
|
users = models.ManyToManyField(User)
|
||||||
|
|
||||||
|
@ -11,7 +11,6 @@ from django.db import transaction
|
|||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from django.utils.timezone import now
|
from django.utils.timezone import now
|
||||||
|
|
||||||
from compensation.models import Payment, Compensation
|
|
||||||
from intervention.settings import INTERVENTION_IDENTIFIER_LENGTH, INTERVENTION_IDENTIFIER_TEMPLATE
|
from intervention.settings import INTERVENTION_IDENTIFIER_LENGTH, INTERVENTION_IDENTIFIER_TEMPLATE
|
||||||
from konova.models import BaseObject, Geometry
|
from konova.models import BaseObject, Geometry
|
||||||
from konova.utils.generators import generate_random_string
|
from konova.utils.generators import generate_random_string
|
||||||
@ -51,8 +50,8 @@ class Intervention(BaseObject):
|
|||||||
next_version = models.ForeignKey("Intervention", null=True, blank=True, on_delete=models.DO_NOTHING)
|
next_version = models.ForeignKey("Intervention", null=True, blank=True, on_delete=models.DO_NOTHING)
|
||||||
|
|
||||||
# Compensation or payments, one-directional
|
# Compensation or payments, one-directional
|
||||||
payments = models.ManyToManyField(Payment, related_name="+", blank=True)
|
#payments = models.ManyToManyField(Payment, related_name="+", blank=True)
|
||||||
compensations = models.ManyToManyField(Compensation, related_name="+", blank=True)
|
#compensations = models.ManyToManyField(Compensation, related_name="+", blank=True)
|
||||||
|
|
||||||
# Users having access on this object
|
# Users having access on this object
|
||||||
users = models.ManyToManyField(User)
|
users = models.ManyToManyField(User)
|
||||||
|
Loading…
Reference in New Issue
Block a user