fix error in gitignore
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
from django.db import models
|
||||
|
||||
from apps.core.models import TimeStampedModel, UUIDModel
|
||||
|
||||
|
||||
class PricingRule(UUIDModel, TimeStampedModel):
|
||||
class RuleType(models.TextChoices):
|
||||
FIXED = "fixed", "Fixed"
|
||||
PER_KG = "per_kg", "Per kilogram"
|
||||
PER_UNIT = "per_unit", "Per unit"
|
||||
PERCENTAGE = "percentage", "Percentage"
|
||||
TIERED = "tiered", "Tiered"
|
||||
DISCOUNT = "discount", "Discount"
|
||||
TAX = "tax", "Tax"
|
||||
FEE = "fee", "Additional fee"
|
||||
|
||||
step = models.ForeignKey(
|
||||
"workflows.WorkflowStep", on_delete=models.CASCADE, related_name="pricing_rules"
|
||||
)
|
||||
name = models.CharField(max_length=200)
|
||||
rule_type = models.CharField(max_length=16, choices=RuleType.choices)
|
||||
# Base amount. Meaning depends on rule_type:
|
||||
# fixed/per_kg/per_unit -> money; percentage/discount/tax -> percent.
|
||||
amount = models.DecimalField(max_digits=18, decimal_places=2, default=0)
|
||||
config = models.JSONField(default=dict, blank=True)
|
||||
active = models.BooleanField(default=True)
|
||||
priority = models.IntegerField(default=0)
|
||||
|
||||
class Meta:
|
||||
ordering = ["priority"]
|
||||
|
||||
def __str__(self) -> str:
|
||||
return f"{self.name} ({self.rule_type})"
|
||||
Reference in New Issue
Block a user