update
This commit is contained in:
@@ -9,14 +9,11 @@ from core.apps.evaluation.choices.auto import (
|
||||
AutoEvaluationStatus,
|
||||
AutoObjectType,
|
||||
# FormOwnership,
|
||||
LocationConvenience,
|
||||
LocationHighways,
|
||||
ObjectOwnerType,
|
||||
# PropertyRights,
|
||||
# RateType,
|
||||
# ValueDetermined,
|
||||
)
|
||||
|
||||
from .valuation import ValuationModel
|
||||
from .vehicle import VehicleModel
|
||||
|
||||
@@ -244,8 +241,6 @@ class AutoEvaluationModel(AbstractBaseModel):
|
||||
default=False,
|
||||
)
|
||||
|
||||
|
||||
|
||||
def __str__(self):
|
||||
return f"Auto Evaluation {self.registration_number or self.pk}"
|
||||
|
||||
|
||||
38
core/apps/evaluation/models/bonus.py
Normal file
38
core/apps/evaluation/models/bonus.py
Normal file
@@ -0,0 +1,38 @@
|
||||
from django.db import models
|
||||
from django.db.models.fields import PositiveIntegerField
|
||||
from django_core.models import AbstractBaseModel
|
||||
|
||||
from core.apps.evaluation.choices.bonus import EvaluationCategory
|
||||
|
||||
|
||||
class BaseValueBonus(AbstractBaseModel):
|
||||
base_price = models.DecimalField(max_digits=12, decimal_places=2)
|
||||
|
||||
def __str__(self):
|
||||
return f"Base: {self.base_price}"
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.pk and BaseValueBonus.objects.exists():
|
||||
raise ValueError("Value Bonus already exists")
|
||||
return super().save(*args, **kwargs)
|
||||
|
||||
|
||||
class BonusType(AbstractBaseModel):
|
||||
name = models.CharField(max_length=255)
|
||||
category = models.CharField(
|
||||
max_length=50,
|
||||
choices=EvaluationCategory.choices
|
||||
)
|
||||
percentage = PositiveIntegerField()
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
|
||||
class EmployeeBonus(AbstractBaseModel):
|
||||
user = models.ForeignKey("accounts.User", on_delete=models.CASCADE, related_name="bonuses", )
|
||||
bonus_type = models.ForeignKey(BonusType, on_delete=models.CASCADE)
|
||||
percentage = models.PositiveIntegerField()
|
||||
|
||||
class Meta:
|
||||
unique_together = ("user", "bonus_type")
|
||||
@@ -3,12 +3,11 @@ from django.utils.translation import gettext_lazy as _
|
||||
from django_core.models import AbstractBaseModel
|
||||
from model_bakery import baker
|
||||
|
||||
|
||||
from .valuation import ValuationModel
|
||||
from core.apps.evaluation.choices.movable import (
|
||||
MovablePropertyCategory,
|
||||
MovablePropertyCondition,
|
||||
)
|
||||
from .valuation import ValuationModel
|
||||
|
||||
|
||||
class MovablePropertyEvaluationModel(AbstractBaseModel):
|
||||
@@ -51,4 +50,3 @@ class MovablePropertyEvaluationModel(AbstractBaseModel):
|
||||
db_table = "MovablePropertyEvaluation"
|
||||
verbose_name = _("Movable Property Evaluation")
|
||||
verbose_name_plural = _("Movable Property Evaluations")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user