Intervention relations enhancements
* refactors model relation to compensation and payment by applying 1-n instead of n-n
This commit is contained in:
		
							parent
							
								
									eaa9c43afe
								
							
						
					
					
						commit
						b962e22c04
					
				@ -12,6 +12,7 @@ from django.utils import timezone
 | 
			
		||||
from django.utils.timezone import now
 | 
			
		||||
 | 
			
		||||
from compensation.settings import COMPENSATION_IDENTIFIER_LENGTH, COMPENSATION_IDENTIFIER_TEMPLATE
 | 
			
		||||
from intervention.models import Intervention
 | 
			
		||||
from konova.models import BaseObject, BaseResource, Geometry
 | 
			
		||||
from konova.utils.generators import generate_random_string
 | 
			
		||||
from organisation.models import Organisation
 | 
			
		||||
@ -29,6 +30,13 @@ class Payment(BaseResource):
 | 
			
		||||
        blank=True,
 | 
			
		||||
        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):
 | 
			
		||||
@ -81,6 +89,14 @@ class Compensation(BaseObject):
 | 
			
		||||
    geometry = models.ForeignKey(Geometry, null=True, blank=True, on_delete=models.SET_NULL)
 | 
			
		||||
    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 = models.ManyToManyField(User)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -11,7 +11,6 @@ from django.db import transaction
 | 
			
		||||
from django.utils import timezone
 | 
			
		||||
from django.utils.timezone import now
 | 
			
		||||
 | 
			
		||||
from compensation.models import Payment, Compensation
 | 
			
		||||
from intervention.settings import INTERVENTION_IDENTIFIER_LENGTH, INTERVENTION_IDENTIFIER_TEMPLATE
 | 
			
		||||
from konova.models import BaseObject, Geometry
 | 
			
		||||
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)
 | 
			
		||||
 | 
			
		||||
    # Compensation or payments, one-directional
 | 
			
		||||
    payments = models.ManyToManyField(Payment, related_name="+", blank=True)
 | 
			
		||||
    compensations = models.ManyToManyField(Compensation, related_name="+", blank=True)
 | 
			
		||||
    #payments = models.ManyToManyField(Payment, related_name="+", blank=True)
 | 
			
		||||
    #compensations = models.ManyToManyField(Compensation, related_name="+", blank=True)
 | 
			
		||||
 | 
			
		||||
    # Users having access on this object
 | 
			
		||||
    users = models.ManyToManyField(User)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user