diff --git a/docker-compose.yaml b/docker-compose.yaml index 025070f..cac9806 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,5 +1,3 @@ -version: "3.9" - services: # postgres-db: # image: kartoza/postgis:12.0 diff --git a/rog/admin.py b/rog/admin.py index c23ba9a..b2b322a 100644 --- a/rog/admin.py +++ b/rog/admin.py @@ -905,12 +905,15 @@ class CustomUserCreationForm(UserCreationForm): model = CustomUser fields = ('email', 'lastname', 'firstname', 'date_of_birth', 'female') +''' +@admin.register(CustomUser) class CustomUserAdmin(UserAdmin): form = CustomUserChangeForm add_form = CustomUserCreationForm - model = CustomUser + #model = CustomUser list_display = ('email', 'is_staff', 'is_active', 'is_rogaining', 'zekken_number', 'event_code', 'team_name', 'group', 'firstname', 'lastname') + add_form = CustomUserCreationForm list_filter = ('is_staff', 'is_active', 'is_rogaining', 'group') # readonly_fieldsを明示的に設定 @@ -942,13 +945,18 @@ class CustomUserAdmin(UserAdmin): search_fields = ('email', 'firstname', 'lastname', 'zekken_number', 'team_name') ordering = ('email',) - def get_readonly_fields(self, request, obj=None): + def get_readonly_fields_old(self, request, obj=None): # スーパーユーザーの場合は読み取り専用フィールドを最小限に if request.user.is_superuser: return self.readonly_fields # 通常のスタッフユーザーの場合は追加の制限を設定可能 return self.readonly_fields + ('is_staff', 'is_superuser') + def get_readonly_fields(self, request, obj=None): + if request.user.is_superuser: + return ('date_joined', 'last_login') + return ('date_joined', 'last_login', 'is_staff', 'is_superuser') +''' admin.site.register(Useractions) admin.site.register(RogUser, admin.ModelAdmin) diff --git a/rog/serializers.py b/rog/serializers.py index 87c8371..1564bb7 100644 --- a/rog/serializers.py +++ b/rog/serializers.py @@ -877,7 +877,7 @@ class UserLastGoalTimeSerializer(serializers.Serializer): user_email = serializers.EmailField() last_goal_time = serializers.DateTimeField() -class LoginUserSerializer(serializers.Serializer): +class LoginUserSerializer_old(serializers.Serializer): identifier = serializers.CharField(required=True) # メールアドレスまたはゼッケン番号 password = serializers.CharField(required=True) diff --git a/rog/utils.py b/rog/utils.py index c2182ff..66bce5f 100644 --- a/rog/utils.py +++ b/rog/utils.py @@ -60,7 +60,7 @@ def send_reset_password_email(email,activation_link): # def send_team_join_email(request,sender,user,team): activation_link = request.build_absolute_uri( - reverse('activate-member', args=[user.id, team.id]) + reverse('rog:activate-member', args=[user.id, team.id]) ) logger.info(f"request: {request}") @@ -84,7 +84,7 @@ def send_invitation_email(sender,request,user_email,team): verification_code = uuid.uuid4() # UUIDを生成 activation_link = request.build_absolute_uri( - reverse('activate-new-member', args=[verification_code, team.id]) + reverse('rog:activate-new-member', args=[verification_code, team.id]) ) diff --git a/rog/views.py b/rog/views.py index a8a9d4a..9b3024c 100644 --- a/rog/views.py +++ b/rog/views.py @@ -1554,11 +1554,11 @@ class NewCategoryListView(generics.ListAPIView): """ GETメソッドは認証不要、その他のメソッドは認証必要 """ - if self.action in ['list', 'retrieve']: + if self.request.method == 'GET': permission_classes = [permissions.AllowAny] else: permission_classes = [permissions.IsAuthenticated] - return [permission() for permission in permission_classes] + return [permission() for permission in permission_classes] class CategoryViewSet(viewsets.ModelViewSet): @@ -2201,7 +2201,7 @@ class RegisterView(APIView): temp_user.save() verification_url = request.build_absolute_uri( - reverse('verify-email', kwargs={'verification_code': verification_code}) + reverse('rog:verify-email', kwargs={'verification_code': verification_code}) ) send_verification_email(temp_user,verifiction_url) #send_mail( @@ -2223,7 +2223,7 @@ class ResendInvitationEmailView(APIView): try: temp_user = TempUser.objects.get(email=email) verification_url = request.build_absolute_uri( - reverse('verify-email', kwargs={'verification_code': temp_user.verification_code}) + reverse('rog:verify-email', kwargs={'verification_code': temp_user.verification_code}) ) send_verification_email(temp_user, verification_url) logger.info(f"招待メールを再送信しました。Email: {email}") @@ -2248,7 +2248,7 @@ class TempUserRegistrationView(APIView): try: temp_user = TempUser.objects.get(email=email) verification_url = request.build_absolute_uri( - reverse('verify-email', kwargs={'verification_code': temp_user.verification_code}) + reverse('rog:verify-email', kwargs={'verification_code': temp_user.verification_code}) ) send_verification_email(temp_user, verification_url) logger.info(f"既に仮登録されているユーザーに招待メールを再送信しました。Email: {email}") @@ -2269,7 +2269,7 @@ class TempUserRegistrationView(APIView): temp_user.save() verification_url = request.build_absolute_uri( - reverse('verify-email', kwargs={'verification_code': verification_code}) + reverse('rog:verify-email', kwargs={'verification_code': verification_code}) ) send_verification_email(temp_user, verification_url) logger.info(f"新規ユーザーを仮登録し、招待メールを送信しました。Email: {email}") diff --git a/supervisor/nginx/default.conf b/supervisor/nginx/default.conf index 14fb217..33ff442 100644 --- a/supervisor/nginx/default.conf +++ b/supervisor/nginx/default.conf @@ -36,9 +36,22 @@ server { } location /static/ { - alias /app/static/; - expires 1h; - add_header Cache-Control "public, no-transform"; + proxy_pass http://api:8000; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-CSRFToken $http_x_csrf_token; + + # タイムアウト設定 + proxy_connect_timeout 300; + proxy_send_timeout 300; + proxy_read_timeout 300; + send_timeout 300; + # alias /app/static/; + # expires 1h; + # add_header Cache-Control "public, no-transform"; } location = / {