from apps.projectcode.models import ProjectCodeHead as ProjectCodeHeadModel, ProjectCode as ProjectCodeModel from rest_framework.validators import ValidationError def update_project_code_used(code: str, user): try: project_code = ProjectCodeModel.objects.get(code=code, is_used=False) project_code.is_used = True project_code.mojri_user = user project_code.save() return project_code except Exception as e: raise ValidationError(e) def project_code_validation(code): try: return ProjectCodeModel.objects.get(code=code, is_used=False, is_active=True) except Exception as e: raise ValidationError(e) def project_code_head_list(): try: return ProjectCodeHeadModel.objects.all() except Exception as e: raise ValidationError(e) def project_code_list(id: int, is_used: str): try: base_filter = { 'project_code_head_id': id, } if is_used == 'true': base_filter['is_used'] = True return ProjectCodeModel.objects.filter(**base_filter) except Exception as e: raise ValidationError(e)