complete first version of main proccess

This commit is contained in:
aminhashemi92 2025-08-27 07:11:26 +03:30
parent 6ff4740d04
commit f2fc2362a7
61 changed files with 3280 additions and 28 deletions

36
contracts/models.py Normal file
View file

@ -0,0 +1,36 @@
from django.db import models
from django.contrib.auth import get_user_model
from common.models import NameSlugModel, BaseModel
from accounts.models import Company
User = get_user_model()
class ContractTemplate(NameSlugModel):
body = models.TextField(verbose_name='متن قرارداد')
company = models.ForeignKey(Company, on_delete=models.SET_NULL, null=True, blank=True, verbose_name='شرکت')
class Meta:
verbose_name = 'قالب قرارداد'
verbose_name_plural = 'قالب‌های قرارداد'
def __str__(self):
return self.name
class ContractInstance(BaseModel):
process_instance = models.ForeignKey('processes.ProcessInstance', on_delete=models.CASCADE, related_name='contracts', verbose_name='نمونه فرآیند')
template = models.ForeignKey(ContractTemplate, on_delete=models.SET_NULL, null=True, blank=True, verbose_name='قالب مورد استفاده')
rendered_body = models.TextField(verbose_name='متن نهایی قرارداد')
approved = models.BooleanField(default=False, verbose_name='تایید شده')
approved_at = models.DateTimeField(null=True, blank=True, verbose_name='تاریخ تایید')
created_by = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, blank=True, verbose_name='ایجاد کننده')
class Meta:
verbose_name = 'قرارداد'
verbose_name_plural = 'قراردادها'
ordering = ['-created']
def __str__(self):
return f"Contract for {self.process_instance}"