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