简历 详情手动权限
This commit is contained in:
parent
d4714d3f43
commit
1257aeff5d
@ -1,12 +1,13 @@
|
|||||||
from ninja import Router, Query
|
from ninja import Router, Query
|
||||||
from django.shortcuts import get_object_or_404
|
from django.shortcuts import get_object_or_404
|
||||||
|
from accounts.models import User
|
||||||
from authorize.models import ResumeDetailAccessRequest
|
from authorize.models import ResumeDetailAccessRequest
|
||||||
from authorize.schemas import ResumeAccessRequestIn
|
from authorize.schemas import ResumeAccessRequestIn
|
||||||
from resumes.models import ResumeDetail
|
from resumes.models import ResumeDetail
|
||||||
from utils.auth import jwt_auth
|
from utils.auth import jwt_auth
|
||||||
from utils.permissions import login_required, manager_required
|
from utils.permissions import login_required, manager_required
|
||||||
|
|
||||||
resume_authorize_router = Router(tags=["简历授权管理"])
|
resume_authorize_router = Router(tags=["简历(详情信息)授权管理"])
|
||||||
|
|
||||||
|
|
||||||
@resume_authorize_router.post("/apply", auth=jwt_auth, summary="申请简历详情[普]", description="普通用户申请查看某一份简历详情")
|
@resume_authorize_router.post("/apply", auth=jwt_auth, summary="申请简历详情[普]", description="普通用户申请查看某一份简历详情")
|
||||||
@ -94,3 +95,28 @@ def my_resume_request_history(request):
|
|||||||
]
|
]
|
||||||
|
|
||||||
return {"success": True, "items": data}
|
return {"success": True, "items": data}
|
||||||
|
|
||||||
|
|
||||||
|
@resume_authorize_router.post("/manual-authorize", auth=jwt_auth, summary="手动授权简历详情[分]", description="分管理跳过申请流程,直接授权某用户查看指定简历")
|
||||||
|
@manager_required
|
||||||
|
def manually_authorize_resume(request, user_id: int = Query(...), resume_id: int = Query(...)):
|
||||||
|
user = get_object_or_404(User, id=user_id)
|
||||||
|
resume = get_object_or_404(ResumeDetail, id=resume_id)
|
||||||
|
|
||||||
|
if not user.is_user():
|
||||||
|
return {"success": False, "message": "仅能授权给普通用户"}
|
||||||
|
|
||||||
|
if resume.source not in request.user.managed_websites.all():
|
||||||
|
return {"success": False, "message": "无权授权该简历"}
|
||||||
|
|
||||||
|
record, created = ResumeDetailAccessRequest.objects.get_or_create(
|
||||||
|
user=user,
|
||||||
|
resume=resume,
|
||||||
|
defaults={"status": "approved", "reason": "由分管理手动授权"}
|
||||||
|
)
|
||||||
|
|
||||||
|
if not created:
|
||||||
|
record.status = "approved"
|
||||||
|
record.save()
|
||||||
|
|
||||||
|
return {"success": True, "message": f"已手动授权 {user.username} 访问简历 {resume.id}"}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user