Compare commits
No commits in common. "89c83f8a559dff5fc165f23707fa4ce49c9027dc" and "78868be7729d907baea5fec61996ffa57330a03e" have entirely different histories.
89c83f8a55
...
78868be772
@ -52,6 +52,7 @@ class Command(BaseKonovaCommand):
|
|||||||
self.__ema = Ema.objects.filter(**_filter)
|
self.__ema = Ema.objects.filter(**_filter)
|
||||||
|
|
||||||
def perform_quality_check(self):
|
def perform_quality_check(self):
|
||||||
|
# Interventions
|
||||||
_runs = [
|
_runs = [
|
||||||
(self.__interventions, InterventionQualityChecker),
|
(self.__interventions, InterventionQualityChecker),
|
||||||
(self.__compensations, CompensationQualityChecker),
|
(self.__compensations, CompensationQualityChecker),
|
||||||
|
@ -1,66 +0,0 @@
|
|||||||
"""
|
|
||||||
Author: Michel Peltriaux
|
|
||||||
Organization: Struktur- und Genehmigungsdirektion Nord, Rhineland-Palatinate, Germany
|
|
||||||
Contact: ksp-servicestelle@sgdnord.rlp.de
|
|
||||||
Created on: 16.02.23
|
|
||||||
|
|
||||||
"""
|
|
||||||
from compensation.models import Compensation, EcoAccount
|
|
||||||
from compensation.utils.quality import CompensationQualityChecker, EcoAccountQualityChecker
|
|
||||||
from ema.models import Ema
|
|
||||||
from ema.utils.quality import EmaQualityChecker
|
|
||||||
from intervention.models import Intervention
|
|
||||||
from intervention.utils.quality import InterventionQualityChecker
|
|
||||||
from konova.management.commands.setup import BaseKonovaCommand
|
|
||||||
from user.models import User
|
|
||||||
|
|
||||||
|
|
||||||
class Command(BaseKonovaCommand):
|
|
||||||
help = "Runs quality check on recorded entries"
|
|
||||||
|
|
||||||
__interventions = []
|
|
||||||
__compensations = []
|
|
||||||
__ecoaccount = []
|
|
||||||
__ema = []
|
|
||||||
|
|
||||||
def handle(self, *args, **options):
|
|
||||||
self.__get_objects()
|
|
||||||
self.perform_quality_check()
|
|
||||||
|
|
||||||
def __get_objects(self):
|
|
||||||
_filter = {
|
|
||||||
"recorded_id__isnull": False,
|
|
||||||
}
|
|
||||||
self.__interventions = Intervention.objects.filter(**_filter)
|
|
||||||
self.__compensations = Compensation.objects.filter(
|
|
||||||
intervention__recorded_id__isnull=False
|
|
||||||
)
|
|
||||||
self.__ecoaccount = EcoAccount.objects.filter(**_filter)
|
|
||||||
self.__ema = Ema.objects.filter(**_filter)
|
|
||||||
|
|
||||||
def perform_quality_check(self):
|
|
||||||
""" Performs quality check and unrecords failing entries
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
_runs = [
|
|
||||||
#(self.__interventions, InterventionQualityChecker),
|
|
||||||
(self.__compensations, CompensationQualityChecker),
|
|
||||||
#(self.__ecoaccount, EcoAccountQualityChecker),
|
|
||||||
#(self.__ema, EmaQualityChecker),
|
|
||||||
]
|
|
||||||
invalid_entries = set()
|
|
||||||
admin_user = User.objects.get(
|
|
||||||
username="kspRoot"
|
|
||||||
)
|
|
||||||
for run in _runs:
|
|
||||||
entries = run[0]
|
|
||||||
CheckerClass = run[1]
|
|
||||||
for entry in entries:
|
|
||||||
checker = CheckerClass(entry)
|
|
||||||
checker.run_check()
|
|
||||||
if not checker.valid and CheckerClass is CompensationQualityChecker:
|
|
||||||
invalid_entries.add(entry.intervention)
|
|
||||||
for e in invalid_entries:
|
|
||||||
e.set_unrecorded(user=admin_user)
|
|
||||||
self._write_warning(e.identifier)
|
|
Loading…
Reference in New Issue
Block a user