|
|
|
@ -1,34 +1,33 @@ |
|
|
|
from .serializers import ClubSerializer, CourtSerializer, DateIntervalSerializer, DrawLogSerializer, TournamentSerializer, UserSerializer, EventSerializer, RoundSerializer, GroupStageSerializer, MatchSerializer, TeamScoreSerializer, TeamRegistrationSerializer, PlayerRegistrationSerializer, PurchaseSerializer, ShortUserSerializer, FailedApiCallSerializer, LogSerializer, DeviceTokenSerializer, CustomUserSerializer, UnregisteredTeamSerializer, UnregisteredPlayerSerializer, ImageSerializer |
|
|
|
|
|
|
|
from tournaments.models import Club, Tournament, CustomUser, Event, Round, GroupStage, Match, TeamScore, TeamRegistration, PlayerRegistration, Court, DateInterval, Purchase, FailedApiCall, Log, DeviceToken, DrawLog, UnregisteredTeam, UnregisteredPlayer, Image |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from rest_framework import viewsets |
|
|
|
from rest_framework import viewsets |
|
|
|
from rest_framework.response import Response |
|
|
|
from rest_framework.response import Response |
|
|
|
from rest_framework.decorators import api_view |
|
|
|
from rest_framework.decorators import api_view, permission_classes |
|
|
|
from rest_framework import status |
|
|
|
from rest_framework import status |
|
|
|
from rest_framework.exceptions import MethodNotAllowed |
|
|
|
from rest_framework.exceptions import MethodNotAllowed |
|
|
|
|
|
|
|
from rest_framework.permissions import IsAuthenticated |
|
|
|
|
|
|
|
|
|
|
|
from django.http import Http404 |
|
|
|
from django.conf import settings |
|
|
|
|
|
|
|
from django.http import Http404, HttpResponse, JsonResponse |
|
|
|
from django.db.models import Q |
|
|
|
from django.db.models import Q |
|
|
|
|
|
|
|
from django.core.files.storage import default_storage |
|
|
|
|
|
|
|
from django.core.files.base import ContentFile |
|
|
|
|
|
|
|
from django.shortcuts import get_object_or_404 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from .serializers import ClubSerializer, CourtSerializer, DateIntervalSerializer, DrawLogSerializer, TournamentSerializer, UserSerializer, EventSerializer, RoundSerializer, GroupStageSerializer, MatchSerializer, TeamScoreSerializer, TeamRegistrationSerializer, PlayerRegistrationSerializer, PurchaseSerializer, ShortUserSerializer, FailedApiCallSerializer, LogSerializer, DeviceTokenSerializer, CustomUserSerializer, UnregisteredTeamSerializer, UnregisteredPlayerSerializer, ImageSerializer |
|
|
|
|
|
|
|
from tournaments.models import Club, Tournament, CustomUser, Event, Round, GroupStage, Match, TeamScore, TeamRegistration, PlayerRegistration, Court, DateInterval, Purchase, FailedApiCall, Log, DeviceToken, DrawLog, UnregisteredTeam, UnregisteredPlayer, Image |
|
|
|
|
|
|
|
|
|
|
|
from .permissions import IsClubOwner |
|
|
|
from .permissions import IsClubOwner |
|
|
|
from .utils import check_version_smaller_than_1_1_12 |
|
|
|
from .utils import check_version_smaller_than_1_1_12 |
|
|
|
|
|
|
|
|
|
|
|
from shared.discord import send_discord_log_message |
|
|
|
from shared.discord import send_discord_log_message |
|
|
|
|
|
|
|
|
|
|
|
from rest_framework.decorators import permission_classes |
|
|
|
|
|
|
|
from rest_framework.permissions import IsAuthenticated |
|
|
|
|
|
|
|
from django.shortcuts import get_object_or_404 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from tournaments.services.payment_service import PaymentService |
|
|
|
from tournaments.services.payment_service import PaymentService |
|
|
|
from django.conf import settings |
|
|
|
from tournaments.utils.extensions import create_random_filename |
|
|
|
|
|
|
|
|
|
|
|
import stripe |
|
|
|
import stripe |
|
|
|
import json |
|
|
|
import json |
|
|
|
import pandas as pd |
|
|
|
import pandas as pd |
|
|
|
from tournaments.utils.extensions import create_random_filename |
|
|
|
|
|
|
|
from django.core.files.storage import default_storage |
|
|
|
|
|
|
|
from django.core.files.base import ContentFile |
|
|
|
|
|
|
|
import os |
|
|
|
import os |
|
|
|
from django.http import HttpResponse |
|
|
|
|
|
|
|
import logging |
|
|
|
import logging |
|
|
|
|
|
|
|
|
|
|
|
logger = logging.getLogger(__name__) |
|
|
|
logger = logging.getLogger(__name__) |
|
|
|
@ -568,3 +567,15 @@ def validate_stripe_account(request): |
|
|
|
'error': f'Unexpected error: {str(e)}', |
|
|
|
'error': f'Unexpected error: {str(e)}', |
|
|
|
'needs_onboarding': True, |
|
|
|
'needs_onboarding': True, |
|
|
|
}, status=200) |
|
|
|
}, status=200) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@api_view(['GET']) |
|
|
|
|
|
|
|
@permission_classes([IsAuthenticated]) |
|
|
|
|
|
|
|
def has_hierarchy_with_payment_capabilities(request): |
|
|
|
|
|
|
|
can_create = False |
|
|
|
|
|
|
|
if request.user and request.user.is_anonymous == False and request.user.owners: |
|
|
|
|
|
|
|
for owner in request.user.owners.all(): |
|
|
|
|
|
|
|
purchases = Purchase.objects.filter(user=owner,product_id='app.padelclub.tournament.subscription.unlimited') |
|
|
|
|
|
|
|
for purchase in purchases: |
|
|
|
|
|
|
|
if purchase.is_active(): |
|
|
|
|
|
|
|
can_create = True |
|
|
|
|
|
|
|
return JsonResponse({'can_create': can_create}, status=status.HTTP_200_OK) |
|
|
|
|