72 lines
3.0 KiB
Python
72 lines
3.0 KiB
Python
from django.db import models
|
|
from django.contrib.auth import get_user_model
|
|
from django.core.validators import RegexValidator
|
|
|
|
userModel = get_user_model()
|
|
|
|
|
|
class ArticleType(models.Model):
|
|
name = models.CharField(max_length=50)
|
|
|
|
|
|
class Article(models.Model):
|
|
class Meta:
|
|
permissions = [
|
|
("ViewReportMali", "ViewReportMali")
|
|
]
|
|
debit = models.IntegerField(null=True, blank=True)
|
|
credit = models.IntegerField(null=True, blank=True)
|
|
customer = models.ForeignKey('Customer', on_delete=models.CASCADE, null=True, blank=True)
|
|
factor = models.ForeignKey('Factor', on_delete=models.CASCADE, null=True, blank=True)
|
|
type = models.CharField(max_length=50, null=True, blank=True)
|
|
typePy = models.CharField(max_length=50, null=True, blank=True)
|
|
checkNum = models.IntegerField(null=True, blank=True)
|
|
nahvePardakht = models.CharField(max_length=50, null=True, blank=True)
|
|
sarresid = models.DateTimeField(null=True, blank=True)
|
|
payStatus = models.CharField(max_length=50, null=True, blank=True)
|
|
createdDT = models.DateTimeField(auto_now_add=True)
|
|
changeDT = models.DateTimeField(auto_now=True)
|
|
desc = models.CharField(max_length=200)
|
|
user = models.ForeignKey(userModel, on_delete=models.SET_NULL, null=True, blank=True)
|
|
|
|
|
|
class Sarresid(models.Model):
|
|
customer = models.ForeignKey('Customer', on_delete=models.CASCADE, null=True, blank=True)
|
|
createdDT = models.DateTimeField(auto_now_add=True)
|
|
changeDT = models.DateTimeField(auto_now=True)
|
|
price = models.IntegerField(null=False, blank=False)
|
|
payStatus = models.CharField(max_length=50, null=True, blank=True)
|
|
type = models.CharField(max_length=50, null=True, blank=True)
|
|
factor = models.ForeignKey('Factor', on_delete=models.CASCADE, null=True, blank=True)
|
|
sarresidDT = models.DateTimeField(null=True, blank=True)
|
|
user = models.ForeignKey(userModel, on_delete=models.SET_NULL, null=True, blank=True)
|
|
desc = models.TextField(null=True, blank=True)
|
|
|
|
# ---------------- فیلدهای استاندارد و ایمنشده چک ----------------
|
|
check_row_number = models.CharField(
|
|
max_length=50,
|
|
null=True, blank=True,
|
|
verbose_name="شماره ردیف چک"
|
|
)
|
|
check_sayyad_id = models.CharField(
|
|
max_length=16,
|
|
validators=[
|
|
RegexValidator(regex=r'^\d{16}$', message='شناسه صیادی باید دقیقاً ۱۶ رقم عدد باشد.')
|
|
],
|
|
null=True, blank=True,
|
|
verbose_name="شناسه صیادی"
|
|
)
|
|
check_owner_name = models.CharField(
|
|
max_length=100,
|
|
null=True, blank=True,
|
|
verbose_name="نام مالک چک"
|
|
)
|
|
check_owner_phone = models.CharField(
|
|
max_length=11,
|
|
validators=[
|
|
RegexValidator(regex=r'^\d{11}$', message='شماره تلفن باید ۱۱ رقم و فقط شامل اعداد باشد.')
|
|
],
|
|
null=True, blank=True,
|
|
verbose_name="تلفن مالک چک"
|
|
)
|