23 lines
801 B
Python
23 lines
801 B
Python
from apps.projects.services.access import user_has_project_access
|
|
from apps.projects.services.rates import get_current_project_user_rate
|
|
from apps.workspaces.models import WorkspaceUserRate
|
|
|
|
|
|
def resolve_rate(user, project):
|
|
if user_has_project_access(user, project):
|
|
project_user_rate = get_current_project_user_rate(project=project, user=user)
|
|
if project_user_rate:
|
|
return project_user_rate.hourly_rate, project_user_rate.currency
|
|
|
|
workspace_user_rate = WorkspaceUserRate.objects.filter(
|
|
user=user,
|
|
workspace=project.workspace,
|
|
is_active=True,
|
|
is_deleted=False,
|
|
).order_by("-effective_from").first()
|
|
|
|
if workspace_user_rate:
|
|
return workspace_user_rate.hourly_rate, workspace_user_rate.currency
|
|
|
|
return None, ""
|