简历 详情手动权限
This commit is contained in:
parent
d4714d3f43
commit
1257aeff5d
@ -1,12 +1,13 @@
|
||||
from ninja import Router, Query
|
||||
from django.shortcuts import get_object_or_404
|
||||
from accounts.models import User
|
||||
from authorize.models import ResumeDetailAccessRequest
|
||||
from authorize.schemas import ResumeAccessRequestIn
|
||||
from resumes.models import ResumeDetail
|
||||
from utils.auth import jwt_auth
|
||||
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="普通用户申请查看某一份简历详情")
|
||||
@ -94,3 +95,28 @@ def my_resume_request_history(request):
|
||||
]
|
||||
|
||||
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