"""
Author: Michel Peltriaux
Organization: Struktur- und Genehmigungsdirektion Nord, Rhineland-Palatinate, Germany
Contact: michel.peltriaux@sgdnord.rlp.de
Created on: 14.10.21

"""
from django.db import models


class InterventionManager(models.Manager):
    """ Holds default db fetch setting for this model type

    """
    def get_queryset(self):
        return super().get_queryset().select_related(
            "recorded",
            "recorded__user",
            "modified",
            "modified__user",
            "checked",
            "checked__user",
        ).prefetch_related(
            "users",
        )


class LegalDataManager(models.Manager):
    """ Holds default db fetch setting for this model type

    """
    def get_queryset(self):
        return super().get_querset().select_related(
            "process_type",
        ).prefetch_related(
            "laws"
        )


class ResponsibilityDataManager(models.Manager):
    """ Holds default db fetch setting for this model type

    """
    def get_queryset(self):
        return super().get_querset().select_related(
            "registration_office",
            "conservation_office",
        )