feat(pricing): add workspace user rates and price units

This commit is contained in:
2026-04-26 10:19:04 +03:30
parent f960ca8221
commit fadf898486
19 changed files with 731 additions and 266 deletions

View File

@@ -1,22 +1,15 @@
from apps.projects.models import ProjectRate, ProjectUserRate
def resolve_rate(user, project):
user_rate = ProjectUserRate.objects.filter(
user=user,
project=project,
is_active=True,
).order_by("-effective_from").first()
if user_rate:
return user_rate.hourly_rate, user_rate.currency
project_rate = ProjectRate.objects.filter(
project=project,
is_active=True,
).order_by("-effective_from").first()
if project_rate:
return project_rate.hourly_rate, project_rate.currency
return None, "USD"
from apps.workspaces.models import WorkspaceUserRate
def resolve_rate(user, project):
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, ""