diff --git a/rog/views.py b/rog/views.py index 5db87ba..1fb4742 100644 --- a/rog/views.py +++ b/rog/views.py @@ -1294,7 +1294,16 @@ class RegistrationView(APIView): class NewEvent2ViewSet(viewsets.ModelViewSet): queryset = NewEvent2.objects.all() serializer_class = NewEvent2Serializer - permission_classes = [permissions.IsAuthenticated] + + def get_permissions(self): + """ + GETメソッドは認証不要、その他のメソッドは認証必要 + """ + if self.action in ['list', 'retrieve']: + permission_classes = [AllowAny] + else: + permission_classes = [IsAuthenticated] + return [permission() for permission in permission_classes] class NewEvent2ListView(generics.ListAPIView): queryset = NewEvent2.objects.all() @@ -1505,6 +1514,16 @@ class NewCategoryViewSet(viewsets.ModelViewSet): serializer_class = NewCategorySerializer #permission_classes = [IsAuthenticated] + def get_permissions(self): + """ + GETメソッドは認証不要、その他のメソッドは認証必要 + """ + if self.action in ['list', 'retrieve']: + permission_classes = [AllowAny] + else: + permission_classes = [IsAuthenticated] + return [permission() for permission in permission_classes] + @action(detail=True, methods=['POST']) def get_zekken_number(self, request, pk=None): @@ -1523,7 +1542,18 @@ class NewCategoryViewSet(viewsets.ModelViewSet): class NewCategoryListView(generics.ListAPIView): queryset = NewCategory.objects.all() serializer_class = NewCategorySerializer - permission_classes = [IsAuthenticated] + #permission_classes = [IsAuthenticated] + + def get_permissions(self): + """ + GETメソッドは認証不要、その他のメソッドは認証必要 + """ + if self.action in ['list', 'retrieve']: + permission_classes = [AllowAny] + else: + permission_classes = [IsAuthenticated] + return [permission() for permission in permission_classes] + class CategoryViewSet(viewsets.ModelViewSet): queryset = Category.objects.all() diff --git a/supervisor/html/ranking.html b/supervisor/html/ranking.html index 63a0e9f..552386c 100644 --- a/supervisor/html/ranking.html +++ b/supervisor/html/ranking.html @@ -8,7 +8,7 @@ .span2 { margin-left: 20px; } .span3 { font-weight: bold; } .span6 { display: inline-block; width: 30px; } - .black { background-color: #f0f0f0; padding: 10px; } + .black { background-color: #f0f0f0; padding: 10px; margin-bottom: 20px; } .arrow { margin: 10px 0; } .arrow2 { margin: 10px 0; } .disqualified { color: #999; } @@ -31,11 +31,22 @@ background-color: #e3f2fd; color: #1565c0; } - .disqualified-header { - margin-top: 20px; - padding: 5px; - background-color: #f0f0f0; - border-left: 4px solid #999; + select { + padding: 8px; + margin: 5px 0; + min-width: 200px; + } + button { + padding: 8px 16px; + margin: 10px 0; + background-color: #4a90e2; + color: white; + border: none; + border-radius: 4px; + cursor: pointer; + } + button:hover { + background-color: #357abd; } @@ -47,12 +58,14 @@