Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 32 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
### Server

# Byte-compiled / optimized / DLL files
#User added
TEKDB/TEKDB/local_settings.py
Expand Down Expand Up @@ -98,4 +100,33 @@ ENV/
.ropeproject

#vscode settings
.vscode/
.vscode/

### Client
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

# client related files
.react-router/
2 changes: 1 addition & 1 deletion TEKDB/TEKDB/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -2833,7 +2833,7 @@ def image(self):
return settings.RECORD_ICONS["media"]

def subtitle(self):
return self.mediatype
return str(self.mediatype)

def link(self):
return "/explore/media/%d/" % self.pk
Expand Down
27 changes: 27 additions & 0 deletions TEKDB/TEKDB/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
"django.contrib.staticfiles",
"django.contrib.gis",
"colorfield",
"corsheaders",
# 'registration',
"leaflet",
"nested_admin",
Expand All @@ -70,11 +71,13 @@
"Relationships",
"reversion",
"django.contrib.sites",
"rest_framework",
# 'moderation.apps.SimpleModerationConfig',
]

MIDDLEWARE = [
"django.middleware.security.SecurityMiddleware",
"corsheaders.middleware.CorsMiddleware",
"whitenoise.middleware.WhiteNoiseMiddleware",
"django.contrib.sessions.middleware.SessionMiddleware",
"django.middleware.common.CommonMiddleware",
Expand All @@ -86,6 +89,30 @@

ROOT_URLCONF = "TEKDB.urls"

# Cross Origin Resource Sharing (CORS)
CORS_ALLOW_CREDENTIALS = True

CORS_ALLOWED_ORIGINS = [
"http://localhost:5173",
]

# CSRF trusted origins must include scheme and port for cross-site requests
CSRF_TRUSTED_ORIGINS = [
"http://localhost:5173",
]

# CSRF Cookie settings for cross-origin requests
CSRF_COOKIE_SAMESITE = "Lax"
CSRF_COOKIE_HTTPONLY = False # Allow JavaScript to read the cookie
SESSION_COOKIE_SAMESITE = "Lax"

REST_FRAMEWORK = {
"DEFAULT_AUTHENTICATION_CLASSES": [
"rest_framework.authentication.BasicAuthentication",
"rest_framework.authentication.SessionAuthentication",
],
}

TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
Expand Down
3 changes: 2 additions & 1 deletion TEKDB/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,5 @@ echo "Starting uWSGI (HTTP) on :8000"
# Use HTTP socket so direct HTTP clients (browsers) can connect to the container port.
# If you proxy with nginx using the uwsgi protocol, switch back to --socket and use
# uwsgi_pass in nginx configuration.
uwsgi --http :8000 --master --enable-threads --module TEKDB.wsgi
# uwsgi --http :8000 --master --enable-threads --module TEKDB.wsgi
python manage.py runserver 0.0.0.0:8000
23 changes: 23 additions & 0 deletions TEKDB/explore/API/serializers.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
from ..models import PageContent
from rest_framework import serializers


class PageContentSerializer(serializers.ModelSerializer):
class Meta:
model = PageContent
fields = ["page", "content", "is_html", "html_content"]
read_only_fields = ["page"] # Make 'page' read-only to prevent changes


class SiteConfigurationSerializer(serializers.Serializer):
proj_logo_text = serializers.CharField(max_length=100)
proj_text_placement = serializers.CharField(max_length=50)
proj_css = serializers.DictField(child=serializers.CharField(max_length=100))
proj_icons = serializers.DictField(child=serializers.CharField(max_length=100))
proj_image_select = serializers.CharField(max_length=100)
home_image_attribution = serializers.CharField(max_length=255, allow_blank=True)
home_font_color = serializers.CharField(max_length=7)
homepage_left_background = serializers.CharField(max_length=7)
homepage_right_background = serializers.CharField(max_length=7)
map_pin = serializers.CharField(max_length=100)
map_pin_selected = serializers.CharField(max_length=100)
Loading
Loading