32 lines
1.3 KiB
Python
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
|
|
|