Files
2026-06-15 10:57:28 +03:30

32 lines
1.3 KiB
Python

from apps.emtiyazat.models import Emtiyazat as EmtiyazatModel
from apps.project.models import Project as ProjectModel
from rest_framework.validators import ValidationError
from utils.services.sms_task import task_send_sms
def add_project_emtiyaz(credit: int, project_id: int, op_user):
try:
project = ProjectModel.objects.get(id=project_id)
if not project.emtiyaz and project.status == 'waiting':
ProjectModel.objects.filter(id=project_id).update(emtiyaz=credit, status='approved')
desc = f'بابت پروژه: {project.address}'
emtiyaz = EmtiyazatModel.objects.create(credit=credit, desc=desc,
cuser=project.cuser, operator=op_user, project=project)
message = f'پروژه شما تایید و {credit} امتیاز به پروفایل شما اضافه شد '
task_send_sms.delay(message=message, mobile=str(project.cuser.mobile))
return emtiyaz
except Exception as exp:
raise ValidationError(f'Error on add emtiyaz {exp}')
def decrease_emtiyaz(debit: int, desc: str, cuser):
emtiyaz = EmtiyazatModel.objects.create(
debit=debit,
desc=desc,
cuser=cuser,
operator=cuser
)
return emtiyaz