diff --git a/.DS_Store b/.DS_Store index 41a446d..f7b2d25 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/docker-compose.yaml b/docker-compose.yaml index 230d043..7f98f7b 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,46 +1,46 @@ version: "3.9" services: - postgres-db: - image: kartoza/postgis:12.0 - ports: - - 5432:5432 - volumes: - - postgres_data:/var/lib/postgresql - - ./custom-postgresql.conf:/etc/postgresql/12/main/postgresql.conf - environment: - - POSTGRES_USER=${POSTGRES_USER} - - POSTGRES_PASS=${POSTGRES_PASS} - - POSTGRES_DBNAME=${POSTGRES_DBNAME} - - POSTGRES_MAX_CONNECTIONS=600 + # postgres-db: + # image: kartoza/postgis:12.0 + # ports: + # - 5432:5432 + # volumes: + # - postgres_data:/var/lib/postgresql + # - ./custom-postgresql.conf:/etc/postgresql/12/main/postgresql.conf + # environment: + # - POSTGRES_USER=${POSTGRES_USER} + # - POSTGRES_PASS=${POSTGRES_PASS} + # - POSTGRES_DBNAME=${POSTGRES_DBNAME} + # - POSTGRES_MAX_CONNECTIONS=600 - restart: "on-failure" - networks: - - rog-api - - api: - build: - context: . - dockerfile: Dockerfile.gdal - command: python3 manage.py runserver 0.0.0.0:8100 - volumes: - - .:/app - ports: - - 8100:8100 - env_file: - - .env - restart: "on-failure" - depends_on: - - postgres-db - networks: - - rog-api - #entrypoint: ["/app/wait-for.sh", "postgres-db:5432", "--", ""] - #command: python3 manage.py runserver 0.0.0.0:8100 + # restart: "on-failure" + # networks: + # - rog-api + + api: + build: + context: . + dockerfile: Dockerfile.gdal + command: python3 manage.py runserver 0.0.0.0:8100 + volumes: + - .:/app + ports: + - 8100:8100 + env_file: + - .env + restart: "on-failure" + depends_on: + - postgres-db + networks: + - rog-api + #entrypoint: ["/app/wait-for.sh", "postgres-db:5432", "--", ""] + #command: python3 manage.py runserver 0.0.0.0:8100 networks: - rog-api: - driver: bridge + rog-api: + driver: bridge volumes: - postgres_data: - geoserver-data: \ No newline at end of file + postgres_data: + geoserver-data: diff --git a/rog/backend.py b/rog/backend.py index 484c433..9ad342b 100644 --- a/rog/backend.py +++ b/rog/backend.py @@ -2,6 +2,7 @@ from django.conf import settings #from django.contrib.auth import get_user_model from .models import CustomUser from django.contrib.auth.backends import ModelBackend +from django.contrib.auth import get_user_model class EmailOrUsernameModelBackend(ModelBackend): """ diff --git a/rog/models.py b/rog/models.py index b7599d1..5937134 100644 --- a/rog/models.py +++ b/rog/models.py @@ -65,29 +65,32 @@ def remove_bom_inplace(path): class CustomUserManager(BaseUserManager): def create_user(self, email, password, group, event_code, team_name, **other_fields): - if not email: raise ValueError(_("You must provide an email address")) - - # email = self.normalize_email(email) - user=self.model(email=email, group=group, event_code=event_code, team_name=team_name, zekken_number=email, is_rogaining=True, **other_fields) + + user = self.model(email=email, group=group, event_code=event_code, team_name=team_name, zekken_number=email, is_rogaining=True, **other_fields) user.set_password(password) user.save() return user + def create_superuser(self, email, password, group, event_code=None, team_name=None, **other_fields): + # Providing default values for event_code and team_name if they are not provided + if event_code is None: + event_code = 'test' # replace this with some default value + if team_name is None: + team_name = 'test' # replace this with some default value - def create_superuser(self, email, password, group, **other_fields): other_fields.setdefault('is_staff', True) other_fields.setdefault('is_superuser', True) other_fields.setdefault('is_active', True) if other_fields.get('is_staff') is not True: - raise ValueError(_('Supperuser must assigned to staff')) + raise ValueError(_('Superuser must be assigned to staff')) if other_fields.get('is_superuser') is not True: - raise ValueError(_('Supperuser must assigned to superuser=True')) + raise ValueError(_('Superuser must have is_superuser set to True')) - return self.create_user(email, password, group, **other_fields) + return self.create_user(email, password, group, event_code, team_name, **other_fields) diff --git a/rog/views.py b/rog/views.py index 51e4783..fadeda5 100644 --- a/rog/views.py +++ b/rog/views.py @@ -273,6 +273,7 @@ class RegistrationAPI(generics.GenericAPIView): "token": AuthToken.objects.create(user)[1] }) + class LoginAPI(generics.GenericAPIView): serializer_class = LoginUserSerializer @@ -337,6 +338,15 @@ class CheckinImageViewSet(viewsets.ModelViewSet): # else: # queryset = Incident.objects.filter(is_approved=True) return queryset + + +class RetrieveUserView(generics.RetrieveAPIView): + queryset = CustomUser.objects.all() + serializer_class = UserSerializer + permission_classes = [IsAuthenticated] + + def get_object(self): + return self.request.user def userDetials(request):