Merge branch 'master' into 132_Old_entries

# Conflicts:
#	konova/management/commands/update_all_parcels.py
#	konova/urls.py
#	user/admin.py
This commit is contained in:
2022-06-01 13:12:35 +02:00
160 changed files with 62451 additions and 794 deletions

View File

@@ -8,6 +8,8 @@ Created on: 16.11.21
import shutil
from django.contrib import messages
from codelist.models import KonovaCode
from user.models import User, Team
from django.db import models, transaction
from django.db.models import QuerySet, Sum
@@ -142,8 +144,10 @@ class AbstractCompensation(BaseObject, GeoReferencedMixin):
"""
form_data = form.cleaned_data
with transaction.atomic():
biotope_type_id = form_data["biotope_type"]
code = KonovaCode.objects.get(id=biotope_type_id)
state = CompensationState.objects.create(
biotope_type=form_data["biotope_type"],
biotope_type=code,
surface=form_data["surface"],
)
state_additional_types = form_data["biotope_extra"]
@@ -253,7 +257,22 @@ class CoherenceMixin(models.Model):
abstract = True
class Compensation(AbstractCompensation, CEFMixin, CoherenceMixin):
class PikMixin(models.Model):
""" Provides PIK flag as Mixin
"""
is_pik = models.BooleanField(
blank=True,
null=True,
default=False,
help_text="Flag if compensation is a 'Produktonsintegrierte Kompensation'"
)
class Meta:
abstract = True
class Compensation(AbstractCompensation, CEFMixin, CoherenceMixin, PikMixin):
"""
Regular compensation, linked to an intervention
"""
@@ -418,6 +437,18 @@ class Compensation(AbstractCompensation, CEFMixin, CoherenceMixin):
super().set_status_messages(request)
return request
@property
def is_recorded(self):
""" Getter for record status as property
Since compensations inherit their record status from their intervention, the intervention's status is being
returned
Returns:
"""
return self.intervention.is_recorded
class CompensationDocument(AbstractDocument):
"""

View File

@@ -17,14 +17,13 @@ from django.db.models import Sum, QuerySet
from django.utils.translation import gettext_lazy as _
from compensation.managers import EcoAccountManager, EcoAccountDeductionManager
from compensation.models.compensation import AbstractCompensation
from compensation.models.compensation import AbstractCompensation, PikMixin
from compensation.utils.quality import EcoAccountQualityChecker
from konova.models import ShareableObjectMixin, RecordableObjectMixin, AbstractDocument, BaseResource, \
generate_document_file_upload_path
from konova.settings import DEFAULT_SRID_RLP, LANIS_LINK_TEMPLATE
class EcoAccount(AbstractCompensation, ShareableObjectMixin, RecordableObjectMixin):
class EcoAccount(AbstractCompensation, ShareableObjectMixin, RecordableObjectMixin, PikMixin):
"""
An eco account is a kind of 'prepaid' compensation. It can be compared to an account that already has been filled
with some kind of currency. From this account one is able to deduct currency for current projects.