added goal apis
This commit is contained in:
@ -4,7 +4,7 @@ from django.shortcuts import render
|
||||
from leaflet.admin import LeafletGeoAdmin
|
||||
from leaflet.admin import LeafletGeoAdminMixin
|
||||
from leaflet_admin_list.admin import LeafletAdminListMixin
|
||||
from .models import RogUser, Location, SystemSettings, JoinedEvent, Favorite, TravelList, TravelPoint, ShapeLayers, Event, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, CustomUser, GifuAreas, UserTracks, ShapeFileLocations, templocation, UserUpload, UserUploadUser, EventUser
|
||||
from .models import RogUser, Location, SystemSettings, JoinedEvent, Favorite, TravelList, TravelPoint, ShapeLayers, Event, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, CustomUser, GifuAreas, UserTracks, ShapeFileLocations, templocation, UserUpload, UserUploadUser, EventUser, GoalImages
|
||||
from django.contrib.auth.admin import UserAdmin
|
||||
from django.urls import path
|
||||
from django.shortcuts import render
|
||||
@ -219,3 +219,4 @@ admin.site.register(EventUser, admin.ModelAdmin)
|
||||
|
||||
admin.site.register(CustomUser, UserAdminConfig)
|
||||
admin.site.register(templocation, TempLocationAdmin)
|
||||
admin.site.register(GoalImages, admin.ModelAdmin)
|
||||
|
||||
27
rog/migrations/0039_goalimages.py
Normal file
27
rog/migrations/0039_goalimages.py
Normal file
@ -0,0 +1,27 @@
|
||||
# Generated by Django 3.2.9 on 2022-10-17 11:39
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('rog', '0038_auto_20221016_1950'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='GoalImages',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('goalimage', models.FileField(blank=True, null=True, upload_to='%y%m%d')),
|
||||
('goaltime', models.DateTimeField(verbose_name='Goal time')),
|
||||
('team_name', models.CharField(max_length=255, verbose_name='Team name')),
|
||||
('event_code', models.CharField(max_length=255, verbose_name='event code')),
|
||||
('cp_number', models.IntegerField(verbose_name='CP numner')),
|
||||
('user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
),
|
||||
]
|
||||
@ -201,6 +201,14 @@ class CustomUser(AbstractBaseUser, PermissionsMixin):
|
||||
def __str__(self):
|
||||
return self.email
|
||||
|
||||
class GoalImages(models.Model):
|
||||
user=models.ForeignKey(CustomUser, on_delete=models.DO_NOTHING)
|
||||
goalimage = models.FileField(upload_to='goals/%y%m%d', blank=True, null=True)
|
||||
goaltime = models.DateTimeField(_("Goal time"), auto_now=False, auto_now_add=False)
|
||||
team_name = models.CharField(_("Team name"), max_length=255)
|
||||
event_code = models.CharField(_("event code"), max_length=255)
|
||||
cp_number = models.IntegerField(_("CP numner"))
|
||||
|
||||
|
||||
class RogUser(models.Model):
|
||||
user=models.OneToOneField(CustomUser, on_delete=models.CASCADE)
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
from rest_framework import serializers
|
||||
from rest_framework_gis.serializers import GeoFeatureModelSerializer
|
||||
from sqlalchemy.sql.functions import mode
|
||||
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, GifuAreas, RogUser, UserTracks
|
||||
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, GifuAreas, RogUser, UserTracks, GoalImages
|
||||
from drf_extra_fields.fields import Base64ImageField
|
||||
|
||||
#from django.contrib.auth.models import User
|
||||
@ -76,6 +76,12 @@ class UserSerializer(serializers.ModelSerializer):
|
||||
model = CustomUser
|
||||
fields = ('id','email', 'is_rogaining' ,'group', 'zekken_number', 'event_code', 'team_name')
|
||||
|
||||
class GolaImageSerializer(serializers.ModelSerializer):
|
||||
goalimage = Base64ImageField(max_length=None, use_url=True)
|
||||
class Meta:
|
||||
model = GoalImages
|
||||
fields="__all__"
|
||||
|
||||
|
||||
class RogUserSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
from sys import prefix
|
||||
from rest_framework import urlpatterns
|
||||
from rest_framework.routers import DefaultRouter
|
||||
from .views import LocationViewSet, Location_lineViewSet, Location_polygonViewSet, Jpn_Main_PerfViewSet, Jpn_PerfViewSet, LocationsInPerf, SubInPerf, ExtentForSubPerf, SubPerfInMainPerf, ExtentForMainPerf, LocationsInSubPerf, CatView, RegistrationAPI, LoginAPI, UserAPI, UserActionViewset, UserMakeActionViewset, UserDestinations, UpdateOrder, LocationInBound, DeleteDestination, CustomAreaLocations, GetAllGifuAreas, CustomAreaNames, userDetials, UserTracksViewSet, CatByCity, ChangePasswordView
|
||||
from .views import LocationViewSet, Location_lineViewSet, Location_polygonViewSet, Jpn_Main_PerfViewSet, Jpn_PerfViewSet, LocationsInPerf, SubInPerf, ExtentForSubPerf, SubPerfInMainPerf, ExtentForMainPerf, LocationsInSubPerf, CatView, RegistrationAPI, LoginAPI, UserAPI, UserActionViewset, UserMakeActionViewset, UserDestinations, UpdateOrder, LocationInBound, DeleteDestination, CustomAreaLocations, GetAllGifuAreas, CustomAreaNames, userDetials, UserTracksViewSet, CatByCity, ChangePasswordView, GoalImageViewSet
|
||||
from django.urls import path, include
|
||||
from knox import views as knox_views
|
||||
|
||||
@ -15,6 +16,7 @@ router.register(prefix='location_polygon', viewset=Location_polygonViewSet, base
|
||||
router.register(prefix='perf_main', viewset=Jpn_Main_PerfViewSet, basename='main_perf')
|
||||
router.register(prefix='perf', viewset=Jpn_PerfViewSet, basename='perf')
|
||||
router.register(prefix='track', viewset=UserTracksViewSet, basename='track')
|
||||
router.register(prefix='goalimage', viewset=GoalImageViewSet, basename='goalimage')
|
||||
|
||||
|
||||
urlpatterns = router.urls
|
||||
@ -41,5 +43,6 @@ urlpatterns += [
|
||||
path('delete_destination/', DeleteDestination, name='delete_detination'),
|
||||
path('customareanames/', CustomAreaNames, name='custom_area_name'),
|
||||
path('userdetials/', userDetials, name='user_detials'),
|
||||
path('change-password/', ChangePasswordView.as_view(), name='change-password'),
|
||||
path('change-password/', ChangePasswordView.as_view(), name='change-password')
|
||||
# path('goal-image/', GoalImageViewSet.as_view(), name='goal-image')
|
||||
]
|
||||
47
rog/views.py
47
rog/views.py
@ -1,11 +1,11 @@
|
||||
from curses.ascii import NUL
|
||||
from django.core.serializers import serialize
|
||||
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, GifuAreas, RogUser, CustomUser, UserTracks
|
||||
from .models import GoalImages, Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, GifuAreas, RogUser, CustomUser, UserTracks, GoalImages
|
||||
from rest_framework import viewsets
|
||||
from .serializers import LocationSerializer, Location_lineSerializer, Location_polygonSerializer, JPN_main_perfSerializer, JPN_perfSerializer, JPN_sub_perSerializer, LocationCatSerializer, CreateUserSerializer, UserSerializer, LoginUserSerializer, UseractionsSerializer, UserDestinationSerializer, GifuAreaSerializer, LocationEventNameSerializer, RogUserSerializer, UserTracksSerializer, ChangePasswordSerializer
|
||||
from .serializers import LocationSerializer, Location_lineSerializer, Location_polygonSerializer, JPN_main_perfSerializer, JPN_perfSerializer, JPN_sub_perSerializer, LocationCatSerializer, CreateUserSerializer, UserSerializer, LoginUserSerializer, UseractionsSerializer, UserDestinationSerializer, GifuAreaSerializer, LocationEventNameSerializer, RogUserSerializer, UserTracksSerializer, ChangePasswordSerializer, GolaImageSerializer
|
||||
from knox.models import AuthToken
|
||||
|
||||
from rest_framework import viewsets, permissions, generics, status
|
||||
from rest_framework import viewsets, generics, status
|
||||
from rest_framework.decorators import action
|
||||
from rest_framework.response import Response
|
||||
from rest_framework.parsers import JSONParser, MultiPartParser
|
||||
@ -20,6 +20,13 @@ from django.db.models import F
|
||||
from django.contrib.gis import geos
|
||||
from django.db.models import Q
|
||||
|
||||
from rest_framework import permissions
|
||||
from rest_framework.views import APIView
|
||||
from rest_framework.decorators import api_view
|
||||
from rest_framework.decorators import api_view, permission_classes
|
||||
from rest_framework.parsers import JSONParser, MultiPartParser
|
||||
from django.views.decorators.csrf import csrf_exempt
|
||||
|
||||
|
||||
|
||||
class LocationViewSet(viewsets.ModelViewSet):
|
||||
@ -267,12 +274,44 @@ class LoginAPI(generics.GenericAPIView):
|
||||
})
|
||||
|
||||
class UserAPI(generics.RetrieveAPIView):
|
||||
permission_classes = [permissions.IsAuthenticated, ]
|
||||
permission_classes = [permissions.IsAuthenticated,]
|
||||
serializer_class = UserSerializer
|
||||
|
||||
def get_object(self):
|
||||
return self.request.user
|
||||
|
||||
# @api_view(['POST',])
|
||||
# @permission_classes((IsAuthenticated,))
|
||||
# @csrf_exempt
|
||||
class GoalImageViewSet(APIView):
|
||||
permissions_classes = [permissions.IsAuthenticated,]
|
||||
# parser_classes = [MultiPartParser, JSONParser]
|
||||
|
||||
def post(self, request, format=None):
|
||||
# print(request.data)
|
||||
serializer = GolaImageSerializer(data=request.data)
|
||||
if serializer.is_valid():
|
||||
serializer.save()
|
||||
return Response(serializer.data, status=status.HttP_200_OK)
|
||||
else:
|
||||
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
return Response({"ok":"ok"})
|
||||
|
||||
class GoalImageViewSet(viewsets.ModelViewSet):
|
||||
queryset=GoalImages.objects.all()
|
||||
serializer_class=GolaImageSerializer
|
||||
# parser_classes = (MultiPartParser, JSONParser)
|
||||
|
||||
def get_queryset(self):
|
||||
queryset = GoalImages.objects.all()
|
||||
# dist = self.request.GET.get('dist')
|
||||
# if dist != None :
|
||||
# queryset = Incident.objects.filter(entity=dist, is_approved=True)
|
||||
# else:
|
||||
# queryset = Incident.objects.filter(is_approved=True)
|
||||
return queryset
|
||||
|
||||
|
||||
def userDetials(request):
|
||||
user_id = request.GET.get('user_id')
|
||||
|
||||
Reference in New Issue
Block a user