Grow Planet

Game-based learning in STEAM
and Sustainable Development

GRADES 1–6

Dev environment; changes here will not affect anything in real life, and all emails will be redirected to admins.

Loading, please wait ... ...

DJDT

Versions

Package Name Version
Django 3.2.25
Python 3.11.4
adminsortable2 Adminsortable2 1.0.4
api.v2 V2 2.5.1
bootstrap5 Bootstrap5 1.0.11
cacheops Cacheops 7.0.2
ckeditor Ckeditor 6.7.2
debug_toolbar Debug Toolbar 4.2.0
django_celery_beat Periodic Tasks 2.5.0
django_celery_results Celery Results 2.5.1
django_extensions Django Extensions 3.2.3
django_filters Django_Filters 23.5
django_premailer Django_Premailer 0.2.0
django_user_agents Django_User_Agents 0.4.0
edulms Common 1.63.13
groplay_django Groplay_Django 3.26.2
import_export Import_Export 3.2.0
oauth2_provider Django OAuth Toolkit 2.3.0
polymorphic Polymorphic 3.1.0
rest_framework Django REST framework 3.14.0
silk Silk 5.0.4
statici18n Statici18N 2.4.0
view_breadcrumbs View_Breadcrumbs 2.0.0
webpack_loader Webpack Loader 2.0.1

Time

Resource usage

Resource Value
User CPU time 655.318 msec
System CPU time 47.251 msec
Total CPU time 702.569 msec
Elapsed time 5747.733 msec
Context switches 307 voluntary, 53 involuntary

Browser timing

Timing attribute Timeline Milliseconds since navigation start (+length)

Settings from edulms.settings

Setting Value
ABSOLUTE_URL_OVERRIDES {}
ADMINS [('Grow Planet Admin', 'apialerts@groplay.com')]
ADMIN_DEBUG_EMAILS {'AZURE_WEBHOOK': False, 'EMAIL_CONFIRM_REMINDERS_SENT': True, 'LICENSE_REMINDERS_SENT': True, 'NEWSLETTER_SENT': True, 'REMOTE_BACKEND_LOGIN_FAILURE': True, 'REMOTE_BACKEND_LOGIN_SUCCESS': False, 'SKOLON_DAILY_SYNC_FAILURE': True, 'SKOLON_DAILY_SYNC_SUCCESS': False, 'SKOLON_WEBHOOK': False, 'STUDENT_BULK_UPDATE': True}
ALLOWED_HOSTS ['dev.growplanet.groplay.com', 'growplanet-lms-dev.azurewebsites.net', '127.0.0.1', 'localhost']
APPEND_SLASH True
AUTHENTICATION_BACKENDS ['users.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS '********************'
AUTH_USER_MODEL 'users.User'
AZURE_ACCOUNT_KEY '********************'
AZURE_ACCOUNT_NAME 'growplanet'
AZURE_CONTAINER 'media-dev'
BASE_DIR PosixPath('/app')
BOOTSTRAP5 {'form_renderers': {'default': 'edulms.bootstrap5.renderers.FormRenderer'}, 'required_css_class': 'required', 'success_css_class': ''}
CACHEOPS {'azure.AzureClassLicense': {}, 'azure.AzureSchoolLicense': {}, 'azure.AzureSubscription': {}, 'contenttypes.ContentType': {'ops': 'all'}, 'education.*': {}, 'edulms.LicensePrice': {}, 'edulms.News': {'ops': 'all'}, 'edulms.Notification': {}, 'edulms.Settings': {}, 'edulms.Tag': {'ops': 'all'}, 'game.Activity': {}, 'game.ActivityType': {'ops': 'all'}, 'game.Area': {}, 'game.Area_disabled_for': {}, 'game.Exam': {}, 'game.ExerciseRoom': {}, 'game.ExerciseRoom_disabled_for': {}, 'help.HelpArticle': {'ops': 'all'}, 'help.PageHelpText': {'ops': 'all'}, 'licenses.*': {}, 'oauth2.Application': {}, 'oauth2.PlayerAccessToken': '********************', 'plays.ExamResult': {}, 'plays.GameSession': {}, 'plays.GameState': {}, 'plays.PhysicsBuild': {}, 'plays.SchoolClassExam': {}, 'plays.Solution': {}, 'plays.VoxelData': {}, 'remote_backends.RemoteIdentity': {}, 'remote_backends.SchoolClassRemoteIdentity': {}, 'remote_backends.SchoolRemoteIdentity': {}, 'remote_backends.StudentRemoteIdentity': {}, 'remote_backends.TeacherRemoteIdentity': {}, 'schools.*': {}, 'skolon.SkolonLicense': {}, 'skolon.SkolonOrganization': {}, 'users.Parent': {}, 'users.Player': {}, 'users.PlayerAreaPosition': {}, 'users.PlayerToken': '********************', 'users.Student': {}, 'users.Teacher': {}, 'users.TeacherPendingSchoolClass': {}, 'users.User': {}}
CACHEOPS_DEFAULTS {'timeout': 3600}
CACHEOPS_REDIS {'db': 3, 'host': 'growplanet.redis.cache.windows.net', 'password': '********************', 'port': 6380, 'ssl': True}
CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS 'default'
CACHE_MIDDLEWARE_KEY_PREFIX '********************'
CACHE_MIDDLEWARE_SECONDS 600
CALL_COMMAND_SECRET '********************'
CELERY_ACCEPT_CONTENT {'pickle', 'json'}
CELERY_BEAT_MAX_LOOP_INTERVAL 300
CELERY_BEAT_SCHEDULER 'edulms.schedulers:Scheduler'
CELERY_BROKER_URL 'rediss://:ZXL73txQ16Fkv9436TPQvbCVf0dlYfR4qAzCaOGXv5Y=@growplanet.redis.cache.windows.net:6380/3?ssl_cert_reqs=required'
CELERY_RESULT_BACKEND 'django-db'
CELERY_RESULT_EXPIRES datetime.timedelta(days=30)
CELERY_RESULT_EXTENDED True
CELERY_TASK_SERIALIZER 'pickle'
CELERY_TIMEZONE 'Europe/Stockholm'
CELERY_WORKER_TIMER_PRECISION 60
CKEDITOR_CONFIGS {'default': {'bodyClass': 'teacher-material', 'embed_provider': '//ckeditor.iframe.ly/api/oembed?url={url}&callback={callback}&playerjs=true', 'extraPlugins': 'image2,a11yhelp,autoembed,embed,html5video,djangolink', 'removePlugins': 'image,smiley,scayt,flash', 'resize_dir': 'both', 'stylesSet': [{'attributes': {'class': 'yellow-box'}, 'element': 'div', 'name': 'Yellow box'}, {'attributes': {'class': 'dotted-box'}, 'element': 'div', 'name': 'Dotted box'}, {'attributes': {'class': 'fw-image'}, 'element': 'div', 'name': 'Full-width image'}], 'toolbar': 'Custom', 'toolbar_Custom': [['Styles', 'Format', 'Bold', 'Italic', 'Underline', 'Strike', 'Superscript', 'TextColor'], ['Undo', 'Redo'], ['BulletedList', 'NumberedList'], ['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'], ['Djangolink', 'Link', 'Unlink', 'Anchor'], ['Image', 'Html5video', 'SpecialChar'], ['Source', 'Maximize']], 'width': '800px'}, 'minimal': {'removePlugins': 'image,smiley,scayt,flash', 'resize_dir': 'both', 'toolbar': [['Format', 'Bold', 'Italic', 'Underline', 'Strike'], ['Undo', 'Redo'], ['BulletedList', 'NumberedList'], ['Link', 'Unlink']], 'width': '800px'}, 'small': {'extraPlugins': 'image2', 'removePlugins': 'image,smiley,scayt,flash', 'resize_dir': 'both', 'toolbar': [['Format', 'Bold', 'Italic', 'Underline', 'Strike'], ['Undo', 'Redo'], ['BulletedList', 'NumberedList'], ['Link', 'Unlink'], ['Image']], 'width': '800px'}}
CKEDITOR_CONFIG_DEFAULTS {'removePlugins': 'image,smiley,scayt,flash', 'resize_dir': 'both', 'width': '800px'}
CKEDITOR_UPLOAD_PATH 'ckeditor'
CONTENT_SECURITY_POLICY {'default-src': "'self' cke4.ckeditor.com fonts.gstatic.com", 'img-src': "'self' growplanet.blob.core.windows.net *.googleusercontent.com " '*.groplay.com cdn.redoc.ly data:', 'media-src': "'self' *.groplay.com growplanet.blob.core.windows.net data:", 'script-src': "'self' 'unsafe-inline' 'unsafe-eval' cdn.jsdelivr.net blob:", 'style-src': "'self' 'unsafe-inline' fonts.googleapis.com"}
COOKIE_CONSENT_COOKIE_NAME 'cookieconsent_status'
CORS_ALLOW_ALL_ORIGINS True
CORS_ALLOW_CREDENTIALS True
CORS_EXPOSE_HEADERS ['ETag']
CORS_URLS_REGEX '^/(api|oauth2)/.*$'
CSRF_COOKIE_AGE 31449600
CSRF_COOKIE_DOMAIN None
CSRF_COOKIE_HTTPONLY False
CSRF_COOKIE_NAME 'csrftoken'
CSRF_COOKIE_PATH '/'
CSRF_COOKIE_SAMESITE 'Lax'
CSRF_COOKIE_SECURE False
CSRF_FAILURE_VIEW 'edulms.views.concrete.csrf_failure'
CSRF_HEADER_NAME 'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS []
CSRF_USE_SESSIONS True
DATABASES {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'edulms.db.mssql', 'HOST': 'growplanet.database.windows.net', 'NAME': 'growplanet-dev', 'OPTIONS': {'driver': 'ODBC Driver 18 for SQL Server', 'extra_params': 'Authentication=ActiveDirectoryMsi'}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': ''}, 'dev': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'edulms.db.mssql', 'HOST': 'growplanet.database.windows.net', 'NAME': 'growplanet-dev', 'OPTIONS': {'driver': 'ODBC Driver 18 for SQL Server', 'extra_params': 'Authentication=ActiveDirectoryMsi'}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': ''}, 'local': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.sqlite3', 'HOST': '', 'NAME': 'dev.sqlite3', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': ''}, 'production': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'edulms.db.mssql', 'HOST': 'growplanet.database.windows.net', 'NAME': 'growplanet', 'OPTIONS': {'driver': 'ODBC Driver 18 for SQL Server', 'extra_params': 'Authentication=ActiveDirectoryMsi'}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': ''}}
DATABASE_ROUTERS []
DATA_UPLOAD_MAX_MEMORY_SIZE 2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS 1000
DATA_UPLOAD_MAX_NUMBER_FILES 100
DATETIME_FORMAT 'N j, Y, P'
DATETIME_INPUT_FORMATS ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M']
DATE_FORMAT 'N j, Y'
DATE_INPUT_FORMATS ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']
DEBUG True
DEBUG_PROPAGATE_EXCEPTIONS False
DEBUG_TOOLBAR_CONFIG {'HIDE_IN_STACKTRACES': ('socketserver', 'threading', 'wsgiref', 'debug_toolbar', 'django.db', 'django.core.handlers', 'django.core.servers', 'django.utils.decorators', 'django.utils.deprecation', 'django.utils.functional', 'django.template', 'sentry_sdk', 'django.views'), 'OBSERVE_REQUEST_CALLBACK': <function observe_request at 0x718f001f4220>, 'RENDER_PANELS': True, 'RESULTS_CACHE_SIZE': 20, 'SHOW_COLLAPSED': True, 'SHOW_TOOLBAR_CALLBACK': <function show_toolbar at 0x718f001f42c0>}
DEBUG_TOOLBAR_PANELS ['debug_toolbar.panels.history.HistoryPanel', 'debug_toolbar.panels.versions.VersionsPanel', 'debug_toolbar.panels.timer.TimerPanel', 'debug_toolbar.panels.settings.SettingsPanel', 'debug_toolbar.panels.headers.HeadersPanel', 'debug_toolbar.panels.request.RequestPanel', 'debug_toolbar.panels.sql.SQLPanel', 'debug_toolbar.panels.staticfiles.StaticFilesPanel', 'debug_toolbar.panels.templates.TemplatesPanel', 'debug_toolbar.panels.cache.CachePanel', 'debug_toolbar.panels.signals.SignalsPanel', 'debug_toolbar.panels.redirects.RedirectsPanel', 'debug_toolbar.panels.profiling.ProfilingPanel']
DECIMAL_SEPARATOR '.'
DEFAULT_AUTO_FIELD 'django.db.models.AutoField'
DEFAULT_CHARSET 'utf-8'
DEFAULT_EXCEPTION_REPORTER 'django.views.debug.ExceptionReporter'
DEFAULT_EXCEPTION_REPORTER_FILTER 'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE 'edulms.storage.AzureStorage'
DEFAULT_FROM_EMAIL 'Grow Planet <alerts-growplanet@groplay.com>'
DEFAULT_HASHING_ALGORITHM 'sha256'
DEFAULT_INDEX_TABLESPACE ''
DEFAULT_TABLESPACE ''
DEFAULT_USER_LANGUAGE 'en'
DISALLOWED_USER_AGENTS []
DJANGO_DB 'dev'
DJANGO_ENVIRONMENT 'dev'
EMAIL_BACKEND 'edulms.mail.EmailBackend'
EMAIL_CONFIGS {'default': {'address': 'Grow Planet <alerts-growplanet@groplay.com>', 'host': 'mailcluster.loopia.se', 'password': '********************', 'port': 465, 'use_ssl': True, 'user': 'alerts-growplanet@groplay.com'}, 'reports': {'address': 'Grow Planet <reports-growplanet@groplay.com>', 'host': 'mailcluster.loopia.se', 'password': '********************', 'port': 465, 'use_ssl': True, 'user': 'reports-growplanet@groplay.com'}}
EMAIL_HOST 'mailcluster.loopia.se'
EMAIL_HOST_PASSWORD '********************'
EMAIL_HOST_USER 'alerts-growplanet@groplay.com'
EMAIL_PORT 465
EMAIL_SSL_CERTFILE None
EMAIL_SSL_KEYFILE '********************'
EMAIL_SUBJECT_PREFIX '[edulms/dev] '
EMAIL_TIMEOUT 10
EMAIL_USE_LOCALTIME False
EMAIL_USE_SSL True
EMAIL_USE_TLS False
EMAIL_VERIFICATION_REMINDERS [1, 3, 7]
EXAM_DEFINITION_URL 'https://files.groplay.com/growplanet/exams/exam-{slug}.json'
EXAM_QUESTIONS_URL 'https://api.groplay.com/cgi-bin/2/quiz.py?action=getQuestionsById&lang={language}&questionId={question_ids}'
FILE_UPLOAD_DIRECTORY_PERMISSIONS None
FILE_UPLOAD_HANDLERS ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE 2621440
FILE_UPLOAD_PERMISSIONS 420
FILE_UPLOAD_TEMP_DIR None
FIRST_DAY_OF_WEEK 1
FIXTURE_DIRS []
FORCE_SCRIPT_NAME None
FORMAT_MODULE_PATH ['edulms.formats']
FORM_RENDERER 'django.forms.renderers.TemplatesSetting'
GROPLAY_EMAIL 'growplanet@groplay.com'
GROPLAY_PHONE '+46766499355'
GROPLAY_PHONE_TRANSLATED '+46 76 6499355'
IGNORABLE_404_URLS []
IMPORT_EXPORT_TMP_STORAGE_CLASS 'edulms.django_import_export.tmp_storages.CustomTempFolderStorage'
INACTIVITY_TIMEOUT_EXEMPTED_VIEWS ['poll-timeout', 'notifications:list']
INACTIVITY_TIMEOUT_SECONDS 1800
INACTIVITY_TIMEOUT_SESSION_KEY '********************'
INSTALLED_APPS ['debug_toolbar', 'modeltranslation', 'dal', 'dal_select2', 'edulms.apps.EdulmsAdminConfig', 'api.v2', 'oauth2', 'edulms.apps.EdulmsConfig', 'groplay_django', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.forms', 'django.contrib.humanize', 'polymorphic', 'rest_framework', 'oauth2_provider', 'webpack_loader', 'django_extensions', 'bootstrap5', 'view_breadcrumbs', 'adminsortable2', 'ckeditor', 'ckeditor_uploader', 'import_export', 'corsheaders', 'django_user_agents', 'cacheops', 'django_premailer', 'django_celery_beat', 'django_celery_results', 'statici18n', 'django_filters', 'users', 'schools', 'game', 'plays', 'api.v1', 'education', 'licenses', 'logs', 'help', 'remote_backends', 'remote_backends.providers.skolon', 'remote_backends.providers.azure', 'remote_backends.providers.google', 'silk']
INTERNAL_IPS ['127.0.0.1']
IS_AZURE_PRODUCTION None
IS_GOOGLE_PRODUCTION None
IS_PRODUCTION False
IS_SKOLON_PRODUCTION None
LANGUAGES [('en', 'English'), ('sv', 'Swedish'), ('fr', 'French')]
LANGUAGES_BIDI ['he', 'ar', 'ar-dz', 'fa', 'ur']
LANGUAGE_CODE 'en'
LANGUAGE_COOKIE_AGE None
LANGUAGE_COOKIE_DOMAIN None
LANGUAGE_COOKIE_HTTPONLY False
LANGUAGE_COOKIE_NAME 'django_language'
LANGUAGE_COOKIE_PATH '/'
LANGUAGE_COOKIE_SAMESITE None
LANGUAGE_COOKIE_SECURE False
LICENSE_DEFAULT_REMINDERS [10, 5, 1]
LICENSE_DEFAULT_TRIAL_PERIOD 30
LICENSE_POPUP_DAYS_AFTER 60
LICENSE_SOON_EXPIRING_DAYS 12
LICENSE_TEACHER_TRIAL_PERIOD 60
LOCALE_PATHS [PosixPath('/app/locale')]
LOGGING {'disable_existing_loggers': False, 'filters': {'require_debug_false': {'()': 'django.utils.log.RequireDebugFalse'}, 'require_debug_true': {'()': 'django.utils.log.RequireDebugTrue'}, 'server_filter': {'()': 'edulms.utils.ServerLogFilter'}}, 'formatters': {'django.server': {'()': 'django.utils.log.ServerFormatter', 'format': '[{server_time}] {message}', 'style': '{'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'filters': ['require_debug_true'], 'level': 'DEBUG'}, 'django.server': {'class': 'logging.StreamHandler', 'filters': ['server_filter'], 'formatter': 'django.server', 'level': 'INFO'}, 'logstream': {'class': 'logs.logstream.LogStreamHandler', 'level': 'INFO'}, 'mail_admins': {'class': 'django.utils.log.AdminEmailHandler', 'filters': ['require_debug_false'], 'include_html': True, 'level': 'ERROR'}, 'null': {'class': 'logging.NullHandler'}}, 'loggers': {'django': {'handlers': ['console', 'mail_admins'], 'level': 'INFO', 'propagate': False}, 'django.security.DisallowedHost': {'handlers': ['null'], 'propagate': False}, 'django.server': {'handlers': ['django.server'], 'level': 'INFO', 'propagate': False}, 'edulms': {'handlers': ['null'], 'propagate': False}, 'logstream': {'handlers': ['logstream'], 'level': 'INFO'}, 'oauthlib': {'handlers': ['console'], 'level': 'DEBUG'}}, 'version': 1}
LOGGING_CONFIG 'logging.config.dictConfig'
LOGIN_REDIRECT_URL 'index'
LOGIN_URL 'users:login'
LOGOUT_REDIRECT_URL None
MANAGERS []
MEDIA_ROOT ''
MEDIA_URL 'https://growplanet.blob.core.windows.net/media-dev/'
MESSAGE_LEVEL 10
MESSAGE_STORAGE 'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE ['silk.middleware.SilkyMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware', 'django.middleware.security.SecurityMiddleware', 'whitenoise.middleware.WhiteNoiseMiddleware', 'corsheaders.middleware.CorsMiddleware', 'edulms.middleware.AltUrlMiddleware', 'edulms.middleware.CSPMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'edulms.middleware.TimezoneMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'edulms.middleware.TutorialMiddleware', 'edulms.middleware.LocaleMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'edulms.middleware.InactivityTimeoutMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django_user_agents.middleware.UserAgentMiddleware', 'edulms.middleware.SetLanguageMiddleware']
MIGRATION_MODULES {}
MODELTRANSLATION_DEFAULT_LANGUAGE 'en'
MONTH_DAY_FORMAT 'F j'
NO_CACHE False
NUMBER_GROUPING 0
OAUTH2_PROVIDER {'ACCESS_TOKEN_ADMIN_CLASS': '********************', 'ACCESS_TOKEN_EXPIRE_SECONDS': '********************', 'OAUTH2_VALIDATOR_CLASS': 'oauth2.validators.PlayerTokenValidator', 'REFRESH_TOKEN_ADMIN_CLASS': '********************'}
OAUTH2_PROVIDER_ACCESS_TOKEN_MODEL '********************'
OAUTH2_PROVIDER_APPLICATION_MODEL 'oauth2.Application'
OAUTH2_PROVIDER_GRANT_MODEL 'oauth2.Grant'
OAUTH2_PROVIDER_ID_TOKEN_MODEL '********************'
OAUTH2_PROVIDER_REFRESH_TOKEN_MODEL '********************'
PASSWORD_HASHERS '********************'
PASSWORD_RESET_TIMEOUT '********************'
PASSWORD_RESET_TIMEOUT_DAYS '********************'
PREMAILER_OPTIONS {'base_url': 'https://dev.growplanet.groplay.com/', 'capitalize_float_margin': '********************', 'cssutils_logging_level': 50, 'disable_validation': True, 'strip_important': False}
PREPEND_WWW False
PYFLAME_CONFIG {'FLAMEGRAPH_SCRIPT_EXTRA_ARGS': ['--width=1600'], 'FLAMEGRAPH_SCRIPT_PATH': PosixPath('/app/submodules/FlameGraph/flamegraph.pl')}
REMOTE_BACKENDS {'azure': {'api_url': '********************', 'auth_url': 'https://login.microsoftonline.com/', 'authority': 'https://login.microsoftonline.com/3665e525-0af4-4db9-bda0-e012d4e9a15a', 'basic_scopes': ['User.Read', 'User.ReadBasic.All', 'email'], 'client_id': '2713ccc6-3d7b-4c09-925d-7d92f9204164', 'client_secret': '********************', 'extended_scopes': ['User.Read', 'User.ReadBasic.All', 'EduRoster.ReadBasic', 'email'], 'marketplace_url': 'https://marketplaceapi.microsoft.com/api/saas/subscriptions/', 'offer': {'id': 'growplanet_sell', 'plan_ids': {'class': 'class', 'school': 'school'}, 'publisher_id': 'groplaydigitalab1612451076151'}, 'scopes': ['User.Read', 'User.ReadBasic.All', 'EduRoster.ReadBasic', 'email'], 'tenant': '3665e525-0af4-4db9-bda0-e012d4e9a15a'}, 'google': {'scopes': ['openid', 'https://www.googleapis.com/auth/userinfo.email', 'https://www.googleapis.com/auth/userinfo.profile', 'https://www.googleapis.com/auth/classroom.courses.readonly', 'https://www.googleapis.com/auth/classroom.rosters.readonly'], 'web': {'auth_provider_x509_cert_url': 'https://www.googleapis.com/oauth2/v1/certs', 'auth_uri': 'https://accounts.google.com/o/oauth2/auth', 'client_id': '844251137468-m3q3t7j62op0eqta1atjv64s0r15g46k.apps.googleusercontent.com', 'client_secret': '********************', 'javascript_origins': ['http://127.0.0.1:8000', 'http://localhost:8000', 'https://staging.growplanet.groplay.com'], 'project_id': 'grow-planet-312210', 'redirect_uris': ['http://127.0.0.1:8000/remote-backends/google/callback/', 'http://localhost:8000/remote-backends/google/callback/', 'https://dev.growplanet.groplay.com/remote-backends/google/callback/'], 'token_uri': '********************'}}, 'skolon': {'api_url': '********************', 'app_ext_id': 'GrowPlanet', 'auth_url': 'https://idp-test.skolon.com/oauth/auth', 'client_id': 'qjZHxPM6uUA9FnMYn9F8r5xlcGbc2J61', 'client_secret': '********************', 'scope': ['authenticatedUser.groups.read', 'authenticatedUser.profile.read', 'authenticatedUser.school.read', 'authenticatedUser.profile.identifier', 'authenticatedUser.licenses.read'], 'token_url': '********************'}}
REST_FRAMEWORK {'DEFAULT_AUTHENTICATION_CLASSES': ('oauth2_provider.contrib.rest_framework.OAuth2Authentication',), 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', 'DEFAULT_SCHEMA_CLASS': 'api.v2.schemas.Schema', 'EXCEPTION_HANDLER': 'api.v2.views.exception_handler', 'PAGE_SIZE': 1000}
ROOT_URL 'https://dev.growplanet.groplay.com/'
ROOT_URLCONF 'edulms.urls'
SECRET_KEY '********************'
SECURE_BROWSER_XSS_FILTER False
SECURE_CONTENT_TYPE_NOSNIFF True
SECURE_HSTS_INCLUDE_SUBDOMAINS False
SECURE_HSTS_PRELOAD False
SECURE_HSTS_SECONDS 0
SECURE_PROXY_SSL_HEADER None
SECURE_REDIRECT_EXEMPT []
SECURE_REFERRER_POLICY 'same-origin'
SECURE_SSL_HOST None
SECURE_SSL_REDIRECT False
SERVER_EMAIL 'Grow Planet <alerts-growplanet@groplay.com>'
SESSION_CACHE_ALIAS 'default'
SESSION_COOKIE_AGE 1209600
SESSION_COOKIE_DOMAIN None
SESSION_COOKIE_HTTPONLY True
SESSION_COOKIE_NAME 'sessionid'
SESSION_COOKIE_PATH '/'
SESSION_COOKIE_SAMESITE 'Lax'
SESSION_COOKIE_SECURE True
SESSION_ENGINE 'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE True
SESSION_FILE_PATH None
SESSION_SAVE_EVERY_REQUEST False
SESSION_SERIALIZER 'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE 'edulms.settings'
SHELL_PLUS_IMPORTS ['import datetime', 'import ipdb', 'import re', 'from django.db.models import CharField, DateField, DateTimeField, ' 'IntegerField, Value as V', 'from django.db.models.functions import Cast, Coalesce, Concat', 'from groplay_django.db import PercentRounded, TrueIf, TrueIfAny', 'from groplay_python.utils import getitem0_nullable']
SHELL_PLUS_PRINT_SQL_TRUNCATE None
SHELL_PLUS_SQLPARSE_FORMAT_KWARGS {}
SHORT_DATETIME_FORMAT 'm/d/Y P'
SHORT_DATE_FORMAT 'm/d/Y'
SIGNING_BACKEND 'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS []
SILKY_ANALYZE_QUERIES True
SILKY_AUTHENTICATION True
SILKY_INTERCEPT_FUNC <function <lambda> at 0x718f001f60c0>
SILKY_MAX_REQUEST_BODY_SIZE 1024
SILKY_MAX_RESPONSE_BODY_SIZE 1024
SILKY_META True
SILKY_PERMISSIONS <function <lambda> at 0x718f0019cb80>
SILKY_PYTHON_PROFILER True
SILKY_PYTHON_PROFILER_BINARY True
STATICFILES_DIRS [('vendor', PosixPath('/app/assets/vendor')), ('bundles', PosixPath('/app/assets/bundles')), ('statici18n', PosixPath('/app/edulms/static'))]
STATICFILES_FINDERS ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE 'whitenoise.storage.CompressedManifestStaticFilesStorage'
STATICI18N_DOMAIN 'djangojs'
STATICI18N_FILENAME_FUNCTION 'statici18n.utils.default_filename'
STATICI18N_NAMESPACE None
STATICI18N_OUTPUT_DIR 'jsi18n'
STATICI18N_PACKAGES 'django.conf'
STATICI18N_ROOT PosixPath('/app/edulms/static')
STATIC_ROOT PosixPath('/app/static')
STATIC_URL '/static/'
TEMPLATED_EMAIL_BACKEND 'edulms.mail.TemplateBackend'
TEMPLATED_EMAIL_FILE_EXTENSION 'html'
TEMPLATED_EMAIL_TEMPLATE_DIR 'email/'
TEMPLATES [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [PosixPath('/app/templates')], 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.template.context_processors.static', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'edulms.context_processors.edulms_context'], 'debug': False}}]
TEST_NON_SERIALIZED_APPS []
TEST_RUNNER 'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR ','
TIMEZONE_SESSION_KEY '********************'
TIME_FORMAT 'P'
TIME_INPUT_FORMATS ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE 'Europe/Stockholm'
USE_I18N True
USE_L10N True
USE_OAUTH2 True
USE_THOUSAND_SEPARATOR False
USE_TZ True
USE_X_FORWARDED_HOST True
USE_X_FORWARDED_PORT False
WEBGL_BUILD_VIEWER_URL 'https://groplay.com/web-games/planet-build-viewer/'
WEBGL_GAME_URL 'https://www.groplay.com/web-games/planet/'
WEBGL_PLAYER_TOKEN_PARAMETER '********************'
WEBPACK_LOADER {'DEFAULT': {'BUNDLE_DIR_NAME': 'bundles/', 'STATS_FILE': PosixPath('/app/webpack-stats-local.json'), 'TIMEOUT': 5}}
WSGI_APPLICATION 'edulms.wsgi.application'
X_FRAME_OPTIONS 'DENY'
YEAR_MONTH_FORMAT 'F Y'

Headers

Request headers

Key Value
Accept */*
Accept-Encoding gzip, br, zstd, deflate
Client-Ip 18.219.61.156:42537
Cookie => see Request panel
Disguised-Host dev.growplanet.groplay.com
Host dev.growplanet.groplay.com
Max-Forwards 10
Referer https://dev.growplanet.groplay.com/debug/9/
User-Agent Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Was-Default-Hostname growplanet-lms-dev.azurewebsites.net
X-Appservice-Proto https
X-Arr-Log-Id 5e374cc2-8d17-4566-badc-2006bb057f06
X-Arr-Ssl 2048|256|CN=GeoTrust Global TLS RSA4096 SHA256 2022 CA1, O="DigiCert, Inc.", C=US|CN=dev.growplanet.groplay.com
X-Client-Ip 18.219.61.156
X-Client-Port 42537
X-Forwarded-For 18.219.61.156:42537
X-Forwarded-Proto https
X-Forwarded-Tlsversion 1.3
X-Original-Url /classes/1265/
X-Site-Deployment-Id growplanet-lms__e434
X-Waws-Unencoded-Url /classes/1265/

Response headers

Key Value
Content-Language en
Content-Length 89325
Content-Security-Policy default-src 'self' cke4.ckeditor.com fonts.gstatic.com; img-src 'self' growplanet.blob.core.windows.net *.googleusercontent.com *.groplay.com cdn.redoc.ly data:; media-src 'self' *.groplay.com growplanet.blob.core.windows.net data:; script-src 'self' 'unsafe-inline' 'unsafe-eval' cdn.jsdelivr.net blob:; style-src 'self' 'unsafe-inline' fonts.googleapis.com;
Content-Type text/html; charset=utf-8
Referrer-Policy same-origin
Vary Accept-Language, Cookie
X-Content-Type-Options nosniff
X-Frame-Options DENY

WSGI environ

Since the WSGI environ inherits the environment of the server, only a significant subset is shown below.

Key Value
PATH_INFO /classes/1265/
QUERY_STRING
REMOTE_ADDR 169.254.130.1
REQUEST_METHOD GET
SCRIPT_NAME
SERVER_NAME 0.0.0.0
SERVER_PORT 80
SERVER_PROTOCOL HTTP/1.1
SERVER_SOFTWARE gunicorn/23.0.0

Request

View information

View function Arguments Keyword arguments URL name
schools.views.generic.SchoolClassDetailView () {'class_id': 1265} schools:classes:detail

Cookies

Variable Value
'sessionid' '0oy77d9c7vfw4swb777nisw1rpjet8g8'

Session data

Variable Value
'_auth_user_backend' 'users.backends.ModelBackend'
'_auth_user_hash' '52739f0c107393064e06bb34fa87788a8addfb7151e6d237e5617271c4b08f98'
'_auth_user_id' '27806'
'_csrftoken' 'TxA4CzLMBHQ6bhRUG31NOLvwAcutsLewVgIb7Sfd6gajHmINdtw3ZQgGrKQtHlir'
'_language' 'en'
'expired_license_notification_id' 217
'session_modals' []
'timezone' 'Europe/Stockholm'
'welcome_messages' []

No GET data

No POST data

SQL queries from 1 connection

  • default 4505.50 ms (54 queries including 13 similar and 13 duplicates )
Query Timeline Time (ms) Action
SELECT TOP 21 [django_session].[session_key],
       [django_session].[session_data],
       [django_session].[expire_date]
  FROM [django_session]
 WHERE ([django_session].[expire_date] > datetime.datetime(2025, 4, 29, 7, 45, 13, 692571, tzinfo=datetime.timezone.utc) AND [django_session].[session_key] = '0oy77d9c7vfw4swb777nisw1rpjet8g8')
SELECT ••• FROM [django_session] WHERE ([django_session].[expire_date] > datetime.datetime(2025, 4, 29, 7, 45, 13, 692571, tzinfo=datetime.timezone.utc) AND [django_session].[session_key] = '0oy77d9c7vfw4swb777nisw1rpjet8g8')
0.93

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(159)
  tz = request.session.get(settings.TIMEZONE_SESSION_KEY)

/app/.venv/lib/python3.11/site-packages/django/contrib/sessions/backends/base.py in get(80)
  return self._session.get(key, default)

/app/.venv/lib/python3.11/site-packages/django/contrib/sessions/backends/base.py in _get_session(238)
  self._session_cache = self.load()

/app/.venv/lib/python3.11/site-packages/django/contrib/sessions/backends/db.py in load(43)
  s = self._get_session_from_db()

/app/.venv/lib/python3.11/site-packages/django/contrib/sessions/backends/db.py in _get_session_from_db(32)
  return self.model.objects.get(

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in get(346)
  return qs._no_monkey.get(qs, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(250)
  return self._no_monkey._fetch_all(self)

SELECT TOP 1 [users_user].[id],
       [users_user].[password],
       [users_user].[last_login],
       [users_user].[is_superuser],
       [users_user].[username],
       [users_user].[first_name],
       [users_user].[last_name],
       [users_user].[email],
       [users_user].[is_staff],
       [users_user].[is_active],
       [users_user].[date_joined],
       [users_user].[language],
       [users_user].[has_logged_in],
       [users_user].[email_verified],
       [users_user].[email_verified_time],
       [users_user].[show_tutorial],
       [users_user].[last_active_class_id],
       [users_user].[previous_login],
       [users_user].[timezone],
       [users_user].[created_by_id],
       [users_user].[is_coworker],
       [users_user].[receives_newsletter]
  FROM [users_user]
 WHERE ([users_user].[is_active] = True AND [users_user].[id] = 27806)
 ORDER BY [users_user].[id] ASC
SELECT ••• FROM [users_user] WHERE ([users_user].[is_active] = True AND [users_user].[id] = 27806) ORDER BY [users_user].[id] ASC
0.86

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in process_request(62)
  if hasattr(request, "user") and isinstance(request.user, User):

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/middleware.py in <lambda>(23)
  request.user = SimpleLazyObject(lambda: get_user(request))

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/middleware.py in get_user(11)
  request._cached_user = auth.get_user(request)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/__init__.py in get_user(184)
  user = backend.get_user(user_id)

/app/users/backends.py in get_user(32)
  return user_qs.filter(pk=user_id).first()

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in first(350)
  return self._no_monkey.first(self._clone().cache())

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

SELECT [edulms_recommendpollresult].[id],
       [edulms_recommendpollresult].[user_id],
       [edulms_recommendpollresult].[likeliness],
       [edulms_recommendpollresult].[created]
  FROM [edulms_recommendpollresult]
 WHERE [edulms_recommendpollresult].[user_id] IN (27806)
SELECT ••• FROM [edulms_recommendpollresult] WHERE [edulms_recommendpollresult].[user_id] IN (27806)
0.83

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in process_request(62)
  if hasattr(request, "user") and isinstance(request.user, User):

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/middleware.py in <lambda>(23)
  request.user = SimpleLazyObject(lambda: get_user(request))

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/middleware.py in get_user(11)
  request._cached_user = auth.get_user(request)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/__init__.py in get_user(184)
  user = backend.get_user(user_id)

/app/users/backends.py in get_user(32)
  return user_qs.filter(pk=user_id).first()

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in first(350)
  return self._no_monkey.first(self._clone().cache())

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(263)
  return self._no_monkey._fetch_all(self)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(250)
  return self._no_monkey._fetch_all(self)

SELECT [users_user].[id],
       [users_user].[password],
       [users_user].[last_login],
       [users_user].[is_superuser],
       [users_user].[username],
       [users_user].[first_name],
       [users_user].[last_name],
       [users_user].[email],
       [users_user].[is_staff],
       [users_user].[is_active],
       [users_user].[date_joined],
       [users_user].[language],
       [users_user].[has_logged_in],
       [users_user].[email_verified],
       [users_user].[email_verified_time],
       [users_user].[show_tutorial],
       [users_user].[last_active_class_id],
       [users_user].[previous_login],
       [users_user].[timezone],
       [users_user].[created_by_id],
       [users_user].[is_coworker],
       [users_user].[receives_newsletter],
       [users_teacher].[player_id],
       [users_teacher].[is_test],
       [users_teacher].[user_id],
       [users_teacher].[creation_method]
  FROM [users_teacher]
 INNER JOIN [users_user]
    ON ([users_teacher].[user_id] = [users_user].[id])
 WHERE [users_teacher].[user_id] IN (27806)
SELECT ••• FROM [users_teacher] INNER JOIN [users_user] ON ([users_teacher].[user_id] = [users_user].[id]) WHERE [users_teacher].[user_id] IN (27806)
1.07

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in process_request(62)
  if hasattr(request, "user") and isinstance(request.user, User):

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/middleware.py in <lambda>(23)
  request.user = SimpleLazyObject(lambda: get_user(request))

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/middleware.py in get_user(11)
  request._cached_user = auth.get_user(request)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/__init__.py in get_user(184)
  user = backend.get_user(user_id)

/app/users/backends.py in get_user(32)
  return user_qs.filter(pk=user_id).first()

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in first(350)
  return self._no_monkey.first(self._clone().cache())

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(263)
  return self._no_monkey._fetch_all(self)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

SELECT [users_player].[id],
       [users_player].[points]
  FROM [users_player]
 WHERE [users_player].[id] IN (71616)
SELECT ••• FROM [users_player] WHERE [users_player].[id] IN (71616)
2 similar queries. Duplicated 2 times.
0.93

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in process_request(62)
  if hasattr(request, "user") and isinstance(request.user, User):

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/middleware.py in <lambda>(23)
  request.user = SimpleLazyObject(lambda: get_user(request))

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/middleware.py in get_user(11)
  request._cached_user = auth.get_user(request)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/__init__.py in get_user(184)
  user = backend.get_user(user_id)

/app/users/backends.py in get_user(32)
  return user_qs.filter(pk=user_id).first()

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in first(350)
  return self._no_monkey.first(self._clone().cache())

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(263)
  return self._no_monkey._fetch_all(self)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(263)
  return self._no_monkey._fetch_all(self)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

SELECT [remote_backends_remoteidentity].[id],
       [remote_backends_remoteidentity].[backend],
       [remote_backends_remoteidentity].[is_active],
       [remote_backends_remoteidentity].[extra_data],
       [remote_backends_remoteidentity].[remote_id],
       [remote_backends_teacherremoteidentity].[remoteidentity_ptr_id],
       [remote_backends_teacherremoteidentity].[teacher_id]
  FROM [remote_backends_teacherremoteidentity]
 INNER JOIN [remote_backends_remoteidentity]
    ON ([remote_backends_teacherremoteidentity].[remoteidentity_ptr_id] = [remote_backends_remoteidentity].[id])
 WHERE [remote_backends_teacherremoteidentity].[teacher_id] IN (27806)
SELECT ••• FROM [remote_backends_teacherremoteidentity] INNER JOIN [remote_backends_remoteidentity] ON ([remote_backends_teacherremoteidentity].[remoteidentity_ptr_id] = [remote_backends_remoteidentity].[id]) WHERE [remote_backends_teacherremoteidentity].[teacher_id] IN (27806)
1.18

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in process_request(62)
  if hasattr(request, "user") and isinstance(request.user, User):

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/middleware.py in <lambda>(23)
  request.user = SimpleLazyObject(lambda: get_user(request))

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/middleware.py in get_user(11)
  request._cached_user = auth.get_user(request)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/__init__.py in get_user(184)
  user = backend.get_user(user_id)

/app/users/backends.py in get_user(32)
  return user_qs.filter(pk=user_id).first()

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in first(350)
  return self._no_monkey.first(self._clone().cache())

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(263)
  return self._no_monkey._fetch_all(self)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(263)
  return self._no_monkey._fetch_all(self)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

SELECT [users_user].[id],
       [users_user].[password],
       [users_user].[last_login],
       [users_user].[is_superuser],
       [users_user].[username],
       [users_user].[first_name],
       [users_user].[last_name],
       [users_user].[email],
       [users_user].[is_staff],
       [users_user].[is_active],
       [users_user].[date_joined],
       [users_user].[language],
       [users_user].[has_logged_in],
       [users_user].[email_verified],
       [users_user].[email_verified_time],
       [users_user].[show_tutorial],
       [users_user].[last_active_class_id],
       [users_user].[previous_login],
       [users_user].[timezone],
       [users_user].[created_by_id],
       [users_user].[is_coworker],
       [users_user].[receives_newsletter],
       [users_parent].[user_id]
  FROM [users_parent]
 INNER JOIN [users_user]
    ON ([users_parent].[user_id] = [users_user].[id])
 WHERE [users_parent].[user_id] IN (27806)
SELECT ••• FROM [users_parent] INNER JOIN [users_user] ON ([users_parent].[user_id] = [users_user].[id]) WHERE [users_parent].[user_id] IN (27806)
0.86

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in process_request(62)
  if hasattr(request, "user") and isinstance(request.user, User):

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/middleware.py in <lambda>(23)
  request.user = SimpleLazyObject(lambda: get_user(request))

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/middleware.py in get_user(11)
  request._cached_user = auth.get_user(request)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/__init__.py in get_user(184)
  user = backend.get_user(user_id)

/app/users/backends.py in get_user(32)
  return user_qs.filter(pk=user_id).first()

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in first(350)
  return self._no_monkey.first(self._clone().cache())

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(263)
  return self._no_monkey._fetch_all(self)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

SELECT [schools_schoolclass].[id],
       [schools_schoolclass].[created],
       [schools_schoolclass].[updated],
       [schools_schoolclass].[created_by_id],
       [schools_schoolclass].[name],
       [schools_schoolclass].[grade],
       [schools_schoolclass].[is_active],
       [schools_schoolclass].[comments],
       [schools_schoolclass].[is_test],
       [schools_schoolclass].[language],
       [schools_schoolclass].[school_id],
       [schools_schoolclass].[creation_method],
       [schools_school].[id],
       [schools_school].[created],
       [schools_school].[updated],
       [schools_school].[created_by_id],
       [schools_school].[name],
       [schools_school].[language],
       [schools_school].[address],
       [schools_school].[zipcode],
       [schools_school].[city],
       [schools_school].[municipality],
       [schools_school].[curriculum_id],
       [schools_school].[country],
       [schools_school].[is_active],
       [schools_school].[comments],
       [schools_school].[skolon_organization_id],
       [schools_school].[creation_method]
  FROM [schools_schoolclass]
 INNER JOIN [schools_school]
    ON ([schools_schoolclass].[school_id] = [schools_school].[id])
 WHERE [schools_schoolclass].[id] IN (1265)
 ORDER BY [schools_schoolclass].[name] ASC
OFFSET 0 ROWS
SELECT ••• FROM [schools_schoolclass] INNER JOIN [schools_school] ON ([schools_schoolclass].[school_id] = [schools_school].[id]) WHERE [schools_schoolclass].[id] IN (1265) ORDER BY [schools_schoolclass].[name] ASC OFFSET 0 ROWS
4.71

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in process_request(62)
  if hasattr(request, "user") and isinstance(request.user, User):

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/middleware.py in <lambda>(23)
  request.user = SimpleLazyObject(lambda: get_user(request))

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/middleware.py in get_user(11)
  request._cached_user = auth.get_user(request)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/__init__.py in get_user(184)
  user = backend.get_user(user_id)

/app/users/backends.py in get_user(32)
  return user_qs.filter(pk=user_id).first()

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in first(350)
  return self._no_monkey.first(self._clone().cache())

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(263)
  return self._no_monkey._fetch_all(self)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

SELECT TOP 1 [edulms_settings].[id],
       [edulms_settings].[name],
       [edulms_settings].[is_active],
       [edulms_settings].[freebuilding_area_id],
       [edulms_settings].[default_curriculum_id],
       [edulms_settings].[manager_emails],
       [edulms_settings].[alerts_reply_to_email],
       [edulms_settings].[reports_reply_to_email],
       [game_area].[id],
       [game_area].[created],
       [game_area].[updated],
       [game_area].[created_by_id],
       [game_area].[name],
       [game_area].[name_en],
       [game_area].[name_sv],
       [game_area].[name_fr],
       [game_area].[description],
       [game_area].[description_en],
       [game_area].[description_sv],
       [game_area].[description_fr],
       [game_area].[exercise_room_id],
       [game_area].[name_in_game],
       [game_area].[name_in_game_en],
       [game_area].[name_in_game_sv],
       [game_area].[name_in_game_fr],
       [game_area].[short_description],
       [game_area].[short_description_en],
       [game_area].[short_description_sv],
       [game_area].[short_description_fr],
       [game_area].[slug],
       [game_area].[is_published],
       [game_area].[is_unlocked_by_default],
       [game_area].[order],
       [game_exerciseroom].[id],
       [game_exerciseroom].[created],
       [game_exerciseroom].[updated],
       [game_exerciseroom].[created_by_id],
       [game_exerciseroom].[name],
       [game_exerciseroom].[name_en],
       [game_exerciseroom].[name_sv],
       [game_exerciseroom].[name_fr],
       [game_exerciseroom].[description],
       [game_exerciseroom].[description_en],
       [game_exerciseroom].[description_sv],
       [game_exerciseroom].[description_fr],
       [game_exerciseroom].[is_published],
       [game_exerciseroom].[slug],
       [education_curriculum].[id],
       [education_curriculum].[name],
       [education_curriculum].[name_en],
       [education_curriculum].[name_sv],
       [education_curriculum].[name_fr]
  FROM [edulms_settings]
  LEFT OUTER JOIN [game_area]
    ON ([edulms_settings].[freebuilding_area_id] = [game_area].[id])
  LEFT OUTER JOIN [game_exerciseroom]
    ON ([game_area].[exercise_room_id] = [game_exerciseroom].[id])
  LEFT OUTER JOIN [education_curriculum]
    ON ([edulms_settings].[default_curriculum_id] = [education_curriculum].[id])
 WHERE [edulms_settings].[is_active] = True
 ORDER BY [edulms_settings].[id] ASC
SELECT ••• FROM [edulms_settings] LEFT OUTER JOIN [game_area] ON ([edulms_settings].[freebuilding_area_id] = [game_area].[id]) LEFT OUTER JOIN [game_exerciseroom] ON ([game_area].[exercise_room_id] = [game_exerciseroom].[id]) LEFT OUTER JOIN [education_curriculum] ON ([edulms_settings].[default_curriculum_id] = [education_curriculum].[id]) WHERE [edulms_settings].[is_active] = True ORDER BY [edulms_settings].[id] ASC
1.18

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/schools/mixins.py in __init__(220)
  self.active_settings = Settings.get_active()

/app/edulms/models.py in get_active(155)
  return inner()

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in wrapper(109)
  result = func(*args, **kwargs)

/app/edulms/models.py in inner(149)
  .first()

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in first(351)
  return self._no_monkey.first(self)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(250)
  return self._no_monkey._fetch_all(self)

SELECT [edulms_licenseprice].[id],
       [edulms_licenseprice].[created],
       [edulms_licenseprice].[updated],
       [edulms_licenseprice].[created_by_id],
       [edulms_licenseprice].[settings_id],
       [edulms_licenseprice].[class_sek],
       [edulms_licenseprice].[class_eur],
       [edulms_licenseprice].[school_sek],
       [edulms_licenseprice].[school_eur],
       [edulms_licenseprice].[start_date],
       [edulms_licenseprice].[end_date]
  FROM [edulms_licenseprice]
 WHERE [edulms_licenseprice].[settings_id] IN (1)
 ORDER BY [edulms_licenseprice].[end_date] DESC,
          [edulms_licenseprice].[start_date] ASC,
          [edulms_licenseprice].[updated] DESC,
          [edulms_licenseprice].[created] DESC
OFFSET 0 ROWS
SELECT ••• FROM [edulms_licenseprice] WHERE [edulms_licenseprice].[settings_id] IN (1) ORDER BY [edulms_licenseprice].[end_date] DESC, [edulms_licenseprice].[start_date] ASC, [edulms_licenseprice].[updated] DESC, [edulms_licenseprice].[created] DESC OFFSET 0 ROWS
2.13

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/schools/mixins.py in __init__(220)
  self.active_settings = Settings.get_active()

/app/edulms/models.py in get_active(155)
  return inner()

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in wrapper(109)
  result = func(*args, **kwargs)

/app/edulms/models.py in inner(149)
  .first()

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in first(351)
  return self._no_monkey.first(self)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(250)
  return self._no_monkey._fetch_all(self)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(250)
  return self._no_monkey._fetch_all(self)

SELECT [game_area].[name_en],
       [game_area].[id],
       CASE WHEN COUNT_BIG(CASE WHEN ([game_area_disabled_for].[schoolclass_id] = 1265) THEN [game_area_disabled_for].[schoolclass_id] ELSE NULL END) > 0 THEN True
            ELSE False
             END AS [disabled]
  FROM [game_area]
  LEFT OUTER JOIN [game_area_disabled_for]
    ON ([game_area].[id] = [game_area_disabled_for].[area_id])
 WHERE ([game_area].[is_published] = True AND [game_area].[exercise_room_id] IS NULL)
 GROUP BY [game_area].[id],
          [game_area].[created],
          [game_area].[updated],
          [game_area].[created_by_id],
          [game_area].[name],
          [game_area].[name_en],
          [game_area].[name_sv],
          [game_area].[name_fr],
          [game_area].[description],
          [game_area].[description_en],
          [game_area].[description_sv],
          [game_area].[description_fr],
          [game_area].[exercise_room_id],
          [game_area].[name_in_game],
          [game_area].[name_in_game_en],
          [game_area].[name_in_game_sv],
          [game_area].[name_in_game_fr],
          [game_area].[short_description],
          [game_area].[short_description_en],
          [game_area].[short_description_sv],
          [game_area].[short_description_fr],
          [game_area].[slug],
          [game_area].[is_published],
          [game_area].[is_unlocked_by_default],
          [game_area].[order]
 ORDER BY [disabled] ASC
OFFSET 0 ROWS
SELECT ••• FROM [game_area] LEFT OUTER JOIN [game_area_disabled_for] ON ([game_area].[id] = [game_area_disabled_for].[area_id]) WHERE ([game_area].[is_published] = True AND [game_area].[exercise_room_id] IS NULL) GROUP BY [game_area].[id], [game_area].[created], [game_area].[updated], [game_area].[created_by_id], [game_area].[name], [game_area].[name_en], [game_area].[name_sv], [game_area].[name_fr], [game_area].[description], [game_area].[description_en], [game_area].[description_sv], [game_area].[description_fr], [game_area].[exercise_room_id], [game_area].[name_in_game], [game_area].[name_in_game_en], [game_area].[name_in_game_sv], [game_area].[name_in_game_fr], [game_area].[short_description], [game_area].[short_description_en], [game_area].[short_description_sv], [game_area].[short_description_fr], [game_area].[slug], [game_area].[is_published], [game_area].[is_unlocked_by_default], [game_area].[order] ORDER BY [disabled] ASC OFFSET 0 ROWS
8.05

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/users/mixins.py in dispatch(42)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/mixins.py in dispatch(71)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/groplay_django/views.py in dispatch(172)
  return super().dispatch(request, *args, **kwargs)

/app/schools/views/generic.py in get_context_data(657)
  context = super().get_context_data(**kwargs)

/app/edulms/views/mixins.py in get_context_data(43)
  return super().get_context_data(**kwargs)

/app/schools/mixins.py in get_context_data(75)
  return super().get_context_data(active_class=self.school_class, **kwargs)

/app/.venv/lib/python3.11/site-packages/view_breadcrumbs/generic/base.py in get_context_data(71)
  return super(BaseBreadcrumbMixin, self).get_context_data(**kwargs)

/app/help/mixins.py in get_context_data(11)
  context = super().get_context_data(**kwargs)  # type: ignore

/app/edulms/views/mixins.py in get_context_data(113)
  sidebar.update(**self.get_context_data_for_class(self.school_class))

/app/edulms/views/mixins.py in get_context_data_for_class(119)
  game_areas = list(

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

/app/.venv/lib/python3.11/site-packages/modeltranslation/manager.py in __iter__(521)
  for row in super().__iter__():

SELECT [game_exerciseroom].[name_en],
       [game_exerciseroom].[id],
       CASE WHEN COUNT_BIG(CASE WHEN ([game_exerciseroom_disabled_for].[schoolclass_id] = 1265) THEN [game_exerciseroom_disabled_for].[schoolclass_id] ELSE NULL END) > 0 THEN True
            ELSE False
             END AS [disabled]
  FROM [game_exerciseroom]
  LEFT OUTER JOIN [game_exerciseroom_disabled_for]
    ON ([game_exerciseroom].[id] = [game_exerciseroom_disabled_for].[exerciseroom_id])
 WHERE [game_exerciseroom].[is_published] = True
 GROUP BY [game_exerciseroom].[id],
          [game_exerciseroom].[created],
          [game_exerciseroom].[updated],
          [game_exerciseroom].[created_by_id],
          [game_exerciseroom].[name],
          [game_exerciseroom].[name_en],
          [game_exerciseroom].[name_sv],
          [game_exerciseroom].[name_fr],
          [game_exerciseroom].[description],
          [game_exerciseroom].[description_en],
          [game_exerciseroom].[description_sv],
          [game_exerciseroom].[description_fr],
          [game_exerciseroom].[is_published],
          [game_exerciseroom].[slug]
 ORDER BY [disabled] ASC
OFFSET 0 ROWS
SELECT ••• FROM [game_exerciseroom] LEFT OUTER JOIN [game_exerciseroom_disabled_for] ON ([game_exerciseroom].[id] = [game_exerciseroom_disabled_for].[exerciseroom_id]) WHERE [game_exerciseroom].[is_published] = True GROUP BY [game_exerciseroom].[id], [game_exerciseroom].[created], [game_exerciseroom].[updated], [game_exerciseroom].[created_by_id], [game_exerciseroom].[name], [game_exerciseroom].[name_en], [game_exerciseroom].[name_sv], [game_exerciseroom].[name_fr], [game_exerciseroom].[description], [game_exerciseroom].[description_en], [game_exerciseroom].[description_sv], [game_exerciseroom].[description_fr], [game_exerciseroom].[is_published], [game_exerciseroom].[slug] ORDER BY [disabled] ASC OFFSET 0 ROWS
73.57

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/users/mixins.py in dispatch(42)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/mixins.py in dispatch(71)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/groplay_django/views.py in dispatch(172)
  return super().dispatch(request, *args, **kwargs)

/app/schools/views/generic.py in get_context_data(657)
  context = super().get_context_data(**kwargs)

/app/edulms/views/mixins.py in get_context_data(43)
  return super().get_context_data(**kwargs)

/app/schools/mixins.py in get_context_data(75)
  return super().get_context_data(active_class=self.school_class, **kwargs)

/app/.venv/lib/python3.11/site-packages/view_breadcrumbs/generic/base.py in get_context_data(71)
  return super(BaseBreadcrumbMixin, self).get_context_data(**kwargs)

/app/help/mixins.py in get_context_data(11)
  context = super().get_context_data(**kwargs)  # type: ignore

/app/edulms/views/mixins.py in get_context_data(113)
  sidebar.update(**self.get_context_data_for_class(self.school_class))

/app/edulms/views/mixins.py in get_context_data_for_class(128)
  exercise_rooms = list(

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

/app/.venv/lib/python3.11/site-packages/modeltranslation/manager.py in __iter__(521)
  for row in super().__iter__():

SELECT [game_exam].[slug],
       [game_exam].[name_en],
       COALESCE((SELECT TOP 1 CASE WHEN (U0.[start_time] > datetime.datetime(2025, 4, 29, 7, 45, 13, 894773, tzinfo=datetime.timezone.utc)) THEN True ELSE False END AS [is_future] FROM [plays_schoolclassexam] U0 WHERE (U0.[exam_id] = [game_exam].[id] AND U0.[school_class_id] = 1265) ORDER BY CASE WHEN (U0.[end_time] >= datetime.datetime(2025, 4, 29, 7, 45, 13, 894773, tzinfo=datetime.timezone.utc) AND U0.[start_time] <= datetime.datetime(2025, 4, 29, 7, 45, 13, 894773, tzinfo=datetime.timezone.utc)) THEN True ELSE False END DESC, [is_future] DESC), False) AS [is_future],
       COALESCE((SELECT TOP 1 CASE WHEN (U0.[end_time] >= datetime.datetime(2025, 4, 29, 7, 45, 13, 894773, tzinfo=datetime.timezone.utc) AND U0.[start_time] <= datetime.datetime(2025, 4, 29, 7, 45, 13, 894773, tzinfo=datetime.timezone.utc)) THEN True ELSE False END AS [is_ongoing] FROM [plays_schoolclassexam] U0 WHERE (U0.[exam_id] = [game_exam].[id] AND U0.[school_class_id] = 1265) ORDER BY [is_ongoing] DESC, CASE WHEN (U0.[start_time] > datetime.datetime(2025, 4, 29, 7, 45, 13, 894773, tzinfo=datetime.timezone.utc)) THEN True ELSE False END DESC), False) AS [is_ongoing],
       COALESCE((SELECT TOP 1 CASE WHEN (U0.[end_time] < datetime.datetime(2025, 4, 29, 7, 45, 13, 894773, tzinfo=datetime.timezone.utc)) THEN True ELSE False END AS [is_ended] FROM [plays_schoolclassexam] U0 WHERE (U0.[exam_id] = [game_exam].[id] AND U0.[school_class_id] = 1265) ORDER BY CASE WHEN (U0.[end_time] >= datetime.datetime(2025, 4, 29, 7, 45, 13, 894773, tzinfo=datetime.timezone.utc) AND U0.[start_time] <= datetime.datetime(2025, 4, 29, 7, 45, 13, 894773, tzinfo=datetime.timezone.utc)) THEN True ELSE False END DESC, CASE WHEN (U0.[start_time] > datetime.datetime(2025, 4, 29, 7, 45, 13, 894773, tzinfo=datetime.timezone.utc)) THEN True ELSE False END DESC), False) AS [is_ended]
  FROM [game_exam]
SELECT ••• FROM [plays_schoolclassexam] U0 WHERE (U0.[exam_id] = [game_exam].[id] AND U0.[school_class_id] = 1265) ORDER BY CASE WHEN (U0.[end_time] >= datetime.datetime(2025, 4, 29, 7, 45, 13, 894773, tzinfo=datetime.timezone.utc) AND U0.[start_time] <= datetime.datetime(2025, 4, 29, 7, 45, 13, 894773, tzinfo=datetime.timezone.utc)) THEN True ELSE False END DESC, [is_future] DESC), False) AS [is_future], COALESCE((SELECT TOP 1 CASE WHEN (U0.[end_time] >= datetime.datetime(2025, 4, 29, 7, 45, 13, 894773, tzinfo=datetime.timezone.utc) AND U0.[start_time] <= datetime.datetime(2025, 4, 29, 7, 45, 13, 894773, tzinfo=datetime.timezone.utc)) THEN True ELSE False END AS [is_ongoing] FROM [plays_schoolclassexam] U0 WHERE (U0.[exam_id] = [game_exam].[id] AND U0.[school_class_id] = 1265) ORDER BY [is_ongoing] DESC, CASE WHEN (U0.[start_time] > datetime.datetime(2025, 4, 29, 7, 45, 13, 894773, tzinfo=datetime.timezone.utc)) THEN True ELSE False END DESC), False) AS [is_ongoing], COALESCE((SELECT TOP 1 CASE WHEN (U0.[end_time] < datetime.datetime(2025, 4, 29, 7, 45, 13, 894773, tzinfo=datetime.timezone.utc)) THEN True ELSE False END AS [is_ended] FROM [plays_schoolclassexam] U0 WHERE (U0.[exam_id] = [game_exam].[id] AND U0.[school_class_id] = 1265) ORDER BY CASE WHEN (U0.[end_time] >= datetime.datetime(2025, 4, 29, 7, 45, 13, 894773, tzinfo=datetime.timezone.utc) AND U0.[start_time] <= datetime.datetime(2025, 4, 29, 7, 45, 13, 894773, tzinfo=datetime.timezone.utc)) THEN True ELSE False END DESC, CASE WHEN (U0.[start_time] > datetime.datetime(2025, 4, 29, 7, 45, 13, 894773, tzinfo=datetime.timezone.utc)) THEN True ELSE False END DESC), False) AS [is_ended] FROM [game_exam]
17.26

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/users/mixins.py in dispatch(42)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/mixins.py in dispatch(71)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/groplay_django/views.py in dispatch(172)
  return super().dispatch(request, *args, **kwargs)

/app/schools/views/generic.py in get_context_data(657)
  context = super().get_context_data(**kwargs)

/app/edulms/views/mixins.py in get_context_data(43)
  return super().get_context_data(**kwargs)

/app/schools/mixins.py in get_context_data(75)
  return super().get_context_data(active_class=self.school_class, **kwargs)

/app/.venv/lib/python3.11/site-packages/view_breadcrumbs/generic/base.py in get_context_data(71)
  return super(BaseBreadcrumbMixin, self).get_context_data(**kwargs)

/app/help/mixins.py in get_context_data(11)
  context = super().get_context_data(**kwargs)  # type: ignore

/app/edulms/views/mixins.py in get_context_data(113)
  sidebar.update(**self.get_context_data_for_class(self.school_class))

/app/edulms/views/mixins.py in get_context_data_for_class(144)
  "exams": self.get_class_exams(school_class),

/app/edulms/views/mixins.py in get_class_exams(156)
  return list(

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

/app/.venv/lib/python3.11/site-packages/modeltranslation/manager.py in __iter__(521)
  for row in super().__iter__():

SELECT TOP 1 [help_pagehelptext].[article_en]
  FROM [help_pagehelptext]
 WHERE [help_pagehelptext].[slug] = 'class-details'
 ORDER BY [help_pagehelptext].[id] ASC
SELECT ••• FROM [help_pagehelptext] WHERE [help_pagehelptext].[slug] = 'class-details' ORDER BY [help_pagehelptext].[id] ASC
3.11

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/users/mixins.py in dispatch(42)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/mixins.py in dispatch(71)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/groplay_django/views.py in dispatch(172)
  return super().dispatch(request, *args, **kwargs)

/app/schools/views/generic.py in get_context_data(657)
  context = super().get_context_data(**kwargs)

/app/edulms/views/mixins.py in get_context_data(43)
  return super().get_context_data(**kwargs)

/app/schools/mixins.py in get_context_data(75)
  return super().get_context_data(active_class=self.school_class, **kwargs)

/app/.venv/lib/python3.11/site-packages/view_breadcrumbs/generic/base.py in get_context_data(71)
  return super(BaseBreadcrumbMixin, self).get_context_data(**kwargs)

/app/help/mixins.py in get_context_data(16)
  .first()

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in first(350)
  return self._no_monkey.first(self._clone().cache())

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

/app/.venv/lib/python3.11/site-packages/modeltranslation/manager.py in __iter__(546)
  for row in super().__iter__():

/app/.venv/lib/python3.11/site-packages/modeltranslation/manager.py in __iter__(531)
  for row in super().__iter__():

/app/.venv/lib/python3.11/site-packages/modeltranslation/manager.py in __iter__(521)
  for row in super().__iter__():

SELECT [game_exam].[slug],
       [game_exam].[name_en],
       [plays_examresult].[end_time] AS [end_time],
       [plays_examresult].[student_id] AS [student_id],
       [plays_schoolclassexam].[id] AS [instance_id]
  FROM [game_exam]
 INNER JOIN [plays_schoolclassexam]
    ON ([game_exam].[id] = [plays_schoolclassexam].[exam_id])
 INNER JOIN [plays_examresult]
    ON ([plays_schoolclassexam].[id] = [plays_examresult].[exam_instance_id])
 INNER JOIN [users_student]
    ON ([plays_examresult].[student_id] = [users_student].[player_id])
 WHERE ([plays_examresult].[end_time] IS NOT NULL AND [plays_examresult].[is_completed] = True AND [users_student].[is_active] = True AND [plays_schoolclassexam].[school_class_id] = 1265)
 ORDER BY [end_time] DESC
OFFSET 0 ROWS
SELECT ••• FROM [game_exam] INNER JOIN [plays_schoolclassexam] ON ([game_exam].[id] = [plays_schoolclassexam].[exam_id]) INNER JOIN [plays_examresult] ON ([plays_schoolclassexam].[id] = [plays_examresult].[exam_instance_id]) INNER JOIN [users_student] ON ([plays_examresult].[student_id] = [users_student].[player_id]) WHERE ([plays_examresult].[end_time] IS NOT NULL AND [plays_examresult].[is_completed] = True AND [users_student].[is_active] = True AND [plays_schoolclassexam].[school_class_id] = 1265) ORDER BY [end_time] DESC OFFSET 0 ROWS
115.38

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/users/mixins.py in dispatch(42)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/mixins.py in dispatch(71)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/groplay_django/views.py in dispatch(172)
  return super().dispatch(request, *args, **kwargs)

/app/schools/views/generic.py in get_context_data(659)
  students = self.get_students(self.school_class)

/app/schools/views/generic.py in get_students(851)
  exam_results = list(

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

/app/.venv/lib/python3.11/site-packages/modeltranslation/manager.py in __iter__(521)
  for row in super().__iter__():

SELECT [game_activity].[name_en],
       [game_activity].[area_id],
       [game_activity].[is_voluntary],
       [game_activity].[offline],
       [game_activity].[id]
  FROM [game_activity]
 ORDER BY [game_activity].[order] ASC
OFFSET 0 ROWS
SELECT ••• FROM [game_activity] ORDER BY [game_activity].[order] ASC OFFSET 0 ROWS
388.73

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/users/mixins.py in dispatch(42)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/mixins.py in dispatch(71)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/groplay_django/views.py in dispatch(172)
  return super().dispatch(request, *args, **kwargs)

/app/schools/views/generic.py in get_context_data(659)
  students = self.get_students(self.school_class)

/app/schools/views/generic.py in get_students(871)
  activity_names = {a["pk"]: a["name"] for a in self.get_activity_values() if not a["offline"]}

/app/schools/mixins.py in get_activity_values(247)
  return list(Activity.objects.cache().values("pk", "name", "area_id", "is_voluntary", "offline"))

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

/app/.venv/lib/python3.11/site-packages/modeltranslation/manager.py in __iter__(521)
  for row in super().__iter__():

SELECT [plays_solution].[player_id],
       [plays_solution].[is_completed],
       [plays_solution].[score],
       [plays_solution].[activity_id],
       [game_activity].[area_id] AS [area_id],
       [game_activity].[slug] AS [activity_slug],
       COALESCE([plays_solution].[end_time], [plays_solution].[start_time]) AS [datetime]
  FROM [plays_solution]
 INNER JOIN [game_activity]
    ON ([plays_solution].[activity_id] = [game_activity].[id])
 INNER JOIN [users_player]
    ON ([plays_solution].[player_id] = [users_player].[id])
 INNER JOIN [users_student]
    ON ([users_player].[id] = [users_student].[player_id])
 WHERE (NOT (([plays_solution].[activity_id] IS NULL OR [plays_solution].[start_time] IS NULL)) AND [game_activity].[offline] = False AND [users_student].[is_active] = True AND [users_student].[school_class_id] = 1265)
 ORDER BY [datetime] DESC
OFFSET 0 ROWS
SELECT ••• FROM [plays_solution] INNER JOIN [game_activity] ON ([plays_solution].[activity_id] = [game_activity].[id]) INNER JOIN [users_player] ON ([plays_solution].[player_id] = [users_player].[id]) INNER JOIN [users_student] ON ([users_player].[id] = [users_student].[player_id]) WHERE (NOT (([plays_solution].[activity_id] IS NULL OR [plays_solution].[start_time] IS NULL)) AND [game_activity].[offline] = False AND [users_student].[is_active] = True AND [users_student].[school_class_id] = 1265) ORDER BY [datetime] DESC OFFSET 0 ROWS
13.52

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/users/mixins.py in dispatch(42)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/mixins.py in dispatch(71)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/groplay_django/views.py in dispatch(172)
  return super().dispatch(request, *args, **kwargs)

/app/schools/views/generic.py in get_context_data(659)
  students = self.get_students(self.school_class)

/app/schools/views/generic.py in get_students(872)
  solutions = [

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

SELECT [users_student].[first_name],
       [users_student].[player_id],
       (
        SELECT TOP 1 U0.[token]
          FROM [users_playertoken] U0
         WHERE (U0.[expiry] IS NULL AND U0.[player_id] = [users_student].[player_id])
         ORDER BY U0.[is_temporary] DESC,
                  CASE WHEN U0.[expiry] IS NULL THEN 0
                       ELSE 1
                        END,
                  U0.[expiry] DESC,
                  U0.[created] DESC
       ) AS [last_valid_token],
       LTRIM(RTRIM(CONCAT([users_student].[first_name], CONCAT(' ', [users_student].[last_name])))) AS [name],
       (
        SELECT TOP 1 U0.[created]
          FROM [plays_voxeldata] U0
         INNER JOIN [users_player] U2
            ON (U0.[player_id] = U2.[id])
         INNER JOIN [users_student] U3
            ON (U2.[id] = U3.[player_id])
         WHERE (U0.[activity_id] IS NULL AND U3.[player_id] = [users_student].[player_id] AND NOT (U0.[thumbnail] = '' AND U0.[thumbnail] IS NOT NULL))
         ORDER BY U0.[created] DESC
       ) AS [latest_freebuilding_time],
       (
        SELECT TOP 1 U0.[id]
          FROM [plays_voxeldata] U0
         INNER JOIN [users_player] U2
            ON (U0.[player_id] = U2.[id])
         INNER JOIN [users_student] U3
            ON (U2.[id] = U3.[player_id])
         WHERE (U0.[activity_id] IS NULL AND U3.[player_id] = [users_student].[player_id] AND NOT (U0.[thumbnail] = '' AND U0.[thumbnail] IS NOT NULL))
         ORDER BY U0.[created] DESC
       ) AS [latest_freebuilding_id],
       (
        SELECT TOP 1 U0.[created]
          FROM [plays_physicsbuild] U0
         INNER JOIN [users_player] U1
            ON (U0.[player_id] = U1.[id])
         INNER JOIN [users_student] U2
            ON (U1.[id] = U2.[player_id])
         WHERE (U2.[player_id] = [users_student].[player_id] AND NOT (U0.[thumbnail] = '' AND U0.[thumbnail] IS NOT NULL))
         ORDER BY U0.[created] DESC
       ) AS [latest_physicsbuild_time],
       (
        SELECT TOP 1 U0.[id]
          FROM [plays_physicsbuild] U0
         INNER JOIN [users_player] U1
            ON (U0.[player_id] = U1.[id])
         INNER JOIN [users_student] U2
            ON (U1.[id] = U2.[player_id])
         WHERE (U2.[player_id] = [users_student].[player_id] AND NOT (U0.[thumbnail] = '' AND U0.[thumbnail] IS NOT NULL))
         ORDER BY U0.[created] DESC
       ) AS [latest_physicsbuild_id]
  FROM [users_student]
 WHERE ([users_student].[is_active] = True AND [users_student].[school_class_id] = 1265)
 ORDER BY [users_student].[last_name] ASC,
          [users_student].[first_name] ASC
OFFSET 0 ROWS
SELECT ••• FROM [users_playertoken] U0 WHERE (U0.[expiry] IS NULL AND U0.[player_id] = [users_student].[player_id]) ORDER BY U0.[is_temporary] DESC, CASE WHEN U0.[expiry] IS NULL THEN 0 ELSE 1 END, U0.[expiry] DESC, U0.[created] DESC) AS [last_valid_token], LTRIM(RTRIM(CONCAT([users_student].[first_name], CONCAT(' ', [users_student].[last_name])))) AS [name], (SELECT TOP 1 U0.[created] FROM [plays_voxeldata] U0 INNER JOIN [users_player] U2 ON (U0.[player_id] = U2.[id]) INNER JOIN [users_student] U3 ON (U2.[id] = U3.[player_id]) WHERE (U0.[activity_id] IS NULL AND U3.[player_id] = [users_student].[player_id] AND NOT (U0.[thumbnail] = '' AND U0.[thumbnail] IS NOT NULL)) ORDER BY U0.[created] DESC) AS [latest_freebuilding_time], (SELECT TOP 1 U0.[id] FROM [plays_voxeldata] U0 INNER JOIN [users_player] U2 ON (U0.[player_id] = U2.[id]) INNER JOIN [users_student] U3 ON (U2.[id] = U3.[player_id]) WHERE (U0.[activity_id] IS NULL AND U3.[player_id] = [users_student].[player_id] AND NOT (U0.[thumbnail] = '' AND U0.[thumbnail] IS NOT NULL)) ORDER BY U0.[created] DESC) AS [latest_freebuilding_id], (SELECT TOP 1 U0.[created] FROM [plays_physicsbuild] U0 INNER JOIN [users_player] U1 ON (U0.[player_id] = U1.[id]) INNER JOIN [users_student] U2 ON (U1.[id] = U2.[player_id]) WHERE (U2.[player_id] = [users_student].[player_id] AND NOT (U0.[thumbnail] = '' AND U0.[thumbnail] IS NOT NULL)) ORDER BY U0.[created] DESC) AS [latest_physicsbuild_time], (SELECT TOP 1 U0.[id] FROM [plays_physicsbuild] U0 INNER JOIN [users_player] U1 ON (U0.[player_id] = U1.[id]) INNER JOIN [users_student] U2 ON (U1.[id] = U2.[player_id]) WHERE (U2.[player_id] = [users_student].[player_id] AND NOT (U0.[thumbnail] = '' AND U0.[thumbnail] IS NOT NULL)) ORDER BY U0.[created] DESC) AS [latest_physicsbuild_id] FROM [users_student] WHERE ([users_student].[is_active] = True AND [users_student].[school_class_id] = 1265) ORDER BY [users_student].[last_name] ASC, [users_student].[first_name] ASC OFFSET 0 ROWS
240.07

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/users/mixins.py in dispatch(42)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/mixins.py in dispatch(71)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/groplay_django/views.py in dispatch(172)
  return super().dispatch(request, *args, **kwargs)

/app/schools/views/generic.py in get_context_data(659)
  students = self.get_students(self.school_class)

/app/schools/views/generic.py in get_students(890)
  students = list(

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

SELECT DISTINCT [game_activity].[area_id] AS [area_id],
       [users_student].[school_class_id] AS [school_class_id],
       COUNT_BIG(DISTINCT CONCAT([plays_solution].[activity_id], CONCAT('-', [plays_solution].[player_id]))) AS [total],
       COUNT_BIG(DISTINCT CASE WHEN CAST(DATEADD(second, 3600, [plays_solution].[start_time]) AS date) >= '2025-04-22' THEN CONCAT([plays_solution].[activity_id], CONCAT('-', [plays_solution].[player_id])) ELSE NULL END) AS [recent]
  FROM [plays_solution]
 INNER JOIN [game_activity]
    ON ([plays_solution].[activity_id] = [game_activity].[id])
 INNER JOIN [users_player]
    ON ([plays_solution].[player_id] = [users_player].[id])
 INNER JOIN [users_student]
    ON ([users_player].[id] = [users_student].[player_id])
 WHERE ([game_activity].[is_voluntary] = False AND [game_activity].[offline] = False AND [plays_solution].[is_completed] = True AND [users_student].[is_active] = True AND CAST(DATEADD(second, 3600, [plays_solution].[start_time]) AS date) <= '2025-04-29' AND [users_student].[school_class_id] = 1265)
 GROUP BY [game_activity].[area_id],
          [users_student].[school_class_id]
SELECT ••• FROM [plays_solution] INNER JOIN [game_activity] ON ([plays_solution].[activity_id] = [game_activity].[id]) INNER JOIN [users_player] ON ([plays_solution].[player_id] = [users_player].[id]) INNER JOIN [users_student] ON ([users_player].[id] = [users_student].[player_id]) WHERE ([game_activity].[is_voluntary] = False AND [game_activity].[offline] = False AND [plays_solution].[is_completed] = True AND [users_student].[is_active] = True AND CAST(DATEADD(second, 3600, [plays_solution].[start_time]) AS date) <= '2025-04-29' AND [users_student].[school_class_id] = 1265) GROUP BY [game_activity].[area_id], [users_student].[school_class_id]
104.68

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/users/mixins.py in dispatch(42)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/mixins.py in dispatch(71)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/groplay_django/views.py in dispatch(172)
  return super().dispatch(request, *args, **kwargs)

/app/schools/views/generic.py in get_context_data(660)
  areas = self.get_class_areas(self.school_class)

/app/schools/views/generic.py in get_class_areas(615)
  solutions = list(

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

SELECT [game_exerciseroom].[name_en],
       [game_exerciseroom].[id]
  FROM [game_exerciseroom]
SELECT ••• FROM [game_exerciseroom]
8.54

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/users/mixins.py in dispatch(42)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/mixins.py in dispatch(71)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/groplay_django/views.py in dispatch(172)
  return super().dispatch(request, *args, **kwargs)

/app/schools/views/generic.py in get_context_data(660)
  areas = self.get_class_areas(self.school_class)

/app/schools/views/generic.py in get_class_areas(627)
  areas = self.annotate_areas(area_qs)

/app/schools/mixins.py in annotate_areas(225)
  room_names = {t["pk"]: t["name"] for t in ExerciseRoom.objects.cache().values("pk", "name")}

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

/app/.venv/lib/python3.11/site-packages/modeltranslation/manager.py in __iter__(521)
  for row in super().__iter__():

SELECT [game_area].[name_en],
       [game_area].[description_en],
       [game_area].[exercise_room_id],
       [game_area].[id],
       CASE WHEN COUNT_BIG(CASE WHEN ([game_area_disabled_for].[schoolclass_id] = 1265) THEN [game_area_disabled_for].[schoolclass_id] ELSE NULL END) > 0 THEN True
            ELSE False
             END AS [disabled]
  FROM [game_area]
  LEFT OUTER JOIN [game_area_disabled_for]
    ON ([game_area].[id] = [game_area_disabled_for].[area_id])
 WHERE [game_area].[is_published] = True
 GROUP BY [game_area].[id],
          [game_area].[created],
          [game_area].[updated],
          [game_area].[created_by_id],
          [game_area].[name],
          [game_area].[name_en],
          [game_area].[name_sv],
          [game_area].[name_fr],
          [game_area].[description],
          [game_area].[description_en],
          [game_area].[description_sv],
          [game_area].[description_fr],
          [game_area].[exercise_room_id],
          [game_area].[name_in_game],
          [game_area].[name_in_game_en],
          [game_area].[name_in_game_sv],
          [game_area].[name_in_game_fr],
          [game_area].[short_description],
          [game_area].[short_description_en],
          [game_area].[short_description_sv],
          [game_area].[short_description_fr],
          [game_area].[slug],
          [game_area].[is_published],
          [game_area].[is_unlocked_by_default],
          [game_area].[order]
 ORDER BY [game_area].[order] ASC
OFFSET 0 ROWS
SELECT ••• FROM [game_area] LEFT OUTER JOIN [game_area_disabled_for] ON ([game_area].[id] = [game_area_disabled_for].[area_id]) WHERE [game_area].[is_published] = True GROUP BY [game_area].[id], [game_area].[created], [game_area].[updated], [game_area].[created_by_id], [game_area].[name], [game_area].[name_en], [game_area].[name_sv], [game_area].[name_fr], [game_area].[description], [game_area].[description_en], [game_area].[description_sv], [game_area].[description_fr], [game_area].[exercise_room_id], [game_area].[name_in_game], [game_area].[name_in_game_en], [game_area].[name_in_game_sv], [game_area].[name_in_game_fr], [game_area].[short_description], [game_area].[short_description_en], [game_area].[short_description_sv], [game_area].[short_description_fr], [game_area].[slug], [game_area].[is_published], [game_area].[is_unlocked_by_default], [game_area].[order] ORDER BY [game_area].[order] ASC OFFSET 0 ROWS
61.31

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/users/mixins.py in dispatch(42)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/mixins.py in dispatch(71)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/groplay_django/views.py in dispatch(172)
  return super().dispatch(request, *args, **kwargs)

/app/schools/views/generic.py in get_context_data(660)
  areas = self.get_class_areas(self.school_class)

/app/schools/views/generic.py in get_class_areas(627)
  areas = self.annotate_areas(area_qs)

/app/schools/mixins.py in annotate_areas(228)
  for area in area_qs:

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

/app/.venv/lib/python3.11/site-packages/modeltranslation/manager.py in __iter__(521)
  for row in super().__iter__():

SELECT DISTINCT [schools_schoolclass].[id],
       [schools_schoolclass].[created],
       [schools_schoolclass].[updated],
       [schools_schoolclass].[created_by_id],
       [schools_schoolclass].[name],
       [schools_schoolclass].[grade],
       [schools_schoolclass].[is_active],
       [schools_schoolclass].[comments],
       [schools_schoolclass].[is_test],
       [schools_schoolclass].[language],
       [schools_schoolclass].[school_id],
       [schools_schoolclass].[creation_method],
       [schools_school].[id],
       [schools_school].[created],
       [schools_school].[updated],
       [schools_school].[created_by_id],
       [schools_school].[name],
       [schools_school].[language],
       [schools_school].[address],
       [schools_school].[zipcode],
       [schools_school].[city],
       [schools_school].[municipality],
       [schools_school].[curriculum_id],
       [schools_school].[country],
       [schools_school].[is_active],
       [schools_school].[comments],
       [schools_school].[skolon_organization_id],
       [schools_school].[creation_method]
  FROM [schools_schoolclass]
  LEFT OUTER JOIN [users_teacher_school_classes]
    ON ([schools_schoolclass].[id] = [users_teacher_school_classes].[schoolclass_id])
 INNER JOIN [schools_school]
    ON ([schools_schoolclass].[school_id] = [schools_school].[id])
  LEFT OUTER JOIN [schools_school_admins]
    ON ([schools_school].[id] = [schools_school_admins].[school_id])
 WHERE (([users_teacher_school_classes].[teacher_id] = 27806 OR [schools_school_admins].[user_id] = 27806) AND [schools_schoolclass].[is_active] = True AND NOT ([schools_schoolclass].[id] = 1265))
 ORDER BY [schools_school].[name] ASC,
          [schools_schoolclass].[name] ASC
OFFSET 0 ROWS
SELECT ••• FROM [schools_schoolclass] LEFT OUTER JOIN [users_teacher_school_classes] ON ([schools_schoolclass].[id] = [users_teacher_school_classes].[schoolclass_id]) INNER JOIN [schools_school] ON ([schools_schoolclass].[school_id] = [schools_school].[id]) LEFT OUTER JOIN [schools_school_admins] ON ([schools_school].[id] = [schools_school_admins].[school_id]) WHERE (([users_teacher_school_classes].[teacher_id] = 27806 OR [schools_school_admins].[user_id] = 27806) AND [schools_schoolclass].[is_active] = True AND NOT ([schools_schoolclass].[id] = 1265)) ORDER BY [schools_school].[name] ASC, [schools_schoolclass].[name] ASC OFFSET 0 ROWS
146.78

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/users/mixins.py in dispatch(42)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/mixins.py in dispatch(71)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/groplay_django/views.py in dispatch(172)
  return super().dispatch(request, *args, **kwargs)

/app/schools/views/generic.py in get_context_data(674)
  new_class_form=forms.SchoolClassSelectionForm(

/app/schools/forms.py in __init__(89)
  class_choices = [

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

SELECT [game_exam].[slug],
       [game_exam].[name_en],
       [plays_schoolclassexam].[id] AS [instance_id],
       [plays_schoolclassexam].[end_time] AS [end_time],
       [plays_schoolclassexam].[school_class_id] AS [school_class_id],
       (3 - COUNT_BIG(DISTINCT CASE WHEN ([users_student].[is_active] = True AND [users_student].[school_class_id] = 1265) THEN [plays_schoolclassexam_excluded_students].[student_id] ELSE NULL END)) AS [student_count],
       COUNT_BIG(DISTINCT CASE WHEN ([plays_examresult].[is_completed] = True AND T8.[is_active] = True AND T8.[school_class_id] = 1265) THEN [plays_examresult].[student_id] ELSE NULL END) AS [completed_count]
  FROM [game_exam]
  LEFT OUTER JOIN [plays_schoolclassexam]
    ON ([game_exam].[id] = [plays_schoolclassexam].[exam_id])
  LEFT OUTER JOIN [plays_schoolclassexam_excluded_students]
    ON ([plays_schoolclassexam].[id] = [plays_schoolclassexam_excluded_students].[schoolclassexam_id])
  LEFT OUTER JOIN [users_student]
    ON ([plays_schoolclassexam_excluded_students].[student_id] = [users_student].[player_id])
  LEFT OUTER JOIN [plays_examresult]
    ON ([plays_schoolclassexam].[id] = [plays_examresult].[exam_instance_id])
  LEFT OUTER JOIN [users_student] T8
    ON ([plays_examresult].[student_id] = T8.[player_id])
 WHERE ([plays_schoolclassexam].[school_class_id] = 1265 AND NOT (CASE WHEN EXISTS(SELECT TOP 1 (1) AS [a] FROM [game_exam] U0 LEFT OUTER JOIN [plays_schoolclassexam] U1 ON (U0.[id] = U1.[exam_id]) WHERE (U1.[id] IS NULL AND U0.[id] = [game_exam].[id])) THEN True ELSE False END = True))
 GROUP BY [game_exam].[slug],
          [game_exam].[name_en],
          [plays_schoolclassexam].[id],
          [plays_schoolclassexam].[end_time],
          [plays_schoolclassexam].[school_class_id]
 ORDER BY [end_time] DESC
OFFSET 0 ROWS
SELECT ••• FROM [game_exam] LEFT OUTER JOIN [plays_schoolclassexam] ON ([game_exam].[id] = [plays_schoolclassexam].[exam_id]) LEFT OUTER JOIN [plays_schoolclassexam_excluded_students] ON ([plays_schoolclassexam].[id] = [plays_schoolclassexam_excluded_students].[schoolclassexam_id]) LEFT OUTER JOIN [users_student] ON ([plays_schoolclassexam_excluded_students].[student_id] = [users_student].[player_id]) LEFT OUTER JOIN [plays_examresult] ON ([plays_schoolclassexam].[id] = [plays_examresult].[exam_instance_id]) LEFT OUTER JOIN [users_student] T8 ON ([plays_examresult].[student_id] = T8.[player_id]) WHERE ([plays_schoolclassexam].[school_class_id] = 1265 AND NOT (CASE WHEN EXISTS(SELECT TOP 1 (1) AS [a] FROM [game_exam] U0 LEFT OUTER JOIN [plays_schoolclassexam] U1 ON (U0.[id] = U1.[exam_id]) WHERE (U1.[id] IS NULL AND U0.[id] = [game_exam].[id])) THEN True ELSE False END = True)) GROUP BY [game_exam].[slug], [game_exam].[name_en], [plays_schoolclassexam].[id], [plays_schoolclassexam].[end_time], [plays_schoolclassexam].[school_class_id] ORDER BY [end_time] DESC OFFSET 0 ROWS
334.47

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/users/mixins.py in dispatch(42)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/mixins.py in dispatch(71)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/groplay_django/views.py in dispatch(172)
  return super().dispatch(request, *args, **kwargs)

/app/schools/views/generic.py in get_context_data(679)
  finished_exams=self.get_finished_exams(self.school_class),

/app/schools/views/generic.py in get_finished_exams(714)
  for exam in self.get_exam_instances(school_class):

/app/schools/mixins.py in get_exam_instances(288)
  exams = list(

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

/app/.venv/lib/python3.11/site-packages/modeltranslation/manager.py in __iter__(521)
  for row in super().__iter__():

SELECT [game_exerciseroom].[name_en],
       [game_exerciseroom].[id],
       COALESCE((SELECT COUNT_BIG(U0.[id]) AS [aggregation] FROM [plays_solution] U0 INNER JOIN [game_activity] U1 ON (U0.[activity_id] = U1.[id]) INNER JOIN [users_player] U2 ON (U0.[player_id] = U2.[id]) INNER JOIN [users_student] U3 ON (U2.[id] = U3.[player_id]) INNER JOIN [game_area] U5 ON (U1.[area_id] = U5.[id]) WHERE (U1.[offline] = False AND U0.[is_completed] = True AND U3.[is_active] = True AND U3.[school_class_id] = 1265 AND U5.[exercise_room_id] = [game_exerciseroom].[id]) GROUP BY U5.[exercise_room_id]), 0) AS [finished_activity_count]
  FROM [game_exerciseroom]
  LEFT OUTER JOIN [game_exerciseroom_disabled_for]
    ON ([game_exerciseroom].[id] = [game_exerciseroom_disabled_for].[exerciseroom_id])
 WHERE [game_exerciseroom].[is_published] = True
 GROUP BY [game_exerciseroom].[id],
          [game_exerciseroom].[created],
          [game_exerciseroom].[updated],
          [game_exerciseroom].[created_by_id],
          [game_exerciseroom].[name],
          [game_exerciseroom].[name_en],
          [game_exerciseroom].[name_sv],
          [game_exerciseroom].[name_fr],
          [game_exerciseroom].[description],
          [game_exerciseroom].[description_en],
          [game_exerciseroom].[description_sv],
          [game_exerciseroom].[description_fr],
          [game_exerciseroom].[is_published],
          [game_exerciseroom].[slug]
SELECT ••• FROM [plays_solution] U0 INNER JOIN [game_activity] U1 ON (U0.[activity_id] = U1.[id]) INNER JOIN [users_player] U2 ON (U0.[player_id] = U2.[id]) INNER JOIN [users_student] U3 ON (U2.[id] = U3.[player_id]) INNER JOIN [game_area] U5 ON (U1.[area_id] = U5.[id]) WHERE (U1.[offline] = False AND U0.[is_completed] = True AND U3.[is_active] = True AND U3.[school_class_id] = 1265 AND U5.[exercise_room_id] = [game_exerciseroom].[id]) GROUP BY U5.[exercise_room_id]), 0) AS [finished_activity_count] FROM [game_exerciseroom] LEFT OUTER JOIN [game_exerciseroom_disabled_for] ON ([game_exerciseroom].[id] = [game_exerciseroom_disabled_for].[exerciseroom_id]) WHERE [game_exerciseroom].[is_published] = True GROUP BY [game_exerciseroom].[id], [game_exerciseroom].[created], [game_exerciseroom].[updated], [game_exerciseroom].[created_by_id], [game_exerciseroom].[name], [game_exerciseroom].[name_en], [game_exerciseroom].[name_sv], [game_exerciseroom].[name_fr], [game_exerciseroom].[description], [game_exerciseroom].[description_en], [game_exerciseroom].[description_sv], [game_exerciseroom].[description_fr], [game_exerciseroom].[is_published], [game_exerciseroom].[slug]
442.09

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/users/mixins.py in dispatch(42)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/mixins.py in dispatch(71)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/groplay_django/views.py in dispatch(172)
  return super().dispatch(request, *args, **kwargs)

/app/schools/views/generic.py in get_context_data(683)
  active_exercise_rooms=self.get_active_exercise_rooms(self.school_class),

/app/schools/views/generic.py in get_active_exercise_rooms(456)
  return [

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

/app/.venv/lib/python3.11/site-packages/modeltranslation/manager.py in __iter__(521)
  for row in super().__iter__():

SELECT [plays_voxeldata].[created],
       [plays_voxeldata].[thumbnail],
       [plays_voxeldata].[id],
       [plays_voxeldata].[player_id],
       [plays_voxeldata].[miniature],
       [plays_voxeldata].[name],
       CASE WHEN [users_student].[player_id] > 0 THEN LTRIM(RTRIM(CONCAT([users_student].[first_name], CONCAT(' ', [users_student].[last_name]))))
            WHEN [users_teacher].[user_id] > 0   THEN LTRIM(RTRIM(CONCAT([users_user].[first_name], CONCAT(' ', [users_user].[last_name]))))
            WHEN [users_consumer].[user_id] > 0  THEN LTRIM(RTRIM(CONCAT(T9.[first_name], CONCAT(' ', T9.[last_name]))))
            ELSE ''
             END AS [player_name]
  FROM [plays_voxeldata]
 INNER JOIN [users_player]
    ON ([plays_voxeldata].[player_id] = [users_player].[id])
 INNER JOIN [users_student]
    ON ([users_player].[id] = [users_student].[player_id])
  LEFT OUTER JOIN [users_teacher]
    ON ([users_player].[id] = [users_teacher].[player_id])
  LEFT OUTER JOIN [users_user]
    ON ([users_teacher].[user_id] = [users_user].[id])
  LEFT OUTER JOIN [users_consumer]
    ON ([users_player].[id] = [users_consumer].[player_id])
  LEFT OUTER JOIN [users_user] T9
    ON ([users_consumer].[user_id] = T9.[id])
 WHERE ([plays_voxeldata].[activity_id] IS NULL AND NOT ([plays_voxeldata].[thumbnail] = '' AND [plays_voxeldata].[thumbnail] IS NOT NULL) AND [users_student].[is_active] = True AND [users_student].[school_class_id] = 1265 AND NOT (([plays_voxeldata].[miniature] IS NULL OR ([plays_voxeldata].[miniature] = '' AND [plays_voxeldata].[miniature] IS NOT NULL))))
 ORDER BY [plays_voxeldata].[created] DESC
OFFSET 0 ROWS
SELECT ••• FROM [plays_voxeldata] INNER JOIN [users_player] ON ([plays_voxeldata].[player_id] = [users_player].[id]) INNER JOIN [users_student] ON ([users_player].[id] = [users_student].[player_id]) LEFT OUTER JOIN [users_teacher] ON ([users_player].[id] = [users_teacher].[player_id]) LEFT OUTER JOIN [users_user] ON ([users_teacher].[user_id] = [users_user].[id]) LEFT OUTER JOIN [users_consumer] ON ([users_player].[id] = [users_consumer].[player_id]) LEFT OUTER JOIN [users_user] T9 ON ([users_consumer].[user_id] = T9.[id]) WHERE ([plays_voxeldata].[activity_id] IS NULL AND NOT ([plays_voxeldata].[thumbnail] = '' AND [plays_voxeldata].[thumbnail] IS NOT NULL) AND [users_student].[is_active] = True AND [users_student].[school_class_id] = 1265 AND NOT (([plays_voxeldata].[miniature] IS NULL OR ([plays_voxeldata].[miniature] = '' AND [plays_voxeldata].[miniature] IS NOT NULL)))) ORDER BY [plays_voxeldata].[created] DESC OFFSET 0 ROWS
193.54

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/users/mixins.py in dispatch(42)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/mixins.py in dispatch(71)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/groplay_django/views.py in dispatch(172)
  return super().dispatch(request, *args, **kwargs)

/app/schools/views/generic.py in get_context_data(687)
  freebuildings=self.get_freebuildings(self.school_class),

/app/schools/views/generic.py in get_freebuildings(734)
  return [

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

SELECT [plays_physicsbuild].[completion_count],
       [plays_physicsbuild].[is_published],
       [plays_physicsbuild].[is_puzzle],
       [plays_physicsbuild].[name],
       [plays_physicsbuild].[id],
       [plays_physicsbuild].[play_count],
       [plays_physicsbuild].[thumbnail],
       [plays_physicsbuild].[updated],
       CASE WHEN [users_student].[player_id] > 0 THEN LTRIM(RTRIM(CONCAT([users_student].[first_name], CONCAT(' ', [users_student].[last_name]))))
            WHEN [users_teacher].[user_id] > 0   THEN LTRIM(RTRIM(CONCAT([users_user].[first_name], CONCAT(' ', [users_user].[last_name]))))
            WHEN [users_consumer].[user_id] > 0  THEN LTRIM(RTRIM(CONCAT(T8.[first_name], CONCAT(' ', T8.[last_name]))))
            ELSE ''
             END AS [player_name]
  FROM [plays_physicsbuild]
 INNER JOIN [users_player]
    ON ([plays_physicsbuild].[player_id] = [users_player].[id])
 INNER JOIN [users_student]
    ON ([users_player].[id] = [users_student].[player_id])
  LEFT OUTER JOIN [users_teacher]
    ON ([users_player].[id] = [users_teacher].[player_id])
  LEFT OUTER JOIN [users_user]
    ON ([users_teacher].[user_id] = [users_user].[id])
  LEFT OUTER JOIN [users_consumer]
    ON ([users_player].[id] = [users_consumer].[player_id])
  LEFT OUTER JOIN [users_user] T8
    ON ([users_consumer].[user_id] = T8.[id])
 WHERE ([users_student].[is_active] = True AND [users_student].[school_class_id] = 1265 AND NOT ([plays_physicsbuild].[thumbnail] = '' AND [plays_physicsbuild].[thumbnail] IS NOT NULL))
 ORDER BY [plays_physicsbuild].[updated] DESC
OFFSET 0 ROWS
SELECT ••• FROM [plays_physicsbuild] INNER JOIN [users_player] ON ([plays_physicsbuild].[player_id] = [users_player].[id]) INNER JOIN [users_student] ON ([users_player].[id] = [users_student].[player_id]) LEFT OUTER JOIN [users_teacher] ON ([users_player].[id] = [users_teacher].[player_id]) LEFT OUTER JOIN [users_user] ON ([users_teacher].[user_id] = [users_user].[id]) LEFT OUTER JOIN [users_consumer] ON ([users_player].[id] = [users_consumer].[player_id]) LEFT OUTER JOIN [users_user] T8 ON ([users_consumer].[user_id] = T8.[id]) WHERE ([users_student].[is_active] = True AND [users_student].[school_class_id] = 1265 AND NOT ([plays_physicsbuild].[thumbnail] = '' AND [plays_physicsbuild].[thumbnail] IS NOT NULL)) ORDER BY [plays_physicsbuild].[updated] DESC OFFSET 0 ROWS
216.41

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/users/mixins.py in dispatch(42)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/mixins.py in dispatch(71)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/groplay_django/views.py in dispatch(172)
  return super().dispatch(request, *args, **kwargs)

/app/schools/views/generic.py in get_context_data(688)
  physics_builds=PhysicsBuild.get_dicts_for_class(self.school_class),

/app/plays/models.py in get_dicts_for_class(372)
  return [

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

SELECT [licenses_license].[id],
       [licenses_license].[polymorphic_ctype_id],
       [licenses_license].[created],
       [licenses_license].[updated],
       [licenses_license].[created_by_id],
       [licenses_license].[is_trial],
       [licenses_license].[start_date],
       [licenses_license].[end_date],
       [licenses_license].[number_of_users],
       [licenses_license].[customer_id],
       ((((COALESCE((SELECT COUNT_BIG(U0.[player_id]) AS [aggregation] FROM [users_student] U0 INNER JOIN [schools_schoolclass] U1 ON (U0.[school_class_id] = U1.[id]) INNER JOIN [schools_school] U2 ON (U1.[school_id] = U2.[id]) INNER JOIN [licenses_eduinstlicense_schools] U3 ON (U2.[id] = U3.[school_id]) WHERE (U0.[is_active] = True AND U3.[eduinstlicense_id] = [licenses_eduinstlicense].[license_ptr_id]) GROUP BY U3.[eduinstlicense_id]), 0) + COALESCE((SELECT COUNT_BIG(U0.[player_id]) AS [aggregation] FROM [users_student] U0 INNER JOIN [schools_schoolclass] U1 ON (U0.[school_class_id] = U1.[id]) INNER JOIN [schools_school] U2 ON (U1.[school_id] = U2.[id]) INNER JOIN [licenses_schoollicense] U3 ON (U2.[id] = U3.[school_id]) WHERE (U0.[is_active] = True AND U3.[license_ptr_id] = [licenses_schoollicense].[license_ptr_id]) GROUP BY U3.[license_ptr_id]), 0)) + COALESCE((SELECT COUNT_BIG(U0.[player_id]) AS [aggregation] FROM [users_student] U0 INNER JOIN [schools_schoolclass] U1 ON (U0.[school_class_id] = U1.[id]) INNER JOIN [licenses_classlicense] U2 ON (U1.[id] = U2.[school_class_id]) WHERE (U0.[is_active] = True AND U2.[license_ptr_id] = [licenses_classlicense].[license_ptr_id]) GROUP BY U2.[license_ptr_id]), 0)) + COALESCE((SELECT COUNT_BIG(U0.[player_id]) AS [aggregation] FROM [users_student] U0 INNER JOIN [schools_schoolclass] U1 ON (U0.[school_class_id] = U1.[id]) INNER JOIN [azure_azureclasslicense] U2 ON (U1.[id] = U2.[school_class_id]) WHERE (U0.[is_active] = True AND U2.[license_ptr_id] = [azure_azureclasslicense].[license_ptr_id]) GROUP BY U2.[license_ptr_id]), 0)) + COALESCE((SELECT COUNT_BIG(U0.[player_id]) AS [aggregation] FROM [users_student] U0 INNER JOIN [schools_schoolclass] U1 ON (U0.[school_class_id] = U1.[id]) INNER JOIN [schools_school] U2 ON (U1.[school_id] = U2.[id]) INNER JOIN [azure_azureschoollicense] U3 ON (U2.[id] = U3.[school_id]) WHERE (U0.[is_active] = True AND U3.[license_ptr_id] = [azure_azureschoollicense].[license_ptr_id]) GROUP BY U3.[license_ptr_id]), 0)) AS [active_users]
  FROM [licenses_license]
  LEFT OUTER JOIN [licenses_classlicense]
    ON ([licenses_license].[id] = [licenses_classlicense].[license_ptr_id])
  LEFT OUTER JOIN [licenses_schoollicense]
    ON ([licenses_license].[id] = [licenses_schoollicense].[license_ptr_id])
  LEFT OUTER JOIN [licenses_eduinstlicense]
    ON ([licenses_license].[id] = [licenses_eduinstlicense].[license_ptr_id])
  LEFT OUTER JOIN [licenses_eduinstlicense_schools]
    ON ([licenses_eduinstlicense].[license_ptr_id] = [licenses_eduinstlicense_schools].[eduinstlicense_id])
  LEFT OUTER JOIN [azure_azureclasslicense]
    ON ([licenses_license].[id] = [azure_azureclasslicense].[license_ptr_id])
  LEFT OUTER JOIN [azure_azureschoollicense]
    ON ([licenses_license].[id] = [azure_azureschoollicense].[license_ptr_id])
 WHERE ([licenses_classlicense].[school_class_id] = 1265 OR [licenses_schoollicense].[school_id] = 1042 OR [licenses_eduinstlicense_schools].[school_id] = 1042 OR [azure_azureclasslicense].[school_class_id] = 1265 OR [azure_azureschoollicense].[school_id] = 1042)
 ORDER BY [licenses_license].[end_date] ASC
OFFSET 0 ROWS
SELECT ••• FROM [users_student] U0 INNER JOIN [schools_schoolclass] U1 ON (U0.[school_class_id] = U1.[id]) INNER JOIN [schools_school] U2 ON (U1.[school_id] = U2.[id]) INNER JOIN [licenses_eduinstlicense_schools] U3 ON (U2.[id] = U3.[school_id]) WHERE (U0.[is_active] = True AND U3.[eduinstlicense_id] = [licenses_eduinstlicense].[license_ptr_id]) GROUP BY U3.[eduinstlicense_id]), 0) + COALESCE((SELECT COUNT_BIG(U0.[player_id]) AS [aggregation] FROM [users_student] U0 INNER JOIN [schools_schoolclass] U1 ON (U0.[school_class_id] = U1.[id]) INNER JOIN [schools_school] U2 ON (U1.[school_id] = U2.[id]) INNER JOIN [licenses_schoollicense] U3 ON (U2.[id] = U3.[school_id]) WHERE (U0.[is_active] = True AND U3.[license_ptr_id] = [licenses_schoollicense].[license_ptr_id]) GROUP BY U3.[license_ptr_id]), 0)) + COALESCE((SELECT COUNT_BIG(U0.[player_id]) AS [aggregation] FROM [users_student] U0 INNER JOIN [schools_schoolclass] U1 ON (U0.[school_class_id] = U1.[id]) INNER JOIN [licenses_classlicense] U2 ON (U1.[id] = U2.[school_class_id]) WHERE (U0.[is_active] = True AND U2.[license_ptr_id] = [licenses_classlicense].[license_ptr_id]) GROUP BY U2.[license_ptr_id]), 0)) + COALESCE((SELECT COUNT_BIG(U0.[player_id]) AS [aggregation] FROM [users_student] U0 INNER JOIN [schools_schoolclass] U1 ON (U0.[school_class_id] = U1.[id]) INNER JOIN [azure_azureclasslicense] U2 ON (U1.[id] = U2.[school_class_id]) WHERE (U0.[is_active] = True AND U2.[license_ptr_id] = [azure_azureclasslicense].[license_ptr_id]) GROUP BY U2.[license_ptr_id]), 0)) + COALESCE((SELECT COUNT_BIG(U0.[player_id]) AS [aggregation] FROM [users_student] U0 INNER JOIN [schools_schoolclass] U1 ON (U0.[school_class_id] = U1.[id]) INNER JOIN [schools_school] U2 ON (U1.[school_id] = U2.[id]) INNER JOIN [azure_azureschoollicense] U3 ON (U2.[id] = U3.[school_id]) WHERE (U0.[is_active] = True AND U3.[license_ptr_id] = [azure_azureschoollicense].[license_ptr_id]) GROUP BY U3.[license_ptr_id]), 0)) AS [active_users] FROM [licenses_license] LEFT OUTER JOIN [licenses_classlicense] ON ([licenses_license].[id] = [licenses_classlicense].[license_ptr_id]) LEFT OUTER JOIN [licenses_schoollicense] ON ([licenses_license].[id] = [licenses_schoollicense].[license_ptr_id]) LEFT OUTER JOIN [licenses_eduinstlicense] ON ([licenses_license].[id] = [licenses_eduinstlicense].[license_ptr_id]) LEFT OUTER JOIN [licenses_eduinstlicense_schools] ON ([licenses_eduinstlicense].[license_ptr_id] = [licenses_eduinstlicense_schools].[eduinstlicense_id]) LEFT OUTER JOIN [azure_azureclasslicense] ON ([licenses_license].[id] = [azure_azureclasslicense].[license_ptr_id]) LEFT OUTER JOIN [azure_azureschoollicense] ON ([licenses_license].[id] = [azure_azureschoollicense].[license_ptr_id]) WHERE ([licenses_classlicense].[school_class_id] = 1265 OR [licenses_schoollicense].[school_id] = 1042 OR [licenses_eduinstlicense_schools].[school_id] = 1042 OR [azure_azureclasslicense].[school_class_id] = 1265 OR [azure_azureschoollicense].[school_id] = 1042) ORDER BY [licenses_license].[end_date] ASC OFFSET 0 ROWS
1394.40

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/users/mixins.py in dispatch(42)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/mixins.py in dispatch(71)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/groplay_django/views.py in dispatch(172)
  return super().dispatch(request, *args, **kwargs)

/app/schools/views/generic.py in get_context_data(697)
  **self.get_license_data(),

/app/schools/views/generic.py in get_license_data(762)
  licenses = list(

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

/app/.venv/lib/python3.11/site-packages/polymorphic/query.py in _polymorphic_iterator(58)
  o = next(base_iter)

SELECT [licenses_license].[id],
       [licenses_license].[polymorphic_ctype_id],
       [licenses_license].[created],
       [licenses_license].[updated],
       [licenses_license].[created_by_id],
       [licenses_license].[is_trial],
       [licenses_license].[start_date],
       [licenses_license].[end_date],
       [licenses_license].[number_of_users],
       [licenses_license].[customer_id],
       [licenses_classlicense].[license_ptr_id],
       [licenses_classlicense].[school_class_id]
  FROM [licenses_classlicense]
 INNER JOIN [licenses_license]
    ON ([licenses_classlicense].[license_ptr_id] = [licenses_license].[id])
 WHERE [licenses_classlicense].[license_ptr_id] IN (1153)
SELECT ••• FROM [licenses_classlicense] INNER JOIN [licenses_license] ON ([licenses_classlicense].[license_ptr_id] = [licenses_license].[id]) WHERE [licenses_classlicense].[license_ptr_id] IN (1153)
4.91

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/users/mixins.py in dispatch(42)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/django/contrib/auth/mixins.py in dispatch(71)
  return super().dispatch(request, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/groplay_django/views.py in dispatch(172)
  return super().dispatch(request, *args, **kwargs)

/app/schools/views/generic.py in get_context_data(697)
  **self.get_license_data(),

/app/schools/views/generic.py in get_license_data(762)
  licenses = list(

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

/app/.venv/lib/python3.11/site-packages/polymorphic/query.py in _polymorphic_iterator(64)
  real_results = self.queryset._get_real_instances(base_result_objects)

/app/.venv/lib/python3.11/site-packages/polymorphic/query.py in _get_real_instances(457)
  real_objects_dict = {

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(250)
  return self._no_monkey._fetch_all(self)

SELECT COUNT_BIG(*) AS [__count]
  FROM [logs_loginlog]
 WHERE [logs_loginlog].[user_id] = 27806
SELECT COUNT_BIG(*) AS [__count] FROM [logs_loginlog] WHERE [logs_loginlog].[user_id] = 27806
11 similar queries. Duplicated 11 times.
1.56

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/opt/python/3/lib/python3.11/contextlib.py in __enter__(137)
  return next(self.gen)

/app/edulms/context_processors.py in edulms_context(178)
  show_recommend_poll = bool(user and user.recommend_poll_results.count() == 0 and user.loginlog_set.count() >= 3)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in count(273)
  return self._no_monkey.count(self)

SELECT [schools_schoolclass].[id],
       [schools_schoolclass].[name],
       [schools_school].[name] AS [school_name]
  FROM [schools_schoolclass]
 INNER JOIN [users_teacher_school_classes]
    ON ([schools_schoolclass].[id] = [users_teacher_school_classes].[schoolclass_id])
 INNER JOIN [schools_school]
    ON ([schools_schoolclass].[school_id] = [schools_school].[id])
 WHERE ([users_teacher_school_classes].[teacher_id] = 27806 AND [schools_schoolclass].[is_active] = True)
 ORDER BY [schools_schoolclass].[name] ASC
OFFSET 0 ROWS
SELECT ••• FROM [schools_schoolclass] INNER JOIN [users_teacher_school_classes] ON ([schools_schoolclass].[id] = [users_teacher_school_classes].[schoolclass_id]) INNER JOIN [schools_school] ON ([schools_schoolclass].[school_id] = [schools_school].[id]) WHERE ([users_teacher_school_classes].[teacher_id] = 27806 AND [schools_schoolclass].[is_active] = True) ORDER BY [schools_schoolclass].[name] ASC OFFSET 0 ROWS
1.23

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/opt/python/3/lib/python3.11/contextlib.py in __enter__(137)
  return next(self.gen)

/app/edulms/context_processors.py in edulms_context(190)
  "header": header_context(request, user),

/app/edulms/context_processors.py in header_context(94)
  context["school_classes"] = list(

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

SELECT [schools_pendingschoolclass].[name],
       [schools_school].[name] AS [school_name]
  FROM [schools_pendingschoolclass]
 INNER JOIN [schools_school]
    ON ([schools_pendingschoolclass].[school_id] = [schools_school].[id])
 WHERE [schools_pendingschoolclass].[created_by_id] = 27806
SELECT ••• FROM [schools_pendingschoolclass] INNER JOIN [schools_school] ON ([schools_pendingschoolclass].[school_id] = [schools_school].[id]) WHERE [schools_pendingschoolclass].[created_by_id] = 27806
0.94

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/opt/python/3/lib/python3.11/contextlib.py in __enter__(137)
  return next(self.gen)

/app/edulms/context_processors.py in edulms_context(190)
  "header": header_context(request, user),

/app/edulms/context_processors.py in header_context(100)
  context["pending_classes"] = list(

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

SELECT [schools_school].[id],
       [schools_school].[name],
       [schools_school].[city]
  FROM [schools_school]
 INNER JOIN [schools_school_admins]
    ON ([schools_school].[id] = [schools_school_admins].[school_id])
 WHERE ([schools_school_admins].[user_id] = 27806 AND [schools_school].[is_active] = True)
 ORDER BY [schools_school].[name] ASC
OFFSET 0 ROWS
SELECT ••• FROM [schools_school] INNER JOIN [schools_school_admins] ON ([schools_school].[id] = [schools_school_admins].[school_id]) WHERE ([schools_school_admins].[user_id] = 27806 AND [schools_school].[is_active] = True) ORDER BY [schools_school].[name] ASC OFFSET 0 ROWS
1.04

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/opt/python/3/lib/python3.11/contextlib.py in __enter__(137)
  return next(self.gen)

/app/edulms/context_processors.py in edulms_context(190)
  "header": header_context(request, user),

/app/edulms/context_processors.py in header_context(111)
  context["admin_schools"] = list(

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

SELECT [users_player].[id],
       [users_player].[points],
       [users_student].[first_name],
       [users_student].[last_name],
       [users_student].[school_class_id],
       [users_student].[is_active],
       [users_student].[language],
       [users_student].[created],
       [users_student].[created_by_id],
       [users_student].[last_login],
       [users_student].[player_id],
       [users_student].[creation_method],
       (
        SELECT TOP 1 U0.[token]
          FROM [users_playertoken] U0
         WHERE (U0.[expiry] IS NULL AND U0.[player_id] = [users_student].[player_id])
         ORDER BY U0.[is_temporary] DESC,
                  CASE WHEN U0.[expiry] IS NULL THEN 0
                       ELSE 1
                        END,
                  U0.[expiry] DESC,
                  U0.[created] DESC
       ) AS [last_valid_token],
       LTRIM(RTRIM(CONCAT([users_student].[first_name], CONCAT(' ', [users_student].[last_name])))) AS [name]
  FROM [users_student]
 INNER JOIN [users_player]
    ON ([users_student].[player_id] = [users_player].[id])
 WHERE ([users_student].[is_active] = True AND [users_student].[school_class_id] = 1265)
 ORDER BY [users_student].[last_name] ASC,
          [users_student].[first_name] ASC
OFFSET 0 ROWS
SELECT ••• FROM [users_playertoken] U0 WHERE (U0.[expiry] IS NULL AND U0.[player_id] = [users_student].[player_id]) ORDER BY U0.[is_temporary] DESC, CASE WHEN U0.[expiry] IS NULL THEN 0 ELSE 1 END, U0.[expiry] DESC, U0.[created] DESC) AS [last_valid_token], LTRIM(RTRIM(CONCAT([users_student].[first_name], CONCAT(' ', [users_student].[last_name])))) AS [name] FROM [users_student] INNER JOIN [users_player] ON ([users_student].[player_id] = [users_player].[id]) WHERE ([users_student].[is_active] = True AND [users_student].[school_class_id] = 1265) ORDER BY [users_student].[last_name] ASC, [users_student].[first_name] ASC OFFSET 0 ROWS
73.93

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/django/forms/formsets.py in __len__(99)
  return len(self.forms)

/app/.venv/lib/python3.11/site-packages/django/forms/formsets.py in forms(157)
  for i in range(self.total_form_count())

/app/.venv/lib/python3.11/site-packages/django/forms/formsets.py in total_form_count(132)
  initial_forms = self.initial_form_count()

/app/.venv/lib/python3.11/site-packages/django/forms/models.py in initial_form_count(586)
  return len(self.get_queryset())

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

SELECT [users_player].[id],
       [users_player].[points]
  FROM [users_player]
 WHERE [users_player].[id] IN (71617, 71618, 71619)
SELECT ••• FROM [users_player] WHERE [users_player].[id] IN (71617, 71618, 71619)
5.86

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/django/forms/formsets.py in __len__(99)
  return len(self.forms)

/app/.venv/lib/python3.11/site-packages/django/forms/formsets.py in forms(157)
  for i in range(self.total_form_count())

/app/.venv/lib/python3.11/site-packages/django/forms/formsets.py in total_form_count(132)
  initial_forms = self.initial_form_count()

/app/.venv/lib/python3.11/site-packages/django/forms/models.py in initial_form_count(586)
  return len(self.get_queryset())

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(263)
  return self._no_monkey._fetch_all(self)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(250)
  return self._no_monkey._fetch_all(self)

SELECT ([skolon_skolonlicense_players].[player_id]) AS [_prefetch_related_val_player_id],
       [skolon_skolonlicense].[skolon_id],
       [skolon_skolonlicense].[is_deleted],
       [skolon_skolonlicense].[expiration_date],
       [skolon_skolonlicense].[owner_school_id],
       [skolon_skolonlicense].[is_demo],
       [skolon_skolonlicense].[target],
       [skolon_skolonlicense].[is_reminder_sent],
       COALESCE((SELECT COUNT_BIG(U0.[player_id]) AS [aggregation] FROM [skolon_skolonlicense_players] U0 WHERE U0.[skolonlicense_id] = [skolon_skolonlicense].[skolon_id] GROUP BY U0.[skolonlicense_id]), 0) AS [player_count],
       [schools_school].[id],
       [schools_school].[created],
       [schools_school].[updated],
       [schools_school].[created_by_id],
       [schools_school].[name],
       [schools_school].[language],
       [schools_school].[address],
       [schools_school].[zipcode],
       [schools_school].[city],
       [schools_school].[municipality],
       [schools_school].[curriculum_id],
       [schools_school].[country],
       [schools_school].[is_active],
       [schools_school].[comments],
       [schools_school].[skolon_organization_id],
       [schools_school].[creation_method]
  FROM [skolon_skolonlicense]
 INNER JOIN [skolon_skolonlicense_players]
    ON ([skolon_skolonlicense].[skolon_id] = [skolon_skolonlicense_players].[skolonlicense_id])
  LEFT OUTER JOIN [schools_school]
    ON ([skolon_skolonlicense].[owner_school_id] = [schools_school].[id])
 WHERE ([skolon_skolonlicense].[is_deleted] = False AND [skolon_skolonlicense_players].[player_id] IN (71617, 71618, 71619))
 ORDER BY [skolon_skolonlicense].[expiration_date] DESC
OFFSET 0 ROWS
SELECT ••• FROM [skolon_skolonlicense_players] U0 WHERE U0.[skolonlicense_id] = [skolon_skolonlicense].[skolon_id] GROUP BY U0.[skolonlicense_id]), 0) AS [player_count], [schools_school].[id], [schools_school].[created], [schools_school].[updated], [schools_school].[created_by_id], [schools_school].[name], [schools_school].[language], [schools_school].[address], [schools_school].[zipcode], [schools_school].[city], [schools_school].[municipality], [schools_school].[curriculum_id], [schools_school].[country], [schools_school].[is_active], [schools_school].[comments], [schools_school].[skolon_organization_id], [schools_school].[creation_method] FROM [skolon_skolonlicense] INNER JOIN [skolon_skolonlicense_players] ON ([skolon_skolonlicense].[skolon_id] = [skolon_skolonlicense_players].[skolonlicense_id]) LEFT OUTER JOIN [schools_school] ON ([skolon_skolonlicense].[owner_school_id] = [schools_school].[id]) WHERE ([skolon_skolonlicense].[is_deleted] = False AND [skolon_skolonlicense_players].[player_id] IN (71617, 71618, 71619)) ORDER BY [skolon_skolonlicense].[expiration_date] DESC OFFSET 0 ROWS
126.63

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/django/forms/formsets.py in __len__(99)
  return len(self.forms)

/app/.venv/lib/python3.11/site-packages/django/forms/formsets.py in forms(157)
  for i in range(self.total_form_count())

/app/.venv/lib/python3.11/site-packages/django/forms/formsets.py in total_form_count(132)
  initial_forms = self.initial_form_count()

/app/.venv/lib/python3.11/site-packages/django/forms/models.py in initial_form_count(586)
  return len(self.get_queryset())

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(263)
  return self._no_monkey._fetch_all(self)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(250)
  return self._no_monkey._fetch_all(self)

SELECT [users_user].[id],
       [users_user].[password],
       [users_user].[last_login],
       [users_user].[is_superuser],
       [users_user].[username],
       [users_user].[first_name],
       [users_user].[last_name],
       [users_user].[email],
       [users_user].[is_staff],
       [users_user].[is_active],
       [users_user].[date_joined],
       [users_user].[language],
       [users_user].[has_logged_in],
       [users_user].[email_verified],
       [users_user].[email_verified_time],
       [users_user].[show_tutorial],
       [users_user].[last_active_class_id],
       [users_user].[previous_login],
       [users_user].[timezone],
       [users_user].[created_by_id],
       [users_user].[is_coworker],
       [users_user].[receives_newsletter],
       [users_teacher].[player_id],
       [users_teacher].[is_test],
       [users_teacher].[user_id],
       [users_teacher].[creation_method],
       (
        SELECT TOP 1 U0.[token]
          FROM [users_playertoken] U0
         INNER JOIN [users_player] U1
            ON (U0.[player_id] = U1.[id])
         INNER JOIN [users_teacher] U2
            ON (U1.[id] = U2.[player_id])
         WHERE (U0.[expiry] IS NULL AND U2.[user_id] = [users_teacher].[user_id])
         ORDER BY U0.[is_temporary] DESC,
                  CASE WHEN U0.[expiry] IS NULL THEN 0
                       ELSE 1
                        END,
                  U0.[expiry] DESC,
                  U0.[created] DESC
       ) AS [last_valid_token]
  FROM [users_teacher]
 INNER JOIN [users_teacher_school_classes]
    ON ([users_teacher].[user_id] = [users_teacher_school_classes].[teacher_id])
 INNER JOIN [users_user]
    ON ([users_teacher].[user_id] = [users_user].[id])
 WHERE ([users_teacher_school_classes].[schoolclass_id] = 1265 AND [users_user].[email_verified] = True AND [users_user].[is_active] = True)
SELECT ••• FROM [users_playertoken] U0 INNER JOIN [users_player] U1 ON (U0.[player_id] = U1.[id]) INNER JOIN [users_teacher] U2 ON (U1.[id] = U2.[player_id]) WHERE (U0.[expiry] IS NULL AND U2.[user_id] = [users_teacher].[user_id]) ORDER BY U0.[is_temporary] DESC, CASE WHEN U0.[expiry] IS NULL THEN 0 ELSE 1 END, U0.[expiry] DESC, U0.[created] DESC) AS [last_valid_token] FROM [users_teacher] INNER JOIN [users_teacher_school_classes] ON ([users_teacher].[user_id] = [users_teacher_school_classes].[teacher_id]) INNER JOIN [users_user] ON ([users_teacher].[user_id] = [users_user].[id]) WHERE ([users_teacher_school_classes].[schoolclass_id] = 1265 AND [users_user].[email_verified] = True AND [users_user].[is_active] = True)
211.85

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

SELECT [users_player].[id],
       [users_player].[points]
  FROM [users_player]
 WHERE [users_player].[id] IN (71616)
SELECT ••• FROM [users_player] WHERE [users_player].[id] IN (71616)
2 similar queries. Duplicated 2 times.
1.18

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(263)
  return self._no_monkey._fetch_all(self)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(250)
  return self._no_monkey._fetch_all(self)

SELECT ([skolon_skolonlicense_players].[player_id]) AS [_prefetch_related_val_player_id],
       [skolon_skolonlicense].[skolon_id],
       [skolon_skolonlicense].[is_deleted],
       [skolon_skolonlicense].[expiration_date],
       [skolon_skolonlicense].[owner_school_id],
       [skolon_skolonlicense].[is_demo],
       [skolon_skolonlicense].[target],
       [skolon_skolonlicense].[is_reminder_sent],
       COALESCE((SELECT COUNT_BIG(U0.[player_id]) AS [aggregation] FROM [skolon_skolonlicense_players] U0 WHERE U0.[skolonlicense_id] = [skolon_skolonlicense].[skolon_id] GROUP BY U0.[skolonlicense_id]), 0) AS [player_count],
       [schools_school].[id],
       [schools_school].[created],
       [schools_school].[updated],
       [schools_school].[created_by_id],
       [schools_school].[name],
       [schools_school].[language],
       [schools_school].[address],
       [schools_school].[zipcode],
       [schools_school].[city],
       [schools_school].[municipality],
       [schools_school].[curriculum_id],
       [schools_school].[country],
       [schools_school].[is_active],
       [schools_school].[comments],
       [schools_school].[skolon_organization_id],
       [schools_school].[creation_method]
  FROM [skolon_skolonlicense]
 INNER JOIN [skolon_skolonlicense_players]
    ON ([skolon_skolonlicense].[skolon_id] = [skolon_skolonlicense_players].[skolonlicense_id])
  LEFT OUTER JOIN [schools_school]
    ON ([skolon_skolonlicense].[owner_school_id] = [schools_school].[id])
 WHERE ([skolon_skolonlicense].[is_deleted] = False AND [skolon_skolonlicense_players].[player_id] IN (71616))
 ORDER BY [skolon_skolonlicense].[expiration_date] DESC
OFFSET 0 ROWS
SELECT ••• FROM [skolon_skolonlicense_players] U0 WHERE U0.[skolonlicense_id] = [skolon_skolonlicense].[skolon_id] GROUP BY U0.[skolonlicense_id]), 0) AS [player_count], [schools_school].[id], [schools_school].[created], [schools_school].[updated], [schools_school].[created_by_id], [schools_school].[name], [schools_school].[language], [schools_school].[address], [schools_school].[zipcode], [schools_school].[city], [schools_school].[municipality], [schools_school].[curriculum_id], [schools_school].[country], [schools_school].[is_active], [schools_school].[comments], [schools_school].[skolon_organization_id], [schools_school].[creation_method] FROM [skolon_skolonlicense] INNER JOIN [skolon_skolonlicense_players] ON ([skolon_skolonlicense].[skolon_id] = [skolon_skolonlicense_players].[skolonlicense_id]) LEFT OUTER JOIN [schools_school] ON ([skolon_skolonlicense].[owner_school_id] = [schools_school].[id]) WHERE ([skolon_skolonlicense].[is_deleted] = False AND [skolon_skolonlicense_players].[player_id] IN (71616)) ORDER BY [skolon_skolonlicense].[expiration_date] DESC OFFSET 0 ROWS
134.17

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(263)
  return self._no_monkey._fetch_all(self)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(250)
  return self._no_monkey._fetch_all(self)

SELECT [users_user].[id],
       [users_user].[password],
       [users_user].[last_login],
       [users_user].[is_superuser],
       [users_user].[username],
       [users_user].[first_name],
       [users_user].[last_name],
       [users_user].[email],
       [users_user].[is_staff],
       [users_user].[is_active],
       [users_user].[date_joined],
       [users_user].[language],
       [users_user].[has_logged_in],
       [users_user].[email_verified],
       [users_user].[email_verified_time],
       [users_user].[show_tutorial],
       [users_user].[last_active_class_id],
       [users_user].[previous_login],
       [users_user].[timezone],
       [users_user].[created_by_id],
       [users_user].[is_coworker],
       [users_user].[receives_newsletter],
       [users_teacher].[player_id],
       [users_teacher].[is_test],
       [users_teacher].[user_id],
       [users_teacher].[creation_method]
  FROM [users_teacher]
 INNER JOIN [users_teacher_school_classes]
    ON ([users_teacher].[user_id] = [users_teacher_school_classes].[teacher_id])
 INNER JOIN [users_user]
    ON ([users_teacher].[user_id] = [users_user].[id])
 WHERE ([users_teacher_school_classes].[schoolclass_id] = 1265 AND [users_user].[email_verified] = False AND [users_user].[is_active] = True)
SELECT ••• FROM [users_teacher] INNER JOIN [users_teacher_school_classes] ON ([users_teacher].[user_id] = [users_teacher_school_classes].[teacher_id]) INNER JOIN [users_user] ON ([users_teacher].[user_id] = [users_user].[id]) WHERE ([users_teacher_school_classes].[schoolclass_id] = 1265 AND [users_user].[email_verified] = False AND [users_user].[is_active] = True)
57.13

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

SELECT [users_teacherpendingschoolclass].[id],
       [users_teacherpendingschoolclass].[teacher_id],
       [users_teacherpendingschoolclass].[school_class_id],
       [users_teacherpendingschoolclass].[created]
  FROM [users_teacherpendingschoolclass]
 INNER JOIN [users_teacher]
    ON ([users_teacherpendingschoolclass].[teacher_id] = [users_teacher].[user_id])
 INNER JOIN [users_user]
    ON ([users_teacher].[user_id] = [users_user].[id])
 WHERE ([users_teacherpendingschoolclass].[school_class_id] = 1265 AND [users_user].[is_active] = True)
SELECT ••• FROM [users_teacherpendingschoolclass] INNER JOIN [users_teacher] ON ([users_teacherpendingschoolclass].[teacher_id] = [users_teacher].[user_id]) INNER JOIN [users_user] ON ([users_teacher].[user_id] = [users_user].[id]) WHERE ([users_teacherpendingschoolclass].[school_class_id] = 1265 AND [users_user].[is_active] = True)
4.62

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(260)
  self._result_cache = list(self._iterable_class(self))

SELECT TOP 21 [schools_schoolclass].[id],
       [schools_schoolclass].[created],
       [schools_schoolclass].[updated],
       [schools_schoolclass].[created_by_id],
       [schools_schoolclass].[name],
       [schools_schoolclass].[grade],
       [schools_schoolclass].[is_active],
       [schools_schoolclass].[comments],
       [schools_schoolclass].[is_test],
       [schools_schoolclass].[language],
       [schools_schoolclass].[school_id],
       [schools_schoolclass].[creation_method]
  FROM [schools_schoolclass]
 WHERE [schools_schoolclass].[id] = 1265
SELECT ••• FROM [schools_schoolclass] WHERE [schools_schoolclass].[id] = 1265
3.87

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/licenses/models.py in get_number_of_active_students(394)
  self.get_school_class().students

/app/licenses/models.py in get_school_class(460)
  return self.school_class

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in get(346)
  return qs._no_monkey.get(qs, *args, **kwargs)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in _fetch_all(250)
  return self._no_monkey._fetch_all(self)

SELECT COUNT_BIG(*)
  FROM (
        SELECT (
                SELECT TOP 1 U0.[token]
                  FROM [users_playertoken] U0
                 WHERE (U0.[expiry] IS NULL AND U0.[player_id] = [users_student].[player_id])
                 ORDER BY U0.[is_temporary] DESC,
                          CASE WHEN U0.[expiry] IS NULL THEN 0
                               ELSE 1
                                END,
                          U0.[expiry] DESC,
                          U0.[created] DESC
               ) AS [last_valid_token]
          FROM [users_student]
         WHERE ([users_student].[school_class_id] = 1265 AND [users_student].[is_active] = True AND NOT ((SELECT TOP 1 U0.[token] FROM [users_playertoken] U0 WHERE (U0.[expiry] IS NULL AND U0.[player_id] = [users_student].[player_id]) ORDER BY U0.[is_temporary] DESC, CASE WHEN U0.[expiry] IS NULL THEN 0 ELSE 1 END, U0.[expiry] DESC, U0.[created] DESC) IS NULL))
       ) subquery
SELECT COUNT_BIG(*) FROM (SELECT (SELECT TOP 1 U0.[token] FROM [users_playertoken] U0 WHERE (U0.[expiry] IS NULL AND U0.[player_id] = [users_student].[player_id]) ORDER BY U0.[is_temporary] DESC, CASE WHEN U0.[expiry] IS NULL THEN 0 ELSE 1 END, U0.[expiry] DESC, U0.[created] DESC) AS [last_valid_token] FROM [users_student] WHERE ([users_student].[school_class_id] = 1265 AND [users_student].[is_active] = True AND NOT ((SELECT TOP 1 U0.[token] FROM [users_playertoken] U0 WHERE (U0.[expiry] IS NULL AND U0.[player_id] = [users_student].[player_id]) ORDER BY U0.[is_temporary] DESC, CASE WHEN U0.[expiry] IS NULL THEN 0 ELSE 1 END, U0.[expiry] DESC, U0.[created] DESC) IS NULL))) subquery
82.42

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/licenses/models.py in get_number_of_active_students(398)
  .count()

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in count(273)
  return self._no_monkey.count(self)

SELECT COUNT_BIG(*) AS [__count]
  FROM [logs_loginlog]
 WHERE [logs_loginlog].[user_id] = 27806
SELECT COUNT_BIG(*) AS [__count] FROM [logs_loginlog] WHERE [logs_loginlog].[user_id] = 27806
11 similar queries. Duplicated 11 times.
1.08

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/groplay_django/templatetags/groplay.py in modal(332)
  return render_modal(

/app/.venv/lib/python3.11/site-packages/groplay_django/utils.py in render_modal(402)
  return mark_safe(render_to_string(template_name=template_name, context=context, request=request))

/opt/python/3/lib/python3.11/contextlib.py in __enter__(137)
  return next(self.gen)

/app/edulms/context_processors.py in edulms_context(178)
  show_recommend_poll = bool(user and user.recommend_poll_results.count() == 0 and user.loginlog_set.count() >= 3)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in count(273)
  return self._no_monkey.count(self)

SELECT COUNT_BIG(*) AS [__count]
  FROM [logs_loginlog]
 WHERE [logs_loginlog].[user_id] = 27806
SELECT COUNT_BIG(*) AS [__count] FROM [logs_loginlog] WHERE [logs_loginlog].[user_id] = 27806
11 similar queries. Duplicated 11 times.
1.02

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/groplay_django/templatetags/groplay.py in modal(332)
  return render_modal(

/app/.venv/lib/python3.11/site-packages/groplay_django/utils.py in render_modal(402)
  return mark_safe(render_to_string(template_name=template_name, context=context, request=request))

/opt/python/3/lib/python3.11/contextlib.py in __enter__(137)
  return next(self.gen)

/app/edulms/context_processors.py in edulms_context(178)
  show_recommend_poll = bool(user and user.recommend_poll_results.count() == 0 and user.loginlog_set.count() >= 3)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in count(273)
  return self._no_monkey.count(self)

SELECT COUNT_BIG(*) AS [__count]
  FROM [logs_loginlog]
 WHERE [logs_loginlog].[user_id] = 27806
SELECT COUNT_BIG(*) AS [__count] FROM [logs_loginlog] WHERE [logs_loginlog].[user_id] = 27806
11 similar queries. Duplicated 11 times.
1.01

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/groplay_django/templatetags/groplay.py in modal(332)
  return render_modal(

/app/.venv/lib/python3.11/site-packages/groplay_django/utils.py in render_modal(402)
  return mark_safe(render_to_string(template_name=template_name, context=context, request=request))

/opt/python/3/lib/python3.11/contextlib.py in __enter__(137)
  return next(self.gen)

/app/edulms/context_processors.py in edulms_context(178)
  show_recommend_poll = bool(user and user.recommend_poll_results.count() == 0 and user.loginlog_set.count() >= 3)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in count(273)
  return self._no_monkey.count(self)

SELECT COUNT_BIG(*) AS [__count]
  FROM [logs_loginlog]
 WHERE [logs_loginlog].[user_id] = 27806
SELECT COUNT_BIG(*) AS [__count] FROM [logs_loginlog] WHERE [logs_loginlog].[user_id] = 27806
11 similar queries. Duplicated 11 times.
1.23

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/groplay_django/templatetags/groplay.py in modal(332)
  return render_modal(

/app/.venv/lib/python3.11/site-packages/groplay_django/utils.py in render_modal(402)
  return mark_safe(render_to_string(template_name=template_name, context=context, request=request))

/opt/python/3/lib/python3.11/contextlib.py in __enter__(137)
  return next(self.gen)

/app/edulms/context_processors.py in edulms_context(178)
  show_recommend_poll = bool(user and user.recommend_poll_results.count() == 0 and user.loginlog_set.count() >= 3)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in count(273)
  return self._no_monkey.count(self)

SELECT COUNT_BIG(*) AS [__count]
  FROM [logs_loginlog]
 WHERE [logs_loginlog].[user_id] = 27806
SELECT COUNT_BIG(*) AS [__count] FROM [logs_loginlog] WHERE [logs_loginlog].[user_id] = 27806
11 similar queries. Duplicated 11 times.
1.07

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/groplay_django/templatetags/groplay.py in modal(332)
  return render_modal(

/app/.venv/lib/python3.11/site-packages/groplay_django/utils.py in render_modal(402)
  return mark_safe(render_to_string(template_name=template_name, context=context, request=request))

/opt/python/3/lib/python3.11/contextlib.py in __enter__(137)
  return next(self.gen)

/app/edulms/context_processors.py in edulms_context(178)
  show_recommend_poll = bool(user and user.recommend_poll_results.count() == 0 and user.loginlog_set.count() >= 3)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in count(273)
  return self._no_monkey.count(self)

SELECT COUNT_BIG(*) AS [__count]
  FROM [logs_loginlog]
 WHERE [logs_loginlog].[user_id] = 27806
SELECT COUNT_BIG(*) AS [__count] FROM [logs_loginlog] WHERE [logs_loginlog].[user_id] = 27806
11 similar queries. Duplicated 11 times.
1.13

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/groplay_django/templatetags/groplay.py in modal(332)
  return render_modal(

/app/.venv/lib/python3.11/site-packages/groplay_django/utils.py in render_modal(402)
  return mark_safe(render_to_string(template_name=template_name, context=context, request=request))

/opt/python/3/lib/python3.11/contextlib.py in __enter__(137)
  return next(self.gen)

/app/edulms/context_processors.py in edulms_context(178)
  show_recommend_poll = bool(user and user.recommend_poll_results.count() == 0 and user.loginlog_set.count() >= 3)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in count(273)
  return self._no_monkey.count(self)

SELECT COUNT_BIG(*) AS [__count]
  FROM [logs_loginlog]
 WHERE [logs_loginlog].[user_id] = 27806
SELECT COUNT_BIG(*) AS [__count] FROM [logs_loginlog] WHERE [logs_loginlog].[user_id] = 27806
11 similar queries. Duplicated 11 times.
1.05

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/groplay_django/templatetags/groplay.py in modal(332)
  return render_modal(

/app/.venv/lib/python3.11/site-packages/groplay_django/utils.py in render_modal(402)
  return mark_safe(render_to_string(template_name=template_name, context=context, request=request))

/opt/python/3/lib/python3.11/contextlib.py in __enter__(137)
  return next(self.gen)

/app/edulms/context_processors.py in edulms_context(178)
  show_recommend_poll = bool(user and user.recommend_poll_results.count() == 0 and user.loginlog_set.count() >= 3)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in count(273)
  return self._no_monkey.count(self)

SELECT COUNT_BIG(*) AS [__count]
  FROM [logs_loginlog]
 WHERE [logs_loginlog].[user_id] = 27806
SELECT COUNT_BIG(*) AS [__count] FROM [logs_loginlog] WHERE [logs_loginlog].[user_id] = 27806
11 similar queries. Duplicated 11 times.
1.19

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/groplay_django/templatetags/groplay.py in modal(332)
  return render_modal(

/app/.venv/lib/python3.11/site-packages/groplay_django/utils.py in render_modal(402)
  return mark_safe(render_to_string(template_name=template_name, context=context, request=request))

/opt/python/3/lib/python3.11/contextlib.py in __enter__(137)
  return next(self.gen)

/app/edulms/context_processors.py in edulms_context(178)
  show_recommend_poll = bool(user and user.recommend_poll_results.count() == 0 and user.loginlog_set.count() >= 3)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in count(273)
  return self._no_monkey.count(self)

SELECT COUNT_BIG(*) AS [__count]
  FROM [logs_loginlog]
 WHERE [logs_loginlog].[user_id] = 27806
SELECT COUNT_BIG(*) AS [__count] FROM [logs_loginlog] WHERE [logs_loginlog].[user_id] = 27806
11 similar queries. Duplicated 11 times.
1.11

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/groplay_django/templatetags/groplay.py in modal(332)
  return render_modal(

/app/.venv/lib/python3.11/site-packages/groplay_django/utils.py in render_modal(402)
  return mark_safe(render_to_string(template_name=template_name, context=context, request=request))

/opt/python/3/lib/python3.11/contextlib.py in __enter__(137)
  return next(self.gen)

/app/edulms/context_processors.py in edulms_context(178)
  show_recommend_poll = bool(user and user.recommend_poll_results.count() == 0 and user.loginlog_set.count() >= 3)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in count(273)
  return self._no_monkey.count(self)

SELECT COUNT_BIG(*) AS [__count]
  FROM [logs_loginlog]
 WHERE [logs_loginlog].[user_id] = 27806
SELECT COUNT_BIG(*) AS [__count] FROM [logs_loginlog] WHERE [logs_loginlog].[user_id] = 27806
11 similar queries. Duplicated 11 times.
1.07

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(214)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(35)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django_user_agents/middleware.py in __call__(14)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(153)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(100)
  return self.nodelist.render(context)

/app/.venv/lib/python3.11/site-packages/groplay_django/templatetags/groplay.py in modal(332)
  return render_modal(

/app/.venv/lib/python3.11/site-packages/groplay_django/utils.py in render_modal(402)
  return mark_safe(render_to_string(template_name=template_name, context=context, request=request))

/opt/python/3/lib/python3.11/contextlib.py in __enter__(137)
  return next(self.gen)

/app/edulms/context_processors.py in edulms_context(178)
  show_recommend_poll = bool(user and user.recommend_poll_results.count() == 0 and user.loginlog_set.count() >= 3)

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in count(273)
  return self._no_monkey.count(self)

SELECT COUNT_BIG(DISTINCT [help_floatingtutorial_use_cases].[floatingtutorial_id]) AS [floating],
       COUNT_BIG(DISTINCT [help_helparticle_use_cases].[helparticle_id]) AS [articles]
  FROM [help_tutorialusecase]
  LEFT OUTER JOIN [help_floatingtutorial_use_cases]
    ON ([help_tutorialusecase].[key] = [help_floatingtutorial_use_cases].[tutorialusecase_id])
  LEFT OUTER JOIN [help_helparticle_use_cases]
    ON ([help_tutorialusecase].[key] = [help_helparticle_use_cases].[tutorialusecase_id])
 WHERE [help_tutorialusecase].[key] = '2'
SELECT ••• FROM [help_tutorialusecase] LEFT OUTER JOIN [help_floatingtutorial_use_cases] ON ([help_tutorialusecase].[key] = [help_floatingtutorial_use_cases].[tutorialusecase_id]) LEFT OUTER JOIN [help_helparticle_use_cases] ON ([help_tutorialusecase].[key] = [help_helparticle_use_cases].[tutorialusecase_id]) WHERE [help_tutorialusecase].[key] = '2'
1.64

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(167)
  return self.get_response(request)

/app/edulms/middleware.py in __call__(222)
  counts = TutorialUseCase.objects.filter(key=request.user.show_tutorial).aggregate(

/app/.venv/lib/python3.11/site-packages/cacheops/query.py in aggregate(305)
  return self._no_monkey.aggregate(self, *args, **kwargs)


   SET NOCOUNT OFF; UPDATE [django_session]
   SET [session_data] = '.eJxVT11PwjAU_S97Jrpuoy28gTFABAyiPmjM0o_brdK1ZO0cwfjf7QgP-nRzzrn3nHO_k5J1oS47D22pZTJNMkJTnIz-8pyJA9hBHKC_uWJ_s3ESzPyq_jupma_j_jgj-USlAqVx5ikuIMWc54VilBBKGWVSKk7QGAGWWU5gjBHJCBIFT6ma0MHUMFt1rIJoBzYSQTdwdnbA913rjnC7D04cameaqMLpqFuQpdECrIfSuqCVFixoZy8PZohEU-FbFVzsHV2eT7Pi7rzezJc7zOunl0WOto_rr34muuDX0L9WK072SuKKfS6b1VaGPn_bVYv2YReWRrcxtQcjXANlA97Hqj6Zvn-MEh_RENs4ycyF-_kFAY97JA:1u9feZ:ZaIwIL7O6QwHs3LTpkprrqxy4koIX9nmHpPDJlZrfHk',
       [expire_date] = datetime.datetime(2025, 5, 13, 7, 45, 19, 87882, tzinfo=datetime.timezone.utc)
 WHERE [django_session].[session_key] = '0oy77d9c7vfw4swb777nisw1rpjet8g8'
SET NOCOUNT OFF; UPDATE [django_session] SET [session_data] = '.eJxVT11PwjAU_S97Jrpuoy28gTFABAyiPmjM0o_brdK1ZO0cwfjf7QgP-nRzzrn3nHO_k5J1oS47D22pZTJNMkJTnIz-8pyJA9hBHKC_uWJ_s3ESzPyq_jupma_j_jgj-USlAqVx5ikuIMWc54VilBBKGWVSKk7QGAGWWU5gjBHJCBIFT6ma0MHUMFt1rIJoBzYSQTdwdnbA913rjnC7D04cameaqMLpqFuQpdECrIfSuqCVFixoZy8PZohEU-FbFVzsHV2eT7Pi7rzezJc7zOunl0WOto_rr34muuDX0L9WK072SuKKfS6b1VaGPn_bVYv2YReWRrcxtQcjXANlA97Hqj6Zvn-MEh_RENs4ycyF-_kFAY97JA:1u9feZ:ZaIwIL7O6QwHs3LTpkprrqxy4koIX9nmHpPDJlZrfHk', [expire_date] = datetime.datetime(2025, 5, 13, 7, 45, 19, 87882, tzinfo=datetime.timezone.utc) WHERE [django_session].[session_key] = '0oy77d9c7vfw4swb777nisw1rpjet8g8'
4.97

Connection: default

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in _worker(83)
  work_item.run()

/opt/python/3/lib/python3.11/concurrent/futures/thread.py in run(58)
  result = self.fn(*self.args, **self.kwargs)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle(281)
  keepalive = self.handle_request(req, conn)

/app/.venv/lib/python3.11/site-packages/gunicorn/workers/gthread.py in handle_request(333)
  respiter = self.wsgi(environ, resp.start_response)

/app/.venv/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/.venv/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/edulms/middleware.py in __call__(180)
  response = self.get_response(request)

/app/edulms/middleware.py in __call__(43)
  response = self.get_response(request)

/app/.venv/lib/python3.11/site-packages/django/contrib/sessions/middleware.py in process_response(61)
  request.session.save()

/app/.venv/lib/python3.11/site-packages/django/contrib/sessions/backends/db.py in save(87)
  obj.save(force_insert=must_create, force_update=not must_create, using=using)

Static files (1871 found, 47 used)

Static file paths

  1. /app/assets/vendor (prefix vendor)
  2. /app/assets/bundles (prefix bundles)
  3. /app/edulms/static (prefix statici18n)

Static file apps

  1. debug_toolbar
  2. modeltranslation
  3. dal
  4. dal_select2
  5. django.contrib.admin
  6. api.v2
  7. edulms
  8. polymorphic
  9. rest_framework
  10. django_extensions
  11. adminsortable2
  12. ckeditor
  13. ckeditor_uploader
  14. import_export
  15. logs
  16. remote_backends
  17. silk

Static files

edulms/images/icons/favicon.ico
/app/edulms/static/edulms/images/icons/favicon.ico
bundles/vendors-node_modules_bootstrap_dist_js_bootstrap_esm_js-node_modules_detect-browser_es_index_js-28c20b276fcad0675d72.js
/app/assets/bundles/vendors-node_modules_bootstrap_dist_js_bootstrap_esm_js-node_modules_detect-browser_es_index_js-28c20b276fcad0675d72.js
bundles/vendors-node_modules_dirrty_dist_jquery_dirrty_js-node_modules_jquery_dist_jquery-exposed_js--bcc8ca-57e65991ab709d1e48f7.js
/app/assets/bundles/vendors-node_modules_dirrty_dist_jquery_dirrty_js-node_modules_jquery_dist_jquery-exposed_js--bcc8ca-57e65991ab709d1e48f7.js
bundles/vendors-node_modules_player_js_dist_player-0_1_0_js-076a994979dc984d95a8.js
/app/assets/bundles/vendors-node_modules_player_js_dist_player-0_1_0_js-076a994979dc984d95a8.js
bundles/vendors-node_modules_petite-vue_dist_petite-vue_es_js-5061112c7445290cab9c.js
/app/assets/bundles/vendors-node_modules_petite-vue_dist_petite-vue_es_js-5061112c7445290cab9c.js
bundles/assets_ts_utils_ts-1a9158966a1e9785cd25.js
/app/assets/bundles/assets_ts_utils_ts-1a9158966a1e9785cd25.js
bundles/assets_css_style_scss-a6bf412c9404207c01aa.css
/app/assets/bundles/assets_css_style_scss-a6bf412c9404207c01aa.css
bundles/assets_ts_dynamic_ts-9aa0a6edd5265fedc990.js
/app/assets/bundles/assets_ts_dynamic_ts-9aa0a6edd5265fedc990.js
bundles/assets_ts_entrypoints_base_ts-ae852189512eec700027.js
/app/assets/bundles/assets_ts_entrypoints_base_ts-ae852189512eec700027.js
bundles/schoolClassDetail-a68c6cb187aa36a3d117.js
/app/assets/bundles/schoolClassDetail-a68c6cb187aa36a3d117.js
edulms/images/logos/growplanet_logo_shadow.png
/app/edulms/static/edulms/images/logos/growplanet_logo_shadow.png
edulms/images/logos/growplanet_logo_shadow.png
/app/edulms/static/edulms/images/logos/growplanet_logo_shadow.png
edulms/images/mt-reversed.png
/app/edulms/static/edulms/images/mt-reversed.png
edulms/images/mt.png
/app/edulms/static/edulms/images/mt.png
edulms/images/flags/en.png
/app/edulms/static/edulms/images/flags/en.png
edulms/images/flags/en.png
/app/edulms/static/edulms/images/flags/en.png
edulms/images/flags/sv.png
/app/edulms/static/edulms/images/flags/sv.png
edulms/images/mt.png
/app/edulms/static/edulms/images/mt.png
edulms/images/mt.png
/app/edulms/static/edulms/images/mt.png
edulms/images/mt.png
/app/edulms/static/edulms/images/mt.png
edulms/images/mt.png
/app/edulms/static/edulms/images/mt.png
edulms/images/mt.png
/app/edulms/static/edulms/images/mt.png
edulms/images/mt.png
/app/edulms/static/edulms/images/mt.png
edulms/images/mt.png
/app/edulms/static/edulms/images/mt.png
edulms/images/flags/sv.png
/app/edulms/static/edulms/images/flags/sv.png
edulms/images/flags/sv.png
/app/edulms/static/edulms/images/flags/sv.png
edulms/images/flags/sv.png
/app/edulms/static/edulms/images/flags/sv.png
edulms/images/flags/sv.png
/app/edulms/static/edulms/images/flags/sv.png
edulms/images/flags/sv.png
/app/edulms/static/edulms/images/flags/sv.png
edulms/images/flags/sv.png
/app/edulms/static/edulms/images/flags/sv.png
edulms/images/flags/sv.png
/app/edulms/static/edulms/images/flags/sv.png
edulms/images/flags/sv.png
/app/edulms/static/edulms/images/flags/sv.png
edulms/images/flags/sv.png
/app/edulms/static/edulms/images/flags/sv.png
edulms/images/mt.png
/app/edulms/static/edulms/images/mt.png
edulms/images/mt.png
/app/edulms/static/edulms/images/mt.png
edulms/images/mt.png
/app/edulms/static/edulms/images/mt.png
jsi18n/en/djangojs.js
/app/edulms/static/jsi18n/en/djangojs.js
bundles/vendors-node_modules_bootstrap_dist_js_bootstrap_esm_js-node_modules_detect-browser_es_index_js-28c20b276fcad0675d72.js
/app/assets/bundles/vendors-node_modules_bootstrap_dist_js_bootstrap_esm_js-node_modules_detect-browser_es_index_js-28c20b276fcad0675d72.js
bundles/vendors-node_modules_dirrty_dist_jquery_dirrty_js-node_modules_jquery_dist_jquery-exposed_js--bcc8ca-57e65991ab709d1e48f7.js
/app/assets/bundles/vendors-node_modules_dirrty_dist_jquery_dirrty_js-node_modules_jquery_dist_jquery-exposed_js--bcc8ca-57e65991ab709d1e48f7.js
bundles/vendors-node_modules_player_js_dist_player-0_1_0_js-076a994979dc984d95a8.js
/app/assets/bundles/vendors-node_modules_player_js_dist_player-0_1_0_js-076a994979dc984d95a8.js
bundles/vendors-node_modules_petite-vue_dist_petite-vue_es_js-5061112c7445290cab9c.js
/app/assets/bundles/vendors-node_modules_petite-vue_dist_petite-vue_es_js-5061112c7445290cab9c.js
bundles/assets_ts_utils_ts-1a9158966a1e9785cd25.js
/app/assets/bundles/assets_ts_utils_ts-1a9158966a1e9785cd25.js
bundles/assets_css_style_scss-a6bf412c9404207c01aa.css
/app/assets/bundles/assets_css_style_scss-a6bf412c9404207c01aa.css
bundles/assets_ts_dynamic_ts-9aa0a6edd5265fedc990.js
/app/assets/bundles/assets_ts_dynamic_ts-9aa0a6edd5265fedc990.js
bundles/assets_ts_entrypoints_base_ts-ae852189512eec700027.js
/app/assets/bundles/assets_ts_entrypoints_base_ts-ae852189512eec700027.js
bundles/schoolClassDetail-a68c6cb187aa36a3d117.js
/app/assets/bundles/schoolClassDetail-a68c6cb187aa36a3d117.js
edulms/images/mt.png
/app/edulms/static/edulms/images/mt.png

django.contrib.staticfiles.finders.FileSystemFinder (197 files)

Path Location
vendor/ckeditor-video/.git /app/assets/vendor/ckeditor-video/.git
vendor/ckeditor-video/README.md /app/assets/vendor/ckeditor-video/README.md
vendor/ckeditor-video/plugin.js /app/assets/vendor/ckeditor-video/plugin.js
vendor/ckeditor-video/LICENSE /app/assets/vendor/ckeditor-video/LICENSE
vendor/ckeditor-video/dialogs/video.js /app/assets/vendor/ckeditor-video/dialogs/video.js
vendor/ckeditor-video/lang/ru.js /app/assets/vendor/ckeditor-video/lang/ru.js
vendor/ckeditor-video/lang/en.js /app/assets/vendor/ckeditor-video/lang/en.js
vendor/ckeditor-video/lang/fr.js /app/assets/vendor/ckeditor-video/lang/fr.js
vendor/ckeditor-video/icons/video.src-16.png /app/assets/vendor/ckeditor-video/icons/video.src-16.png
vendor/ckeditor-video/icons/video.png /app/assets/vendor/ckeditor-video/icons/video.png
vendor/ckeditor-video/icons/hidpi/video.src-32.png /app/assets/vendor/ckeditor-video/icons/hidpi/video.src-32.png
vendor/ckeditor-video/icons/hidpi/video.png /app/assets/vendor/ckeditor-video/icons/hidpi/video.png
vendor/ckeditor-video/images/placeholder.src.png /app/assets/vendor/ckeditor-video/images/placeholder.src.png
vendor/ckeditor-video/images/placeholder.png /app/assets/vendor/ckeditor-video/images/placeholder.png
vendor/pygal.js/.git /app/assets/vendor/pygal.js/.git
vendor/pygal.js/README.md /app/assets/vendor/pygal.js/README.md
vendor/pygal.js/.nojekyll /app/assets/vendor/pygal.js/.nojekyll
vendor/pygal.js/package.json /app/assets/vendor/pygal.js/package.json
vendor/pygal.js/Gruntfile.coffee /app/assets/vendor/pygal.js/Gruntfile.coffee
vendor/pygal.js/bower.json /app/assets/vendor/pygal.js/bower.json
vendor/pygal.js/latest/pygal-tooltips.min.js /app/assets/vendor/pygal.js/latest/pygal-tooltips.min.js
vendor/pygal.js/latest/pygal-tooltips.js /app/assets/vendor/pygal.js/latest/pygal-tooltips.js
vendor/pygal.js/javascripts/svg.jquery.js /app/assets/vendor/pygal.js/javascripts/svg.jquery.js
vendor/pygal.js/javascripts/pygal-tooltips.js /app/assets/vendor/pygal.js/javascripts/pygal-tooltips.js
vendor/pygal.js/2.0.x/pygal-tooltips.min.js /app/assets/vendor/pygal.js/2.0.x/pygal-tooltips.min.js
vendor/pygal.js/2.0.x/pygal-tooltips.js /app/assets/vendor/pygal.js/2.0.x/pygal-tooltips.js
vendor/pygal.js/coffee/pygal-tooltips.coffee /app/assets/vendor/pygal.js/coffee/pygal-tooltips.coffee
vendor/ckeditor-html5-video/.git /app/assets/vendor/ckeditor-html5-video/.git
vendor/ckeditor-html5-video/README.md /app/assets/vendor/ckeditor-html5-video/README.md
vendor/ckeditor-html5-video/LICENSE /app/assets/vendor/ckeditor-html5-video/LICENSE
vendor/ckeditor-html5-video/html5video/plugin.js /app/assets/vendor/ckeditor-html5-video/html5video/plugin.js
vendor/ckeditor-html5-video/html5video/dialogs/html5video.js /app/assets/vendor/ckeditor-html5-video/html5video/dialogs/html5video.js
vendor/ckeditor-html5-video/html5video/lang/fa.js /app/assets/vendor/ckeditor-html5-video/html5video/lang/fa.js
vendor/ckeditor-html5-video/html5video/lang/uz.js /app/assets/vendor/ckeditor-html5-video/html5video/lang/uz.js
vendor/ckeditor-html5-video/html5video/lang/pt.js /app/assets/vendor/ckeditor-html5-video/html5video/lang/pt.js
vendor/ckeditor-html5-video/html5video/lang/ru.js /app/assets/vendor/ckeditor-html5-video/html5video/lang/ru.js
vendor/ckeditor-html5-video/html5video/lang/ko.js /app/assets/vendor/ckeditor-html5-video/html5video/lang/ko.js
vendor/ckeditor-html5-video/html5video/lang/eu.js /app/assets/vendor/ckeditor-html5-video/html5video/lang/eu.js
vendor/ckeditor-html5-video/html5video/lang/es.js /app/assets/vendor/ckeditor-html5-video/html5video/lang/es.js
vendor/ckeditor-html5-video/html5video/lang/en.js /app/assets/vendor/ckeditor-html5-video/html5video/lang/en.js
vendor/ckeditor-html5-video/html5video/lang/pt-br.js /app/assets/vendor/ckeditor-html5-video/html5video/lang/pt-br.js
vendor/ckeditor-html5-video/html5video/lang/de.js /app/assets/vendor/ckeditor-html5-video/html5video/lang/de.js
vendor/ckeditor-html5-video/html5video/lang/fr.js /app/assets/vendor/ckeditor-html5-video/html5video/lang/fr.js
vendor/ckeditor-html5-video/html5video/lang/he.js /app/assets/vendor/ckeditor-html5-video/html5video/lang/he.js
vendor/ckeditor-html5-video/html5video/lang/bg.js /app/assets/vendor/ckeditor-html5-video/html5video/lang/bg.js
vendor/ckeditor-html5-video/html5video/lang/zh-cn.js /app/assets/vendor/ckeditor-html5-video/html5video/lang/zh-cn.js
vendor/ckeditor-html5-video/html5video/lang/pl.js /app/assets/vendor/ckeditor-html5-video/html5video/lang/pl.js
vendor/ckeditor-html5-video/html5video/lang/uk.js /app/assets/vendor/ckeditor-html5-video/html5video/lang/uk.js
vendor/ckeditor-html5-video/html5video/lang/ca.js /app/assets/vendor/ckeditor-html5-video/html5video/lang/ca.js
vendor/ckeditor-html5-video/html5video/icons/html5video.png /app/assets/vendor/ckeditor-html5-video/html5video/icons/html5video.png
vendor/ckeditor-html5-video/html5video/icons/hidpi/html5video.png /app/assets/vendor/ckeditor-html5-video/html5video/icons/hidpi/html5video.png
vendor/ckeditor-django-links/plugin.js /app/assets/vendor/ckeditor-django-links/plugin.js
vendor/ckeditor-django-links/dialogs/djangolink.js /app/assets/vendor/ckeditor-django-links/dialogs/djangolink.js
vendor/ckeditor-django-links/icons/djangolink.png /app/assets/vendor/ckeditor-django-links/icons/djangolink.png
vendor/ckeditor-django-links/icons/hidpi/djangolink.png /app/assets/vendor/ckeditor-django-links/icons/hidpi/djangolink.png
vendor/jquery-ui-touch-punch/jquery.ui.touch-punch.js /app/assets/vendor/jquery-ui-touch-punch/jquery.ui.touch-punch.js
vendor/jquery-ui-touch-punch/.git /app/assets/vendor/jquery-ui-touch-punch/.git
vendor/jquery-ui-touch-punch/README.md /app/assets/vendor/jquery-ui-touch-punch/README.md
vendor/jquery-ui-touch-punch/jquery-ui-notes.txt /app/assets/vendor/jquery-ui-touch-punch/jquery-ui-notes.txt
vendor/jquery-ui-touch-punch/bower.json /app/assets/vendor/jquery-ui-touch-punch/bower.json
bundles/default-3a5434518a1123396bba.js /app/assets/bundles/default-3a5434518a1123396bba.js
bundles/email-0abdc5cceac94fb8b75e.css /app/assets/bundles/email-0abdc5cceac94fb8b75e.css
bundles/exerciseRoomDetail-7c38ec968406dfba128f.js /app/assets/bundles/exerciseRoomDetail-7c38ec968406dfba128f.js
bundles/vendors-node_modules_petite-vue_dist_petite-vue_es_js-5061112c7445290cab9c.js /app/assets/bundles/vendors-node_modules_petite-vue_dist_petite-vue_es_js-5061112c7445290cab9c.js
bundles/schoolClassDetail-a68c6cb187aa36a3d117.js.map /app/assets/bundles/schoolClassDetail-a68c6cb187aa36a3d117.js.map
bundles/logstream-d1fb73ee9dcf1455d705.js /app/assets/bundles/logstream-d1fb73ee9dcf1455d705.js
bundles/vendors-node_modules_luxon_src_luxon_js-d303d0c6d84bc5761ca8.js /app/assets/bundles/vendors-node_modules_luxon_src_luxon_js-d303d0c6d84bc5761ca8.js
bundles/admin-80ff515085a54d3c660e.js /app/assets/bundles/admin-80ff515085a54d3c660e.js
bundles/vendors-node_modules_select2_dist_js_i18n_sv_js-node_modules_select2_dist_js_select2_js-3deef5b099def8ca89a1.js.map /app/assets/bundles/vendors-node_modules_select2_dist_js_i18n_sv_js-node_modules_select2_dist_js_select2_js-3deef5b099def8ca89a1.js.map
bundles/base-98ff3a0c96ad19c4cea0.js /app/assets/bundles/base-98ff3a0c96ad19c4cea0.js
bundles/knowledgeBase-87ae33dae311b74cceb6.js.map /app/assets/bundles/knowledgeBase-87ae33dae311b74cceb6.js.map
bundles/statistics-acb78eed7bec934c9823.js /app/assets/bundles/statistics-acb78eed7bec934c9823.js
bundles/areaDetail-162e2e72d1d1e9879bf2.js.map /app/assets/bundles/areaDetail-162e2e72d1d1e9879bf2.js.map
bundles/vendors-node_modules_plotly_js-dist-min_plotly_min_js-node_modules_sortablejs_modular_sortabl-4e0c34-ded7067c1583e7afc1c9.js.map /app/assets/bundles/vendors-node_modules_plotly_js-dist-min_plotly_min_js-node_modules_sortablejs_modular_sortabl-4e0c34-ded7067c1583e7afc1c9.js.map
bundles/assets_ts_dynamic_ts-9aa0a6edd5265fedc990.js /app/assets/bundles/assets_ts_dynamic_ts-9aa0a6edd5265fedc990.js
bundles/assets_ts_entrypoints_base_ts-ae852189512eec700027.js.map /app/assets/bundles/assets_ts_entrypoints_base_ts-ae852189512eec700027.js.map
bundles/help-0c230f70536e12dddcf3.js.map /app/assets/bundles/help-0c230f70536e12dddcf3.js.map
bundles/baseJoinClass-d03dda91ea53b43f4d7b.js.map /app/assets/bundles/baseJoinClass-d03dda91ea53b43f4d7b.js.map
bundles/logstream-d1fb73ee9dcf1455d705.js.map /app/assets/bundles/logstream-d1fb73ee9dcf1455d705.js.map
bundles/schoolClassDetail-a68c6cb187aa36a3d117.js /app/assets/bundles/schoolClassDetail-a68c6cb187aa36a3d117.js
bundles/areaDetail-162e2e72d1d1e9879bf2.js /app/assets/bundles/areaDetail-162e2e72d1d1e9879bf2.js
bundles/license-5229317f3be27d92ee0b.js /app/assets/bundles/license-5229317f3be27d92ee0b.js
bundles/studentForm-f852e1cde1066b93c398.js.map /app/assets/bundles/studentForm-f852e1cde1066b93c398.js.map
bundles/statistics-acb78eed7bec934c9823.js.map /app/assets/bundles/statistics-acb78eed7bec934c9823.js.map
bundles/assets_ts_utils_ts-1a9158966a1e9785cd25.js /app/assets/bundles/assets_ts_utils_ts-1a9158966a1e9785cd25.js
bundles/teacherActivationForm-976464023848bc446077.js.map /app/assets/bundles/teacherActivationForm-976464023848bc446077.js.map
bundles/vendors-node_modules_player_js_dist_player-0_1_0_js-076a994979dc984d95a8.js.map /app/assets/bundles/vendors-node_modules_player_js_dist_player-0_1_0_js-076a994979dc984d95a8.js.map
bundles/vendors-node_modules_bootstrap_dist_js_bootstrap_esm_js-node_modules_detect-browser_es_index_js-28c20b276fcad0675d72.js.map /app/assets/bundles/vendors-node_modules_bootstrap_dist_js_bootstrap_esm_js-node_modules_detect-browser_es_index_js-28c20b276fcad0675d72.js.map
bundles/vendors-node_modules_plotly_js-dist-min_plotly_min_js-node_modules_sortablejs_modular_sortabl-4e0c34-ded7067c1583e7afc1c9.js /app/assets/bundles/vendors-node_modules_plotly_js-dist-min_plotly_min_js-node_modules_sortablejs_modular_sortabl-4e0c34-ded7067c1583e7afc1c9.js
bundles/license-5229317f3be27d92ee0b.js.map /app/assets/bundles/license-5229317f3be27d92ee0b.js.map
bundles/vendors-node_modules_bootstrap_dist_js_bootstrap_esm_js-node_modules_detect-browser_es_index_js-28c20b276fcad0675d72.js /app/assets/bundles/vendors-node_modules_bootstrap_dist_js_bootstrap_esm_js-node_modules_detect-browser_es_index_js-28c20b276fcad0675d72.js
bundles/exams-8a645dfe3e62750d6c26.js /app/assets/bundles/exams-8a645dfe3e62750d6c26.js
bundles/joinClass-798ec9aa61f1a896efa9.js /app/assets/bundles/joinClass-798ec9aa61f1a896efa9.js
bundles/assets_css_style_scss-a6bf412c9404207c01aa.css /app/assets/bundles/assets_css_style_scss-a6bf412c9404207c01aa.css
bundles/studentForm-f852e1cde1066b93c398.js /app/assets/bundles/studentForm-f852e1cde1066b93c398.js
bundles/base-98ff3a0c96ad19c4cea0.js.map /app/assets/bundles/base-98ff3a0c96ad19c4cea0.js.map
bundles/newsletterPrefs-6bba4b74e3834f8d312d.js /app/assets/bundles/newsletterPrefs-6bba4b74e3834f8d312d.js
bundles/assets_ts_dynamic_ts-9aa0a6edd5265fedc990.js.map /app/assets/bundles/assets_ts_dynamic_ts-9aa0a6edd5265fedc990.js.map
bundles/googleAssignSchools-2b741ed5984c3cc44ee1.js /app/assets/bundles/googleAssignSchools-2b741ed5984c3cc44ee1.js
bundles/userManagement-a35d7161688bba1042c4.js.map /app/assets/bundles/userManagement-a35d7161688bba1042c4.js.map
bundles/teacherActivationForm-976464023848bc446077.js /app/assets/bundles/teacherActivationForm-976464023848bc446077.js
bundles/studentDetail-b6502bddc01de05460fb.js /app/assets/bundles/studentDetail-b6502bddc01de05460fb.js
bundles/admin-85886955a9d0e1184e31.css /app/assets/bundles/admin-85886955a9d0e1184e31.css
bundles/knowledgeBase-87ae33dae311b74cceb6.js /app/assets/bundles/knowledgeBase-87ae33dae311b74cceb6.js
bundles/vendors-node_modules_select2_dist_js_i18n_sv_js-node_modules_select2_dist_js_select2_js-3deef5b099def8ca89a1.js /app/assets/bundles/vendors-node_modules_select2_dist_js_i18n_sv_js-node_modules_select2_dist_js_select2_js-3deef5b099def8ca89a1.js
bundles/admin-80ff515085a54d3c660e.js.map /app/assets/bundles/admin-80ff515085a54d3c660e.js.map
bundles/email-0abdc5cceac94fb8b75e.css.map /app/assets/bundles/email-0abdc5cceac94fb8b75e.css.map
bundles/schoolClassForm-c5c8a6bdb81e5d07a66b.js /app/assets/bundles/schoolClassForm-c5c8a6bdb81e5d07a66b.js
bundles/joinClass-798ec9aa61f1a896efa9.js.map /app/assets/bundles/joinClass-798ec9aa61f1a896efa9.js.map
bundles/schoolClassForm-c5c8a6bdb81e5d07a66b.js.map /app/assets/bundles/schoolClassForm-c5c8a6bdb81e5d07a66b.js.map
bundles/default-3a5434518a1123396bba.js.map /app/assets/bundles/default-3a5434518a1123396bba.js.map
bundles/assets_css_style_scss-a6bf412c9404207c01aa.css.map /app/assets/bundles/assets_css_style_scss-a6bf412c9404207c01aa.css.map
bundles/exams-8a645dfe3e62750d6c26.js.map /app/assets/bundles/exams-8a645dfe3e62750d6c26.js.map
bundles/vendors-node_modules_luxon_src_luxon_js-d303d0c6d84bc5761ca8.js.map /app/assets/bundles/vendors-node_modules_luxon_src_luxon_js-d303d0c6d84bc5761ca8.js.map
bundles/studentDetail-b6502bddc01de05460fb.js.map /app/assets/bundles/studentDetail-b6502bddc01de05460fb.js.map
bundles/assets_ts_utils_ts-1a9158966a1e9785cd25.js.map /app/assets/bundles/assets_ts_utils_ts-1a9158966a1e9785cd25.js.map
bundles/userManagement-a35d7161688bba1042c4.js /app/assets/bundles/userManagement-a35d7161688bba1042c4.js
bundles/email-6339f2c7046f389b579c.js /app/assets/bundles/email-6339f2c7046f389b579c.js
bundles/newsletterPrefs-6bba4b74e3834f8d312d.js.map /app/assets/bundles/newsletterPrefs-6bba4b74e3834f8d312d.js.map
bundles/assets_ts_entrypoints_base_ts-ae852189512eec700027.js /app/assets/bundles/assets_ts_entrypoints_base_ts-ae852189512eec700027.js
bundles/vendors-node_modules_petite-vue_dist_petite-vue_es_js-5061112c7445290cab9c.js.map /app/assets/bundles/vendors-node_modules_petite-vue_dist_petite-vue_es_js-5061112c7445290cab9c.js.map
bundles/help-0c230f70536e12dddcf3.js /app/assets/bundles/help-0c230f70536e12dddcf3.js
bundles/googleAssignSchools-2b741ed5984c3cc44ee1.js.map /app/assets/bundles/googleAssignSchools-2b741ed5984c3cc44ee1.js.map
bundles/admin-85886955a9d0e1184e31.css.map /app/assets/bundles/admin-85886955a9d0e1184e31.css.map
bundles/baseJoinClass-d03dda91ea53b43f4d7b.js /app/assets/bundles/baseJoinClass-d03dda91ea53b43f4d7b.js
bundles/email-6339f2c7046f389b579c.js.map /app/assets/bundles/email-6339f2c7046f389b579c.js.map
bundles/vendors-node_modules_player_js_dist_player-0_1_0_js-076a994979dc984d95a8.js /app/assets/bundles/vendors-node_modules_player_js_dist_player-0_1_0_js-076a994979dc984d95a8.js
bundles/vendors-node_modules_dirrty_dist_jquery_dirrty_js-node_modules_jquery_dist_jquery-exposed_js--bcc8ca-57e65991ab709d1e48f7.js.map /app/assets/bundles/vendors-node_modules_dirrty_dist_jquery_dirrty_js-node_modules_jquery_dist_jquery-exposed_js--bcc8ca-57e65991ab709d1e48f7.js.map
bundles/vendors-node_modules_dirrty_dist_jquery_dirrty_js-node_modules_jquery_dist_jquery-exposed_js--bcc8ca-57e65991ab709d1e48f7.js /app/assets/bundles/vendors-node_modules_dirrty_dist_jquery_dirrty_js-node_modules_jquery_dist_jquery-exposed_js--bcc8ca-57e65991ab709d1e48f7.js
bundles/exerciseRoomDetail-7c38ec968406dfba128f.js.map /app/assets/bundles/exerciseRoomDetail-7c38ec968406dfba128f.js.map
bundles/schoolAdmin-51ab53e0b10f2ac24be4.js.map /app/assets/bundles/schoolAdmin-51ab53e0b10f2ac24be4.js.map
bundles/schoolAdmin-51ab53e0b10f2ac24be4.js /app/assets/bundles/schoolAdmin-51ab53e0b10f2ac24be4.js
bundles/images/header-desktop.png /app/assets/bundles/images/header-desktop.png
bundles/images/header-mobile.png /app/assets/bundles/images/header-mobile.png
bundles/fonts/fa-regular-400.ttf /app/assets/bundles/fonts/fa-regular-400.ttf
bundles/fonts/GothamBold.ttf /app/assets/bundles/fonts/GothamBold.ttf
bundles/fonts/fa-regular-400.woff2 /app/assets/bundles/fonts/fa-regular-400.woff2
bundles/fonts/fa-solid-900.woff2 /app/assets/bundles/fonts/fa-solid-900.woff2
bundles/fonts/fa-solid-900.ttf /app/assets/bundles/fonts/fa-solid-900.ttf
bundles/fonts/Cabin-Regular.ttf /app/assets/bundles/fonts/Cabin-Regular.ttf
bundles/fonts/fa-brands-400.woff2 /app/assets/bundles/fonts/fa-brands-400.woff2
bundles/fonts/fa-brands-400.ttf /app/assets/bundles/fonts/fa-brands-400.ttf
bundles/fonts/GothamBold.otf /app/assets/bundles/fonts/GothamBold.otf
statici18n/jsi18n/en/djangojs.js /app/edulms/static/jsi18n/en/djangojs.js
statici18n/jsi18n/sv/djangojs.js /app/edulms/static/jsi18n/sv/djangojs.js
statici18n/jsi18n/fr/djangojs.js /app/edulms/static/jsi18n/fr/djangojs.js
statici18n/edulms/documents/instruktion_pubavtal_en.pdf /app/edulms/static/edulms/documents/instruktion_pubavtal_en.pdf
statici18n/edulms/documents/pub-avtal-en.odt /app/edulms/static/edulms/documents/pub-avtal-en.odt
statici18n/edulms/images/mt-reversed.png /app/edulms/static/edulms/images/mt-reversed.png
statici18n/edulms/images/skolon-register-2-sv.png /app/edulms/static/edulms/images/skolon-register-2-sv.png
statici18n/edulms/images/mt-sad.png /app/edulms/static/edulms/images/mt-sad.png
statici18n/edulms/images/skolon-register-2-en.png /app/edulms/static/edulms/images/skolon-register-2-en.png
statici18n/edulms/images/grow-planet-email-banner-sv.jpg /app/edulms/static/edulms/images/grow-planet-email-banner-sv.jpg
statici18n/edulms/images/grow-planet-email-banner-en.jpg /app/edulms/static/edulms/images/grow-planet-email-banner-en.jpg
statici18n/edulms/images/skolon-register-1-sv.png /app/edulms/static/edulms/images/skolon-register-1-sv.png
statici18n/edulms/images/skolon-register-1-en.png /app/edulms/static/edulms/images/skolon-register-1-en.png
statici18n/edulms/images/mt.png /app/edulms/static/edulms/images/mt.png
statici18n/edulms/images/icons/lock-red-100px.png /app/edulms/static/edulms/images/icons/lock-red-100px.png
statici18n/edulms/images/icons/external-link-blue.png /app/edulms/static/edulms/images/icons/external-link-blue.png
statici18n/edulms/images/icons/star-yellow.png /app/edulms/static/edulms/images/icons/star-yellow.png
statici18n/edulms/images/icons/circle-exclamation-red.png /app/edulms/static/edulms/images/icons/circle-exclamation-red.png
statici18n/edulms/images/icons/external-link-alt-solid.svg /app/edulms/static/edulms/images/icons/external-link-alt-solid.svg
statici18n/edulms/images/icons/flag-green.png /app/edulms/static/edulms/images/icons/flag-green.png
statici18n/edulms/images/icons/flag-yellow.png /app/edulms/static/edulms/images/icons/flag-yellow.png
statici18n/edulms/images/icons/favicon.ico /app/edulms/static/edulms/images/icons/favicon.ico
statici18n/edulms/images/icons/flag-red.png /app/edulms/static/edulms/images/icons/flag-red.png
statici18n/edulms/images/flags/sv.png /app/edulms/static/edulms/images/flags/sv.png
statici18n/edulms/images/flags/fr.png /app/edulms/static/edulms/images/flags/fr.png
statici18n/edulms/images/flags/en.png /app/edulms/static/edulms/images/flags/en.png
statici18n/edulms/images/video-posters/sv.svg /app/edulms/static/edulms/images/video-posters/sv.svg
statici18n/edulms/images/video-posters/sv.png /app/edulms/static/edulms/images/video-posters/sv.png
statici18n/edulms/images/video-posters/en.svg /app/edulms/static/edulms/images/video-posters/en.svg
statici18n/edulms/images/video-posters/en.png /app/edulms/static/edulms/images/video-posters/en.png
statici18n/edulms/images/logos/growplanet_logo_mt.png /app/edulms/static/edulms/images/logos/growplanet_logo_mt.png
statici18n/edulms/images/logos/play-in-browser-sv.png /app/edulms/static/edulms/images/logos/play-in-browser-sv.png
statici18n/edulms/images/logos/twitter-black-64px.png /app/edulms/static/edulms/images/logos/twitter-black-64px.png
statici18n/edulms/images/logos/xedu-120px.png /app/edulms/static/edulms/images/logos/xedu-120px.png
statici18n/edulms/images/logos/x-black-64px.png /app/edulms/static/edulms/images/logos/x-black-64px.png
statici18n/edulms/images/logos/groplay-logo-2022-100x100.png /app/edulms/static/edulms/images/logos/groplay-logo-2022-100x100.png
statici18n/edulms/images/logos/youtube-black-24px.png /app/edulms/static/edulms/images/logos/youtube-black-24px.png
statici18n/edulms/images/logos/twitter-black-24px.png /app/edulms/static/edulms/images/logos/twitter-black-24px.png
statici18n/edulms/images/logos/growplanet_logo_shadow.png /app/edulms/static/edulms/images/logos/growplanet_logo_shadow.png
statici18n/edulms/images/logos/growplanet_logo_square.png /app/edulms/static/edulms/images/logos/growplanet_logo_square.png
statici18n/edulms/images/logos/google-play-badge-sv.png /app/edulms/static/edulms/images/logos/google-play-badge-sv.png
statici18n/edulms/images/logos/facebook-black-24px.png /app/edulms/static/edulms/images/logos/facebook-black-24px.png
statici18n/edulms/images/logos/app-store-badge-sv.png /app/edulms/static/edulms/images/logos/app-store-badge-sv.png
statici18n/edulms/images/logos/instagram-black-24px.png /app/edulms/static/edulms/images/logos/instagram-black-24px.png
statici18n/edulms/images/logos/play-in-browser-en.png /app/edulms/static/edulms/images/logos/play-in-browser-en.png
statici18n/edulms/images/logos/x-black-24px.png /app/edulms/static/edulms/images/logos/x-black-24px.png
statici18n/edulms/images/logos/facebook-black-64px.png /app/edulms/static/edulms/images/logos/facebook-black-64px.png
statici18n/edulms/images/logos/instagram-black-64px.png /app/edulms/static/edulms/images/logos/instagram-black-64px.png
statici18n/edulms/images/logos/impact-edtech-stage2-120px.png /app/edulms/static/edulms/images/logos/impact-edtech-stage2-120px.png
statici18n/edulms/images/logos/growplanet_logo_microsoft.png /app/edulms/static/edulms/images/logos/growplanet_logo_microsoft.png
statici18n/edulms/images/logos/google-play-badge-en.png /app/edulms/static/edulms/images/logos/google-play-badge-en.png
statici18n/edulms/images/logos/youtube-black-64px.png /app/edulms/static/edulms/images/logos/youtube-black-64px.png
statici18n/edulms/images/logos/app-store-badge-en.png /app/edulms/static/edulms/images/logos/app-store-badge-en.png
statici18n/edulms/images/logos/swedish-edtest.png /app/edulms/static/edulms/images/logos/swedish-edtest.png

django.contrib.staticfiles.finders.AppDirectoriesFinder (1674 files)

Path Location
debug_toolbar/css/toolbar.css /app/.venv/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/css/toolbar.css
debug_toolbar/css/print.css /app/.venv/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/css/print.css
debug_toolbar/js/history.js /app/.venv/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/history.js
debug_toolbar/js/timer.js /app/.venv/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/timer.js
debug_toolbar/js/toolbar.js /app/.venv/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/toolbar.js
debug_toolbar/js/redirect.js /app/.venv/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/redirect.js
debug_toolbar/js/utils.js /app/.venv/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/utils.js
modeltranslation/css/tabbed_translation_fields.css /app/.venv/lib/python3.11/site-packages/modeltranslation/static/modeltranslation/css/tabbed_translation_fields.css
modeltranslation/js/force_jquery.js /app/.venv/lib/python3.11/site-packages/modeltranslation/static/modeltranslation/js/force_jquery.js
modeltranslation/js/clearable_inputs.js /app/.venv/lib/python3.11/site-packages/modeltranslation/static/modeltranslation/js/clearable_inputs.js
modeltranslation/js/tabbed_translation_fields.js /app/.venv/lib/python3.11/site-packages/modeltranslation/static/modeltranslation/js/tabbed_translation_fields.js
autocomplete_light/autocomplete_light.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/autocomplete_light.js
autocomplete_light/autocomplete_light.min.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/autocomplete_light.min.js
autocomplete_light/i18n/tr.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/tr.js
autocomplete_light/i18n/fa.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/fa.js
autocomplete_light/i18n/is.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/is.js
autocomplete_light/i18n/pt.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/pt.js
autocomplete_light/i18n/dsb.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/dsb.js
autocomplete_light/i18n/bn.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/bn.js
autocomplete_light/i18n/sl.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/sl.js
autocomplete_light/i18n/ro.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/ro.js
autocomplete_light/i18n/ja.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/ja.js
autocomplete_light/i18n/id.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/id.js
autocomplete_light/i18n/it.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/it.js
autocomplete_light/i18n/ru.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/ru.js
autocomplete_light/i18n/nl.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/nl.js
autocomplete_light/i18n/az.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/az.js
autocomplete_light/i18n/zh-CN.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/zh-CN.js
autocomplete_light/i18n/tk.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/tk.js
autocomplete_light/i18n/ko.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/ko.js
autocomplete_light/i18n/ps.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/ps.js
autocomplete_light/i18n/eu.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/eu.js
autocomplete_light/i18n/hu.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/hu.js
autocomplete_light/i18n/es.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/es.js
autocomplete_light/i18n/hi.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/hi.js
autocomplete_light/i18n/ms.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/ms.js
autocomplete_light/i18n/gl.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/gl.js
autocomplete_light/i18n/mk.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/mk.js
autocomplete_light/i18n/en.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/en.js
autocomplete_light/i18n/de.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/de.js
autocomplete_light/i18n/pt-BR.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/pt-BR.js
autocomplete_light/i18n/bs.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/bs.js
autocomplete_light/i18n/hr.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/hr.js
autocomplete_light/i18n/fr.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/fr.js
autocomplete_light/i18n/sr.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/sr.js
autocomplete_light/i18n/nb.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/nb.js
autocomplete_light/i18n/sk.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/sk.js
autocomplete_light/i18n/he.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/he.js
autocomplete_light/i18n/lv.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/lv.js
autocomplete_light/i18n/fi.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/fi.js
autocomplete_light/i18n/eo.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/eo.js
autocomplete_light/i18n/ka.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/ka.js
autocomplete_light/i18n/th.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/th.js
autocomplete_light/i18n/te.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/te.js
autocomplete_light/i18n/bg.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/bg.js
autocomplete_light/i18n/el.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/el.js
autocomplete_light/i18n/sq.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/sq.js
autocomplete_light/i18n/zh-TW.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/zh-TW.js
autocomplete_light/i18n/af.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/af.js
autocomplete_light/i18n/pl.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/pl.js
autocomplete_light/i18n/hy.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/hy.js
autocomplete_light/i18n/uk.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/uk.js
autocomplete_light/i18n/lt.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/lt.js
autocomplete_light/i18n/vi.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/vi.js
autocomplete_light/i18n/da.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/da.js
autocomplete_light/i18n/ca.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/ca.js
autocomplete_light/i18n/sr-Cyrl.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/sr-Cyrl.js
autocomplete_light/i18n/km.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/km.js
autocomplete_light/i18n/et.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/et.js
autocomplete_light/i18n/ar.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/ar.js
autocomplete_light/i18n/hsb.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/hsb.js
autocomplete_light/i18n/cs.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/cs.js
autocomplete_light/i18n/pa.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/pa.js
autocomplete_light/i18n/sv.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/sv.js
autocomplete_light/i18n/ne.js /app/.venv/lib/python3.11/site-packages/dal/static/autocomplete_light/i18n/ne.js
autocomplete_light/select2.js /app/.venv/lib/python3.11/site-packages/dal_select2/static/autocomplete_light/select2.js
autocomplete_light/select2.css /app/.venv/lib/python3.11/site-packages/dal_select2/static/autocomplete_light/select2.css
autocomplete_light/select2.min.js /app/.venv/lib/python3.11/site-packages/dal_select2/static/autocomplete_light/select2.min.js
vendor/select2/dist/css/select2.min.css /app/.venv/lib/python3.11/site-packages/dal_select2/static/vendor/select2/dist/css/select2.min.css
vendor/select2/dist/css/select2.css /app/.venv/lib/python3.11/site-packages/dal_select2/static/vendor/select2/dist/css/select2.css
admin/img/icon-clock.svg /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-clock.svg
admin/img/icon-addlink.svg /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-addlink.svg
admin/img/icon-changelink.svg /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-changelink.svg
admin/img/icon-no.svg /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-no.svg
admin/img/calendar-icons.svg /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/calendar-icons.svg
admin/img/inline-delete.svg /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/inline-delete.svg
admin/img/icon-alert.svg /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-alert.svg
admin/img/README.txt /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/README.txt
admin/img/icon-unknown-alt.svg /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-unknown-alt.svg
admin/img/icon-calendar.svg /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-calendar.svg
admin/img/tooltag-arrowright.svg /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/tooltag-arrowright.svg
admin/img/icon-viewlink.svg /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-viewlink.svg
admin/img/selector-icons.svg /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/selector-icons.svg
admin/img/icon-unknown.svg /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-unknown.svg
admin/img/icon-deletelink.svg /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-deletelink.svg
admin/img/search.svg /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/search.svg
admin/img/sorting-icons.svg /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/sorting-icons.svg
admin/img/tooltag-add.svg /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/tooltag-add.svg
admin/img/LICENSE /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/LICENSE
admin/img/icon-yes.svg /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-yes.svg
admin/img/gis/move_vertex_on.svg /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_on.svg
admin/img/gis/move_vertex_off.svg /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_off.svg
admin/css/responsive.css /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/responsive.css
admin/css/forms.css /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/forms.css
admin/css/nav_sidebar.css /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/nav_sidebar.css
admin/css/widgets.css /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/widgets.css
admin/css/dashboard.css /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/dashboard.css
admin/css/changelists.css /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/changelists.css
admin/css/fonts.css /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/fonts.css
admin/css/autocomplete.css /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/autocomplete.css
admin/css/rtl.css /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/rtl.css
admin/css/login.css /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/login.css
admin/css/responsive_rtl.css /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/responsive_rtl.css
admin/css/base.css /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/base.css
admin/css/vendor/select2/LICENSE-SELECT2.md /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md
admin/css/vendor/select2/select2.min.css /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.min.css
admin/css/vendor/select2/select2.css /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.css
admin/js/inlines.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/inlines.js
admin/js/cancel.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/cancel.js
admin/js/SelectBox.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/SelectBox.js
admin/js/popup_response.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/popup_response.js
admin/js/SelectFilter2.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/SelectFilter2.js
admin/js/jquery.init.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/jquery.init.js
admin/js/calendar.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/calendar.js
admin/js/urlify.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/urlify.js
admin/js/core.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/core.js
admin/js/collapse.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/collapse.js
admin/js/nav_sidebar.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/nav_sidebar.js
admin/js/prepopulate.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/prepopulate.js
admin/js/change_form.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/change_form.js
admin/js/autocomplete.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/autocomplete.js
admin/js/prepopulate_init.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/prepopulate_init.js
admin/js/actions.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/actions.js
admin/js/admin/DateTimeShortcuts.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js
admin/js/admin/RelatedObjectLookups.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js
admin/js/vendor/jquery/jquery.min.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js
admin/js/vendor/jquery/LICENSE.txt /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt
admin/js/vendor/jquery/jquery.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.js
admin/js/vendor/xregexp/xregexp.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js
admin/js/vendor/xregexp/LICENSE.txt /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt
admin/js/vendor/xregexp/xregexp.min.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js
admin/js/vendor/select2/LICENSE.md /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md
admin/js/vendor/select2/select2.full.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.js
admin/js/vendor/select2/select2.full.min.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js
admin/js/vendor/select2/i18n/tr.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js
admin/js/vendor/select2/i18n/fa.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fa.js
admin/js/vendor/select2/i18n/is.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js
admin/js/vendor/select2/i18n/pt.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js
admin/js/vendor/select2/i18n/dsb.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/dsb.js
admin/js/vendor/select2/i18n/bn.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bn.js
admin/js/vendor/select2/i18n/sl.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sl.js
admin/js/vendor/select2/i18n/ro.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js
admin/js/vendor/select2/i18n/ja.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js
admin/js/vendor/select2/i18n/id.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js
admin/js/vendor/select2/i18n/it.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js
admin/js/vendor/select2/i18n/ru.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js
admin/js/vendor/select2/i18n/nl.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js
admin/js/vendor/select2/i18n/az.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js
admin/js/vendor/select2/i18n/zh-CN.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js
admin/js/vendor/select2/i18n/tk.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tk.js
admin/js/vendor/select2/i18n/ko.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js
admin/js/vendor/select2/i18n/ps.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ps.js
admin/js/vendor/select2/i18n/eu.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js
admin/js/vendor/select2/i18n/hu.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js
admin/js/vendor/select2/i18n/es.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js
admin/js/vendor/select2/i18n/hi.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js
admin/js/vendor/select2/i18n/ms.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js
admin/js/vendor/select2/i18n/gl.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js
admin/js/vendor/select2/i18n/mk.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js
admin/js/vendor/select2/i18n/en.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js
admin/js/vendor/select2/i18n/de.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js
admin/js/vendor/select2/i18n/pt-BR.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js
admin/js/vendor/select2/i18n/bs.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bs.js
admin/js/vendor/select2/i18n/hr.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js
admin/js/vendor/select2/i18n/fr.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js
admin/js/vendor/select2/i18n/sr.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js
admin/js/vendor/select2/i18n/nb.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js
admin/js/vendor/select2/i18n/sk.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js
admin/js/vendor/select2/i18n/he.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js
admin/js/vendor/select2/i18n/lv.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js
admin/js/vendor/select2/i18n/fi.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js
admin/js/vendor/select2/i18n/ka.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ka.js
admin/js/vendor/select2/i18n/th.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js
admin/js/vendor/select2/i18n/bg.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js
admin/js/vendor/select2/i18n/el.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js
admin/js/vendor/select2/i18n/sq.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sq.js
admin/js/vendor/select2/i18n/zh-TW.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js
admin/js/vendor/select2/i18n/af.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/af.js
admin/js/vendor/select2/i18n/pl.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js
admin/js/vendor/select2/i18n/hy.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hy.js
admin/js/vendor/select2/i18n/uk.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js
admin/js/vendor/select2/i18n/lt.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js
admin/js/vendor/select2/i18n/vi.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js
admin/js/vendor/select2/i18n/da.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js
admin/js/vendor/select2/i18n/ca.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js
admin/js/vendor/select2/i18n/sr-Cyrl.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js
admin/js/vendor/select2/i18n/km.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js
admin/js/vendor/select2/i18n/et.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js
admin/js/vendor/select2/i18n/ar.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js
admin/js/vendor/select2/i18n/hsb.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hsb.js
admin/js/vendor/select2/i18n/cs.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js
admin/js/vendor/select2/i18n/sv.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js
admin/js/vendor/select2/i18n/ne.js /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ne.js
admin/fonts/Roboto-Regular-webfont.woff /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Regular-webfont.woff
admin/fonts/LICENSE.txt /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/fonts/LICENSE.txt
admin/fonts/Roboto-Bold-webfont.woff /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Bold-webfont.woff
admin/fonts/README.txt /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/fonts/README.txt
admin/fonts/Roboto-Light-webfont.woff /app/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Light-webfont.woff
api/v2/openapi.yaml /app/api/v2/static/api/v2/openapi.yaml
jsi18n/en/djangojs.js /app/edulms/static/jsi18n/en/djangojs.js
jsi18n/sv/djangojs.js /app/edulms/static/jsi18n/sv/djangojs.js
jsi18n/fr/djangojs.js /app/edulms/static/jsi18n/fr/djangojs.js
edulms/documents/instruktion_pubavtal_en.pdf /app/edulms/static/edulms/documents/instruktion_pubavtal_en.pdf
edulms/documents/pub-avtal-en.odt /app/edulms/static/edulms/documents/pub-avtal-en.odt
edulms/images/mt-reversed.png /app/edulms/static/edulms/images/mt-reversed.png
edulms/images/skolon-register-2-sv.png /app/edulms/static/edulms/images/skolon-register-2-sv.png
edulms/images/mt-sad.png /app/edulms/static/edulms/images/mt-sad.png
edulms/images/skolon-register-2-en.png /app/edulms/static/edulms/images/skolon-register-2-en.png
edulms/images/grow-planet-email-banner-sv.jpg /app/edulms/static/edulms/images/grow-planet-email-banner-sv.jpg
edulms/images/grow-planet-email-banner-en.jpg /app/edulms/static/edulms/images/grow-planet-email-banner-en.jpg
edulms/images/skolon-register-1-sv.png /app/edulms/static/edulms/images/skolon-register-1-sv.png
edulms/images/skolon-register-1-en.png /app/edulms/static/edulms/images/skolon-register-1-en.png
edulms/images/mt.png /app/edulms/static/edulms/images/mt.png
edulms/images/icons/lock-red-100px.png /app/edulms/static/edulms/images/icons/lock-red-100px.png
edulms/images/icons/external-link-blue.png /app/edulms/static/edulms/images/icons/external-link-blue.png
edulms/images/icons/star-yellow.png /app/edulms/static/edulms/images/icons/star-yellow.png
edulms/images/icons/circle-exclamation-red.png /app/edulms/static/edulms/images/icons/circle-exclamation-red.png
edulms/images/icons/external-link-alt-solid.svg /app/edulms/static/edulms/images/icons/external-link-alt-solid.svg
edulms/images/icons/flag-green.png /app/edulms/static/edulms/images/icons/flag-green.png
edulms/images/icons/flag-yellow.png /app/edulms/static/edulms/images/icons/flag-yellow.png
edulms/images/icons/favicon.ico /app/edulms/static/edulms/images/icons/favicon.ico
edulms/images/icons/flag-red.png /app/edulms/static/edulms/images/icons/flag-red.png
edulms/images/flags/sv.png /app/edulms/static/edulms/images/flags/sv.png
edulms/images/flags/fr.png /app/edulms/static/edulms/images/flags/fr.png
edulms/images/flags/en.png /app/edulms/static/edulms/images/flags/en.png
edulms/images/video-posters/sv.svg /app/edulms/static/edulms/images/video-posters/sv.svg
edulms/images/video-posters/sv.png /app/edulms/static/edulms/images/video-posters/sv.png
edulms/images/video-posters/en.svg /app/edulms/static/edulms/images/video-posters/en.svg
edulms/images/video-posters/en.png /app/edulms/static/edulms/images/video-posters/en.png
edulms/images/logos/growplanet_logo_mt.png /app/edulms/static/edulms/images/logos/growplanet_logo_mt.png
edulms/images/logos/play-in-browser-sv.png /app/edulms/static/edulms/images/logos/play-in-browser-sv.png
edulms/images/logos/twitter-black-64px.png /app/edulms/static/edulms/images/logos/twitter-black-64px.png
edulms/images/logos/xedu-120px.png /app/edulms/static/edulms/images/logos/xedu-120px.png
edulms/images/logos/x-black-64px.png /app/edulms/static/edulms/images/logos/x-black-64px.png
edulms/images/logos/groplay-logo-2022-100x100.png /app/edulms/static/edulms/images/logos/groplay-logo-2022-100x100.png
edulms/images/logos/youtube-black-24px.png /app/edulms/static/edulms/images/logos/youtube-black-24px.png
edulms/images/logos/twitter-black-24px.png /app/edulms/static/edulms/images/logos/twitter-black-24px.png
edulms/images/logos/growplanet_logo_shadow.png /app/edulms/static/edulms/images/logos/growplanet_logo_shadow.png
edulms/images/logos/growplanet_logo_square.png /app/edulms/static/edulms/images/logos/growplanet_logo_square.png
edulms/images/logos/google-play-badge-sv.png /app/edulms/static/edulms/images/logos/google-play-badge-sv.png
edulms/images/logos/facebook-black-24px.png /app/edulms/static/edulms/images/logos/facebook-black-24px.png
edulms/images/logos/app-store-badge-sv.png /app/edulms/static/edulms/images/logos/app-store-badge-sv.png
edulms/images/logos/instagram-black-24px.png /app/edulms/static/edulms/images/logos/instagram-black-24px.png
edulms/images/logos/play-in-browser-en.png /app/edulms/static/edulms/images/logos/play-in-browser-en.png
edulms/images/logos/x-black-24px.png /app/edulms/static/edulms/images/logos/x-black-24px.png
edulms/images/logos/facebook-black-64px.png /app/edulms/static/edulms/images/logos/facebook-black-64px.png
edulms/images/logos/instagram-black-64px.png /app/edulms/static/edulms/images/logos/instagram-black-64px.png
edulms/images/logos/impact-edtech-stage2-120px.png /app/edulms/static/edulms/images/logos/impact-edtech-stage2-120px.png
edulms/images/logos/growplanet_logo_microsoft.png /app/edulms/static/edulms/images/logos/growplanet_logo_microsoft.png
edulms/images/logos/google-play-badge-en.png /app/edulms/static/edulms/images/logos/google-play-badge-en.png
edulms/images/logos/youtube-black-64px.png /app/edulms/static/edulms/images/logos/youtube-black-64px.png
edulms/images/logos/app-store-badge-en.png /app/edulms/static/edulms/images/logos/app-store-badge-en.png
edulms/images/logos/swedish-edtest.png /app/edulms/static/edulms/images/logos/swedish-edtest.png
polymorphic/css/polymorphic_inlines.css /app/.venv/lib/python3.11/site-packages/polymorphic/static/polymorphic/css/polymorphic_inlines.css
polymorphic/js/polymorphic_inlines.js /app/.venv/lib/python3.11/site-packages/polymorphic/static/polymorphic/js/polymorphic_inlines.js
rest_framework/docs/img/grid.png /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/docs/img/grid.png
rest_framework/docs/img/favicon.ico /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/docs/img/favicon.ico
rest_framework/docs/css/jquery.json-view.min.css /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/docs/css/jquery.json-view.min.css
rest_framework/docs/css/base.css /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/docs/css/base.css
rest_framework/docs/css/highlight.css /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/docs/css/highlight.css
rest_framework/docs/js/api.js /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/docs/js/api.js
rest_framework/docs/js/jquery.json-view.min.js /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/docs/js/jquery.json-view.min.js
rest_framework/docs/js/highlight.pack.js /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/docs/js/highlight.pack.js
rest_framework/img/glyphicons-halflings.png /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/img/glyphicons-halflings.png
rest_framework/img/grid.png /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/img/grid.png
rest_framework/img/glyphicons-halflings-white.png /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/img/glyphicons-halflings-white.png
rest_framework/css/bootstrap-theme.min.css.map /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/css/bootstrap-theme.min.css.map
rest_framework/css/bootstrap-theme.min.css /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/css/bootstrap-theme.min.css
rest_framework/css/bootstrap.min.css.map /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/css/bootstrap.min.css.map
rest_framework/css/font-awesome-4.0.3.css /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/css/font-awesome-4.0.3.css
rest_framework/css/prettify.css /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/css/prettify.css
rest_framework/css/default.css /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/css/default.css
rest_framework/css/bootstrap-tweaks.css /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/css/bootstrap-tweaks.css
rest_framework/css/bootstrap.min.css /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/css/bootstrap.min.css
rest_framework/js/csrf.js /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/js/csrf.js
rest_framework/js/bootstrap.min.js /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/js/bootstrap.min.js
rest_framework/js/ajax-form.js /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/js/ajax-form.js
rest_framework/js/prettify-min.js /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/js/prettify-min.js
rest_framework/js/jquery-3.5.1.min.js /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/js/jquery-3.5.1.min.js
rest_framework/js/coreapi-0.1.1.js /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/js/coreapi-0.1.1.js
rest_framework/js/default.js /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/js/default.js
rest_framework/fonts/glyphicons-halflings-regular.woff2 /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/fonts/glyphicons-halflings-regular.woff2
rest_framework/fonts/glyphicons-halflings-regular.woff /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/fonts/glyphicons-halflings-regular.woff
rest_framework/fonts/glyphicons-halflings-regular.eot /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/fonts/glyphicons-halflings-regular.eot
rest_framework/fonts/glyphicons-halflings-regular.svg /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/fonts/glyphicons-halflings-regular.svg
rest_framework/fonts/fontawesome-webfont.svg /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/fonts/fontawesome-webfont.svg
rest_framework/fonts/glyphicons-halflings-regular.ttf /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/fonts/glyphicons-halflings-regular.ttf
rest_framework/fonts/fontawesome-webfont.eot /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/fonts/fontawesome-webfont.eot
rest_framework/fonts/fontawesome-webfont.ttf /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/fonts/fontawesome-webfont.ttf
rest_framework/fonts/fontawesome-webfont.woff /app/.venv/lib/python3.11/site-packages/rest_framework/static/rest_framework/fonts/fontawesome-webfont.woff
django_extensions/img/indicator.gif /app/.venv/lib/python3.11/site-packages/django_extensions/static/django_extensions/img/indicator.gif
django_extensions/css/jquery.autocomplete.css /app/.venv/lib/python3.11/site-packages/django_extensions/static/django_extensions/css/jquery.autocomplete.css
django_extensions/js/jquery.bgiframe.js /app/.venv/lib/python3.11/site-packages/django_extensions/static/django_extensions/js/jquery.bgiframe.js
django_extensions/js/jquery.autocomplete.js /app/.venv/lib/python3.11/site-packages/django_extensions/static/django_extensions/js/jquery.autocomplete.js
django_extensions/js/jquery.ajaxQueue.js /app/.venv/lib/python3.11/site-packages/django_extensions/static/django_extensions/js/jquery.ajaxQueue.js
adminsortable2/icons/drag.png /app/.venv/lib/python3.11/site-packages/adminsortable2/static/adminsortable2/icons/drag.png
adminsortable2/css/sortable.css /app/.venv/lib/python3.11/site-packages/adminsortable2/static/adminsortable2/css/sortable.css
adminsortable2/js/list-sortable.js /app/.venv/lib/python3.11/site-packages/adminsortable2/static/adminsortable2/js/list-sortable.js
adminsortable2/js/inline-stacked.js /app/.venv/lib/python3.11/site-packages/adminsortable2/static/adminsortable2/js/inline-stacked.js
adminsortable2/js/inline-sortable.js /app/.venv/lib/python3.11/site-packages/adminsortable2/static/adminsortable2/js/inline-sortable.js
adminsortable2/js/inline-tabular.js /app/.venv/lib/python3.11/site-packages/adminsortable2/static/adminsortable2/js/inline-tabular.js
adminsortable2/js/plugins/admincompat.js /app/.venv/lib/python3.11/site-packages/adminsortable2/static/adminsortable2/js/plugins/admincompat.js
adminsortable2/js/libs/jquery.ui.sortable-1.11.4.js /app/.venv/lib/python3.11/site-packages/adminsortable2/static/adminsortable2/js/libs/jquery.ui.sortable-1.11.4.js
adminsortable2/js/libs/jquery.ui.touch-punch.min-0.2.3.js /app/.venv/lib/python3.11/site-packages/adminsortable2/static/adminsortable2/js/libs/jquery.ui.touch-punch.min-0.2.3.js
adminsortable2/js/libs/jquery.ui.core-1.7.1.js /app/.venv/lib/python3.11/site-packages/adminsortable2/static/adminsortable2/js/libs/jquery.ui.core-1.7.1.js
adminsortable2/js/libs/jquery.ui.widget-1.11.4.js /app/.venv/lib/python3.11/site-packages/adminsortable2/static/adminsortable2/js/libs/jquery.ui.widget-1.11.4.js
adminsortable2/js/libs/jquery.ui.touch-punch-0.2.3.js /app/.venv/lib/python3.11/site-packages/adminsortable2/static/adminsortable2/js/libs/jquery.ui.touch-punch-0.2.3.js
adminsortable2/js/libs/jquery.ui.core-1.11.4.js /app/.venv/lib/python3.11/site-packages/adminsortable2/static/adminsortable2/js/libs/jquery.ui.core-1.11.4.js
adminsortable2/js/libs/jquery.ui.mouse-1.11.4.js /app/.venv/lib/python3.11/site-packages/adminsortable2/static/adminsortable2/js/libs/jquery.ui.mouse-1.11.4.js
adminsortable2/js/libs/jquery.ui.sortable-1.7.1.js /app/.venv/lib/python3.11/site-packages/adminsortable2/static/adminsortable2/js/libs/jquery.ui.sortable-1.7.1.js
ckeditor/fixups.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/fixups.js
ckeditor/ckeditor.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor.css
ckeditor/ckeditor-init.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor-init.js
ckeditor/ckeditor/build-config.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/build-config.js
ckeditor/ckeditor/LICENSE.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/LICENSE.md
ckeditor/ckeditor/README.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/README.md
ckeditor/ckeditor/config.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/config.js
ckeditor/ckeditor/ckeditor.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/ckeditor.js
ckeditor/ckeditor/bender-runner.config.json /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/bender-runner.config.json
ckeditor/ckeditor/CHANGES.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/CHANGES.md
ckeditor/ckeditor/SECURITY.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/SECURITY.md
ckeditor/ckeditor/contents.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/contents.css
ckeditor/ckeditor/styles.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/styles.js
ckeditor/ckeditor/plugins/icons.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/icons.png
ckeditor/ckeditor/plugins/icons_hidpi.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/icons_hidpi.png
ckeditor/ckeditor/plugins/find/dialogs/find.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/find/dialogs/find.js
ckeditor/ckeditor/plugins/wsc/LICENSE.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/LICENSE.md
ckeditor/ckeditor/plugins/wsc/README.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/README.md
ckeditor/ckeditor/plugins/wsc/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/plugin.js
ckeditor/ckeditor/plugins/wsc/dialogs/ciframe.html /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/dialogs/ciframe.html
ckeditor/ckeditor/plugins/wsc/dialogs/wsc.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/dialogs/wsc.css
ckeditor/ckeditor/plugins/wsc/dialogs/tmpFrameset.html /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/dialogs/tmpFrameset.html
ckeditor/ckeditor/plugins/wsc/dialogs/wsc_ie.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/dialogs/wsc_ie.js
ckeditor/ckeditor/plugins/wsc/dialogs/wsc.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/dialogs/wsc.js
ckeditor/ckeditor/plugins/wsc/skins/moono-lisa/wsc.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/skins/moono-lisa/wsc.css
ckeditor/ckeditor/plugins/wsc/lang/tr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/tr.js
ckeditor/ckeditor/plugins/wsc/lang/fa.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/fa.js
ckeditor/ckeditor/plugins/wsc/lang/sr-latn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/sr-latn.js
ckeditor/ckeditor/plugins/wsc/lang/is.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/is.js
ckeditor/ckeditor/plugins/wsc/lang/pt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/pt.js
ckeditor/ckeditor/plugins/wsc/lang/bn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/bn.js
ckeditor/ckeditor/plugins/wsc/lang/sl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/sl.js
ckeditor/ckeditor/plugins/wsc/lang/ro.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/ro.js
ckeditor/ckeditor/plugins/wsc/lang/ja.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/ja.js
ckeditor/ckeditor/plugins/wsc/lang/it.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/it.js
ckeditor/ckeditor/plugins/wsc/lang/ru.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/ru.js
ckeditor/ckeditor/plugins/wsc/lang/nl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/nl.js
ckeditor/ckeditor/plugins/wsc/lang/ko.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/ko.js
ckeditor/ckeditor/plugins/wsc/lang/eu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/eu.js
ckeditor/ckeditor/plugins/wsc/lang/hu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/hu.js
ckeditor/ckeditor/plugins/wsc/lang/es.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/es.js
ckeditor/ckeditor/plugins/wsc/lang/hi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/hi.js
ckeditor/ckeditor/plugins/wsc/lang/ms.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/ms.js
ckeditor/ckeditor/plugins/wsc/lang/gl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/gl.js
ckeditor/ckeditor/plugins/wsc/lang/mn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/mn.js
ckeditor/ckeditor/plugins/wsc/lang/mk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/mk.js
ckeditor/ckeditor/plugins/wsc/lang/en.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/en.js
ckeditor/ckeditor/plugins/wsc/lang/pt-br.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/pt-br.js
ckeditor/ckeditor/plugins/wsc/lang/de.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/de.js
ckeditor/ckeditor/plugins/wsc/lang/bs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/bs.js
ckeditor/ckeditor/plugins/wsc/lang/hr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/hr.js
ckeditor/ckeditor/plugins/wsc/lang/fr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/fr.js
ckeditor/ckeditor/plugins/wsc/lang/sr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/sr.js
ckeditor/ckeditor/plugins/wsc/lang/zh.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/zh.js
ckeditor/ckeditor/plugins/wsc/lang/nb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/nb.js
ckeditor/ckeditor/plugins/wsc/lang/sk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/sk.js
ckeditor/ckeditor/plugins/wsc/lang/he.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/he.js
ckeditor/ckeditor/plugins/wsc/lang/lv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/lv.js
ckeditor/ckeditor/plugins/wsc/lang/no.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/no.js
ckeditor/ckeditor/plugins/wsc/lang/fi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/fi.js
ckeditor/ckeditor/plugins/wsc/lang/eo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/eo.js
ckeditor/ckeditor/plugins/wsc/lang/ka.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/ka.js
ckeditor/ckeditor/plugins/wsc/lang/fo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/fo.js
ckeditor/ckeditor/plugins/wsc/lang/th.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/th.js
ckeditor/ckeditor/plugins/wsc/lang/bg.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/bg.js
ckeditor/ckeditor/plugins/wsc/lang/el.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/el.js
ckeditor/ckeditor/plugins/wsc/lang/gu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/gu.js
ckeditor/ckeditor/plugins/wsc/lang/en-gb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/en-gb.js
ckeditor/ckeditor/plugins/wsc/lang/fr-ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/fr-ca.js
ckeditor/ckeditor/plugins/wsc/lang/zh-cn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/zh-cn.js
ckeditor/ckeditor/plugins/wsc/lang/af.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/af.js
ckeditor/ckeditor/plugins/wsc/lang/en-au.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/en-au.js
ckeditor/ckeditor/plugins/wsc/lang/pl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/pl.js
ckeditor/ckeditor/plugins/wsc/lang/uk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/uk.js
ckeditor/ckeditor/plugins/wsc/lang/en-ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/en-ca.js
ckeditor/ckeditor/plugins/wsc/lang/ug.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/ug.js
ckeditor/ckeditor/plugins/wsc/lang/lt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/lt.js
ckeditor/ckeditor/plugins/wsc/lang/vi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/vi.js
ckeditor/ckeditor/plugins/wsc/lang/da.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/da.js
ckeditor/ckeditor/plugins/wsc/lang/ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/ca.js
ckeditor/ckeditor/plugins/wsc/lang/cy.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/cy.js
ckeditor/ckeditor/plugins/wsc/lang/km.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/km.js
ckeditor/ckeditor/plugins/wsc/lang/ku.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/ku.js
ckeditor/ckeditor/plugins/wsc/lang/et.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/et.js
ckeditor/ckeditor/plugins/wsc/lang/ar.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/ar.js
ckeditor/ckeditor/plugins/wsc/lang/cs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/cs.js
ckeditor/ckeditor/plugins/wsc/lang/sv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/lang/sv.js
ckeditor/ckeditor/plugins/wsc/icons/spellchecker.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/icons/spellchecker.png
ckeditor/ckeditor/plugins/wsc/icons/hidpi/spellchecker.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/wsc/icons/hidpi/spellchecker.png
ckeditor/ckeditor/plugins/link/dialogs/anchor.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/link/dialogs/anchor.js
ckeditor/ckeditor/plugins/link/dialogs/link.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/link/dialogs/link.js
ckeditor/ckeditor/plugins/link/images/anchor.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/link/images/anchor.png
ckeditor/ckeditor/plugins/link/images/hidpi/anchor.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/link/images/hidpi/anchor.png
ckeditor/ckeditor/plugins/table/dialogs/table.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/table/dialogs/table.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/id.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/id.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/it.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/it.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/az.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/az.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/eu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/eu.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/es.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/es.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/es-mx.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/es-mx.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/en.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/en.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/de.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/de.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/si.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/si.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/he.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/he.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/no.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/no.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/fo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/fo.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/th.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/th.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/el.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/el.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/oc.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/oc.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/af.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/af.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/en-au.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/en-au.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/da.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/da.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/km.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/km.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/et.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/et.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js
ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js
ckeditor/ckeditor/plugins/forms/dialogs/textfield.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/forms/dialogs/textfield.js
ckeditor/ckeditor/plugins/forms/dialogs/radio.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/forms/dialogs/radio.js
ckeditor/ckeditor/plugins/forms/dialogs/button.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/forms/dialogs/button.js
ckeditor/ckeditor/plugins/forms/dialogs/select.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/forms/dialogs/select.js
ckeditor/ckeditor/plugins/forms/dialogs/form.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/forms/dialogs/form.js
ckeditor/ckeditor/plugins/forms/dialogs/checkbox.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/forms/dialogs/checkbox.js
ckeditor/ckeditor/plugins/forms/dialogs/hiddenfield.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/forms/dialogs/hiddenfield.js
ckeditor/ckeditor/plugins/forms/dialogs/textarea.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/forms/dialogs/textarea.js
ckeditor/ckeditor/plugins/forms/images/hiddenfield.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/forms/images/hiddenfield.gif
ckeditor/ckeditor/plugins/uploadwidget/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uploadwidget/plugin.js
ckeditor/ckeditor/plugins/uploadwidget/lang/tr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uploadwidget/lang/tr.js
ckeditor/ckeditor/plugins/uploadwidget/lang/it.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uploadwidget/lang/it.js
ckeditor/ckeditor/plugins/uploadwidget/lang/ru.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uploadwidget/lang/ru.js
ckeditor/ckeditor/plugins/uploadwidget/lang/nl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uploadwidget/lang/nl.js
ckeditor/ckeditor/plugins/uploadwidget/lang/ko.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uploadwidget/lang/ko.js
ckeditor/ckeditor/plugins/uploadwidget/lang/hu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uploadwidget/lang/hu.js
ckeditor/ckeditor/plugins/uploadwidget/lang/gl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uploadwidget/lang/gl.js
ckeditor/ckeditor/plugins/uploadwidget/lang/en.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uploadwidget/lang/en.js
ckeditor/ckeditor/plugins/uploadwidget/lang/pt-br.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uploadwidget/lang/pt-br.js
ckeditor/ckeditor/plugins/uploadwidget/lang/de.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uploadwidget/lang/de.js
ckeditor/ckeditor/plugins/uploadwidget/lang/fr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uploadwidget/lang/fr.js
ckeditor/ckeditor/plugins/uploadwidget/lang/zh.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uploadwidget/lang/zh.js
ckeditor/ckeditor/plugins/uploadwidget/lang/nb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uploadwidget/lang/nb.js
ckeditor/ckeditor/plugins/uploadwidget/lang/eo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uploadwidget/lang/eo.js
ckeditor/ckeditor/plugins/uploadwidget/lang/zh-cn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uploadwidget/lang/zh-cn.js
ckeditor/ckeditor/plugins/uploadwidget/lang/pl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uploadwidget/lang/pl.js
ckeditor/ckeditor/plugins/uploadwidget/lang/da.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uploadwidget/lang/da.js
ckeditor/ckeditor/plugins/uploadwidget/lang/ku.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uploadwidget/lang/ku.js
ckeditor/ckeditor/plugins/uploadwidget/lang/cs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uploadwidget/lang/cs.js
ckeditor/ckeditor/plugins/uploadwidget/lang/sv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uploadwidget/lang/sv.js
ckeditor/ckeditor/plugins/notification/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/notification/plugin.js
ckeditor/ckeditor/plugins/notification/lang/tr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/notification/lang/tr.js
ckeditor/ckeditor/plugins/notification/lang/it.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/notification/lang/it.js
ckeditor/ckeditor/plugins/notification/lang/ru.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/notification/lang/ru.js
ckeditor/ckeditor/plugins/notification/lang/nl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/notification/lang/nl.js
ckeditor/ckeditor/plugins/notification/lang/ko.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/notification/lang/ko.js
ckeditor/ckeditor/plugins/notification/lang/gl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/notification/lang/gl.js
ckeditor/ckeditor/plugins/notification/lang/en.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/notification/lang/en.js
ckeditor/ckeditor/plugins/notification/lang/pt-br.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/notification/lang/pt-br.js
ckeditor/ckeditor/plugins/notification/lang/de.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/notification/lang/de.js
ckeditor/ckeditor/plugins/notification/lang/fr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/notification/lang/fr.js
ckeditor/ckeditor/plugins/notification/lang/zh.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/notification/lang/zh.js
ckeditor/ckeditor/plugins/notification/lang/nb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/notification/lang/nb.js
ckeditor/ckeditor/plugins/notification/lang/eo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/notification/lang/eo.js
ckeditor/ckeditor/plugins/notification/lang/zh-cn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/notification/lang/zh-cn.js
ckeditor/ckeditor/plugins/notification/lang/pl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/notification/lang/pl.js
ckeditor/ckeditor/plugins/notification/lang/da.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/notification/lang/da.js
ckeditor/ckeditor/plugins/notification/lang/ku.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/notification/lang/ku.js
ckeditor/ckeditor/plugins/notification/lang/cs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/notification/lang/cs.js
ckeditor/ckeditor/plugins/notification/lang/sv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/notification/lang/sv.js
ckeditor/ckeditor/plugins/image/dialogs/image.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image/dialogs/image.js
ckeditor/ckeditor/plugins/image/images/noimage.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image/images/noimage.png
ckeditor/ckeditor/plugins/image2/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/plugin.js
ckeditor/ckeditor/plugins/image2/dialogs/image2.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/dialogs/image2.js
ckeditor/ckeditor/plugins/image2/lang/tr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/tr.js
ckeditor/ckeditor/plugins/image2/lang/fa.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/fa.js
ckeditor/ckeditor/plugins/image2/lang/sr-latn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/sr-latn.js
ckeditor/ckeditor/plugins/image2/lang/is.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/is.js
ckeditor/ckeditor/plugins/image2/lang/pt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/pt.js
ckeditor/ckeditor/plugins/image2/lang/bn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/bn.js
ckeditor/ckeditor/plugins/image2/lang/sl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/sl.js
ckeditor/ckeditor/plugins/image2/lang/ro.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/ro.js
ckeditor/ckeditor/plugins/image2/lang/ja.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/ja.js
ckeditor/ckeditor/plugins/image2/lang/id.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/id.js
ckeditor/ckeditor/plugins/image2/lang/it.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/it.js
ckeditor/ckeditor/plugins/image2/lang/ru.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/ru.js
ckeditor/ckeditor/plugins/image2/lang/nl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/nl.js
ckeditor/ckeditor/plugins/image2/lang/ko.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/ko.js
ckeditor/ckeditor/plugins/image2/lang/tt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/tt.js
ckeditor/ckeditor/plugins/image2/lang/eu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/eu.js
ckeditor/ckeditor/plugins/image2/lang/hu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/hu.js
ckeditor/ckeditor/plugins/image2/lang/es.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/es.js
ckeditor/ckeditor/plugins/image2/lang/hi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/hi.js
ckeditor/ckeditor/plugins/image2/lang/ms.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/ms.js
ckeditor/ckeditor/plugins/image2/lang/gl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/gl.js
ckeditor/ckeditor/plugins/image2/lang/mn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/mn.js
ckeditor/ckeditor/plugins/image2/lang/mk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/mk.js
ckeditor/ckeditor/plugins/image2/lang/en.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/en.js
ckeditor/ckeditor/plugins/image2/lang/pt-br.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/pt-br.js
ckeditor/ckeditor/plugins/image2/lang/de.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/de.js
ckeditor/ckeditor/plugins/image2/lang/bs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/bs.js
ckeditor/ckeditor/plugins/image2/lang/hr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/hr.js
ckeditor/ckeditor/plugins/image2/lang/fr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/fr.js
ckeditor/ckeditor/plugins/image2/lang/sr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/sr.js
ckeditor/ckeditor/plugins/image2/lang/zh.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/zh.js
ckeditor/ckeditor/plugins/image2/lang/si.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/si.js
ckeditor/ckeditor/plugins/image2/lang/nb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/nb.js
ckeditor/ckeditor/plugins/image2/lang/sk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/sk.js
ckeditor/ckeditor/plugins/image2/lang/he.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/he.js
ckeditor/ckeditor/plugins/image2/lang/lv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/lv.js
ckeditor/ckeditor/plugins/image2/lang/no.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/no.js
ckeditor/ckeditor/plugins/image2/lang/fi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/fi.js
ckeditor/ckeditor/plugins/image2/lang/eo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/eo.js
ckeditor/ckeditor/plugins/image2/lang/ka.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/ka.js
ckeditor/ckeditor/plugins/image2/lang/fo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/fo.js
ckeditor/ckeditor/plugins/image2/lang/th.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/th.js
ckeditor/ckeditor/plugins/image2/lang/bg.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/bg.js
ckeditor/ckeditor/plugins/image2/lang/el.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/el.js
ckeditor/ckeditor/plugins/image2/lang/sq.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/sq.js
ckeditor/ckeditor/plugins/image2/lang/gu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/gu.js
ckeditor/ckeditor/plugins/image2/lang/en-gb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/en-gb.js
ckeditor/ckeditor/plugins/image2/lang/fr-ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/fr-ca.js
ckeditor/ckeditor/plugins/image2/lang/zh-cn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/zh-cn.js
ckeditor/ckeditor/plugins/image2/lang/af.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/af.js
ckeditor/ckeditor/plugins/image2/lang/en-au.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/en-au.js
ckeditor/ckeditor/plugins/image2/lang/pl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/pl.js
ckeditor/ckeditor/plugins/image2/lang/uk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/uk.js
ckeditor/ckeditor/plugins/image2/lang/en-ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/en-ca.js
ckeditor/ckeditor/plugins/image2/lang/ug.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/ug.js
ckeditor/ckeditor/plugins/image2/lang/lt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/lt.js
ckeditor/ckeditor/plugins/image2/lang/vi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/vi.js
ckeditor/ckeditor/plugins/image2/lang/da.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/da.js
ckeditor/ckeditor/plugins/image2/lang/ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/ca.js
ckeditor/ckeditor/plugins/image2/lang/cy.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/cy.js
ckeditor/ckeditor/plugins/image2/lang/km.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/km.js
ckeditor/ckeditor/plugins/image2/lang/ku.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/ku.js
ckeditor/ckeditor/plugins/image2/lang/et.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/et.js
ckeditor/ckeditor/plugins/image2/lang/ar.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/ar.js
ckeditor/ckeditor/plugins/image2/lang/cs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/cs.js
ckeditor/ckeditor/plugins/image2/lang/sv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/lang/sv.js
ckeditor/ckeditor/plugins/image2/icons/image.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/icons/image.png
ckeditor/ckeditor/plugins/image2/icons/hidpi/image.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/image2/icons/hidpi/image.png
ckeditor/ckeditor/plugins/exportpdf/LICENSE.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/LICENSE.md
ckeditor/ckeditor/plugins/exportpdf/README.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/README.md
ckeditor/ckeditor/plugins/exportpdf/plugindefinition.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/plugindefinition.js
ckeditor/ckeditor/plugins/exportpdf/CHANGELOG.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/CHANGELOG.md
ckeditor/ckeditor/plugins/exportpdf/tests/statistics.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/statistics.js
ckeditor/ckeditor/plugins/exportpdf/tests/notification.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/notification.js
ckeditor/ckeditor/plugins/exportpdf/tests/stylesheets.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/stylesheets.js
ckeditor/ckeditor/plugins/exportpdf/tests/resourcespaths.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/resourcespaths.js
ckeditor/ckeditor/plugins/exportpdf/tests/authentication.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/authentication.js
ckeditor/ckeditor/plugins/exportpdf/tests/exportpdf.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/exportpdf.js
ckeditor/ckeditor/plugins/exportpdf/tests/_helpers/tools.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/_helpers/tools.js
ckeditor/ckeditor/plugins/exportpdf/tests/manual/paperformat.html /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/paperformat.html
ckeditor/ckeditor/plugins/exportpdf/tests/manual/stylesheets.html /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/stylesheets.html
ckeditor/ckeditor/plugins/exportpdf/tests/manual/integration.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/integration.md
ckeditor/ckeditor/plugins/exportpdf/tests/manual/tokentwoeditorswrong.html /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/tokentwoeditorswrong.html
ckeditor/ckeditor/plugins/exportpdf/tests/manual/tokenfetching.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/tokenfetching.md
ckeditor/ckeditor/plugins/exportpdf/tests/manual/tokentwoeditorscorrect.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/tokentwoeditorscorrect.md
ckeditor/ckeditor/plugins/exportpdf/tests/manual/integration.html /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/integration.html
ckeditor/ckeditor/plugins/exportpdf/tests/manual/emptyeditor.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/emptyeditor.md
ckeditor/ckeditor/plugins/exportpdf/tests/manual/tokentwoeditorswrong.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/tokentwoeditorswrong.md
ckeditor/ckeditor/plugins/exportpdf/tests/manual/tokenwithouturl.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/tokenwithouturl.md
ckeditor/ckeditor/plugins/exportpdf/tests/manual/wrongendpoint.html /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/wrongendpoint.html
ckeditor/ckeditor/plugins/exportpdf/tests/manual/tokentwoeditorscorrect.html /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/tokentwoeditorscorrect.html
ckeditor/ckeditor/plugins/exportpdf/tests/manual/notificationsasync.html /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/notificationsasync.html
ckeditor/ckeditor/plugins/exportpdf/tests/manual/readonly.html /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/readonly.html
ckeditor/ckeditor/plugins/exportpdf/tests/manual/wrongendpoint.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/wrongendpoint.md
ckeditor/ckeditor/plugins/exportpdf/tests/manual/emptyeditor.html /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/emptyeditor.html
ckeditor/ckeditor/plugins/exportpdf/tests/manual/paperformat.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/paperformat.md
ckeditor/ckeditor/plugins/exportpdf/tests/manual/tokenfetching.html /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/tokenfetching.html
ckeditor/ckeditor/plugins/exportpdf/tests/manual/tokenwithouturl.html /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/tokenwithouturl.html
ckeditor/ckeditor/plugins/exportpdf/tests/manual/notificationsasync.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/notificationsasync.md
ckeditor/ckeditor/plugins/exportpdf/tests/manual/stylesheets.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/stylesheets.md
ckeditor/ckeditor/plugins/exportpdf/tests/manual/notifications.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/notifications.md
ckeditor/ckeditor/plugins/exportpdf/tests/manual/readonly.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/readonly.md
ckeditor/ckeditor/plugins/exportpdf/tests/manual/notifications.html /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/notifications.html
ckeditor/ckeditor/plugins/exportpdf/tests/manual/configfilename.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/configfilename.md
ckeditor/ckeditor/plugins/exportpdf/tests/manual/configfilename.html /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/configfilename.html
ckeditor/ckeditor/plugins/exportpdf/tests/manual/integrations/easyimage.html /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/integrations/easyimage.html
ckeditor/ckeditor/plugins/exportpdf/tests/manual/integrations/easyimage.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/exportpdf/tests/manual/integrations/easyimage.md
ckeditor/ckeditor/plugins/xml/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/xml/plugin.js
ckeditor/ckeditor/plugins/embed/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embed/plugin.js
ckeditor/ckeditor/plugins/embed/icons/embed.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embed/icons/embed.png
ckeditor/ckeditor/plugins/embed/icons/hidpi/embed.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embed/icons/hidpi/embed.png
ckeditor/ckeditor/plugins/copyformatting/styles/copyformatting.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/copyformatting/styles/copyformatting.css
ckeditor/ckeditor/plugins/copyformatting/cursors/cursor.svg /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/copyformatting/cursors/cursor.svg
ckeditor/ckeditor/plugins/copyformatting/cursors/cursor-disabled.svg /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/copyformatting/cursors/cursor-disabled.svg
ckeditor/ckeditor/plugins/autogrow/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/autogrow/plugin.js
ckeditor/ckeditor/plugins/embedbase/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedbase/plugin.js
ckeditor/ckeditor/plugins/embedbase/dialogs/embedbase.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedbase/dialogs/embedbase.js
ckeditor/ckeditor/plugins/embedbase/lang/tr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedbase/lang/tr.js
ckeditor/ckeditor/plugins/embedbase/lang/it.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedbase/lang/it.js
ckeditor/ckeditor/plugins/embedbase/lang/ru.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedbase/lang/ru.js
ckeditor/ckeditor/plugins/embedbase/lang/nl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedbase/lang/nl.js
ckeditor/ckeditor/plugins/embedbase/lang/ko.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedbase/lang/ko.js
ckeditor/ckeditor/plugins/embedbase/lang/gl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedbase/lang/gl.js
ckeditor/ckeditor/plugins/embedbase/lang/en.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedbase/lang/en.js
ckeditor/ckeditor/plugins/embedbase/lang/pt-br.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedbase/lang/pt-br.js
ckeditor/ckeditor/plugins/embedbase/lang/de.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedbase/lang/de.js
ckeditor/ckeditor/plugins/embedbase/lang/fr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedbase/lang/fr.js
ckeditor/ckeditor/plugins/embedbase/lang/zh.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedbase/lang/zh.js
ckeditor/ckeditor/plugins/embedbase/lang/nb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedbase/lang/nb.js
ckeditor/ckeditor/plugins/embedbase/lang/eo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedbase/lang/eo.js
ckeditor/ckeditor/plugins/embedbase/lang/zh-cn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedbase/lang/zh-cn.js
ckeditor/ckeditor/plugins/embedbase/lang/pl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedbase/lang/pl.js
ckeditor/ckeditor/plugins/embedbase/lang/da.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedbase/lang/da.js
ckeditor/ckeditor/plugins/embedbase/lang/ku.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedbase/lang/ku.js
ckeditor/ckeditor/plugins/embedbase/lang/cs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedbase/lang/cs.js
ckeditor/ckeditor/plugins/embedbase/lang/sv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedbase/lang/sv.js
ckeditor/ckeditor/plugins/docprops/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/plugin.js
ckeditor/ckeditor/plugins/docprops/dialogs/docprops.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/dialogs/docprops.js
ckeditor/ckeditor/plugins/docprops/lang/tr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/tr.js
ckeditor/ckeditor/plugins/docprops/lang/fa.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/fa.js
ckeditor/ckeditor/plugins/docprops/lang/sr-latn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/sr-latn.js
ckeditor/ckeditor/plugins/docprops/lang/is.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/is.js
ckeditor/ckeditor/plugins/docprops/lang/pt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/pt.js
ckeditor/ckeditor/plugins/docprops/lang/bn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/bn.js
ckeditor/ckeditor/plugins/docprops/lang/sl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/sl.js
ckeditor/ckeditor/plugins/docprops/lang/ro.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/ro.js
ckeditor/ckeditor/plugins/docprops/lang/ja.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/ja.js
ckeditor/ckeditor/plugins/docprops/lang/id.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/id.js
ckeditor/ckeditor/plugins/docprops/lang/it.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/it.js
ckeditor/ckeditor/plugins/docprops/lang/ru.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/ru.js
ckeditor/ckeditor/plugins/docprops/lang/nl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/nl.js
ckeditor/ckeditor/plugins/docprops/lang/ko.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/ko.js
ckeditor/ckeditor/plugins/docprops/lang/tt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/tt.js
ckeditor/ckeditor/plugins/docprops/lang/eu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/eu.js
ckeditor/ckeditor/plugins/docprops/lang/hu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/hu.js
ckeditor/ckeditor/plugins/docprops/lang/es.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/es.js
ckeditor/ckeditor/plugins/docprops/lang/hi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/hi.js
ckeditor/ckeditor/plugins/docprops/lang/ms.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/ms.js
ckeditor/ckeditor/plugins/docprops/lang/gl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/gl.js
ckeditor/ckeditor/plugins/docprops/lang/mn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/mn.js
ckeditor/ckeditor/plugins/docprops/lang/mk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/mk.js
ckeditor/ckeditor/plugins/docprops/lang/en.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/en.js
ckeditor/ckeditor/plugins/docprops/lang/pt-br.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/pt-br.js
ckeditor/ckeditor/plugins/docprops/lang/de.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/de.js
ckeditor/ckeditor/plugins/docprops/lang/bs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/bs.js
ckeditor/ckeditor/plugins/docprops/lang/hr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/hr.js
ckeditor/ckeditor/plugins/docprops/lang/fr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/fr.js
ckeditor/ckeditor/plugins/docprops/lang/sr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/sr.js
ckeditor/ckeditor/plugins/docprops/lang/zh.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/zh.js
ckeditor/ckeditor/plugins/docprops/lang/si.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/si.js
ckeditor/ckeditor/plugins/docprops/lang/nb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/nb.js
ckeditor/ckeditor/plugins/docprops/lang/sk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/sk.js
ckeditor/ckeditor/plugins/docprops/lang/he.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/he.js
ckeditor/ckeditor/plugins/docprops/lang/lv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/lv.js
ckeditor/ckeditor/plugins/docprops/lang/no.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/no.js
ckeditor/ckeditor/plugins/docprops/lang/fi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/fi.js
ckeditor/ckeditor/plugins/docprops/lang/eo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/eo.js
ckeditor/ckeditor/plugins/docprops/lang/ka.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/ka.js
ckeditor/ckeditor/plugins/docprops/lang/fo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/fo.js
ckeditor/ckeditor/plugins/docprops/lang/th.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/th.js
ckeditor/ckeditor/plugins/docprops/lang/bg.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/bg.js
ckeditor/ckeditor/plugins/docprops/lang/el.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/el.js
ckeditor/ckeditor/plugins/docprops/lang/sq.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/sq.js
ckeditor/ckeditor/plugins/docprops/lang/gu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/gu.js
ckeditor/ckeditor/plugins/docprops/lang/en-gb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/en-gb.js
ckeditor/ckeditor/plugins/docprops/lang/fr-ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/fr-ca.js
ckeditor/ckeditor/plugins/docprops/lang/zh-cn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/zh-cn.js
ckeditor/ckeditor/plugins/docprops/lang/af.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/af.js
ckeditor/ckeditor/plugins/docprops/lang/en-au.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/en-au.js
ckeditor/ckeditor/plugins/docprops/lang/pl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/pl.js
ckeditor/ckeditor/plugins/docprops/lang/uk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/uk.js
ckeditor/ckeditor/plugins/docprops/lang/en-ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/en-ca.js
ckeditor/ckeditor/plugins/docprops/lang/ug.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/ug.js
ckeditor/ckeditor/plugins/docprops/lang/lt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/lt.js
ckeditor/ckeditor/plugins/docprops/lang/vi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/vi.js
ckeditor/ckeditor/plugins/docprops/lang/da.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/da.js
ckeditor/ckeditor/plugins/docprops/lang/ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/ca.js
ckeditor/ckeditor/plugins/docprops/lang/cy.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/cy.js
ckeditor/ckeditor/plugins/docprops/lang/km.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/km.js
ckeditor/ckeditor/plugins/docprops/lang/ku.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/ku.js
ckeditor/ckeditor/plugins/docprops/lang/et.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/et.js
ckeditor/ckeditor/plugins/docprops/lang/ar.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/ar.js
ckeditor/ckeditor/plugins/docprops/lang/cs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/cs.js
ckeditor/ckeditor/plugins/docprops/lang/sv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/lang/sv.js
ckeditor/ckeditor/plugins/docprops/icons/docprops.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/icons/docprops.png
ckeditor/ckeditor/plugins/docprops/icons/docprops-rtl.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/icons/docprops-rtl.png
ckeditor/ckeditor/plugins/docprops/icons/hidpi/docprops.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/icons/hidpi/docprops.png
ckeditor/ckeditor/plugins/docprops/icons/hidpi/docprops-rtl.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/docprops/icons/hidpi/docprops-rtl.png
ckeditor/ckeditor/plugins/codesnippetgeshi/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippetgeshi/plugin.js
ckeditor/ckeditor/plugins/scayt/LICENSE.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/scayt/LICENSE.md
ckeditor/ckeditor/plugins/scayt/README.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/scayt/README.md
ckeditor/ckeditor/plugins/scayt/CHANGELOG.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/scayt/CHANGELOG.md
ckeditor/ckeditor/plugins/scayt/dialogs/toolbar.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/scayt/dialogs/toolbar.css
ckeditor/ckeditor/plugins/scayt/dialogs/options.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/scayt/dialogs/options.js
ckeditor/ckeditor/plugins/scayt/dialogs/dialog.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/scayt/dialogs/dialog.css
ckeditor/ckeditor/plugins/scayt/skins/moono-lisa/scayt.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/scayt/skins/moono-lisa/scayt.css
ckeditor/ckeditor/plugins/tabletools/dialogs/tableCell.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/tabletools/dialogs/tableCell.js
ckeditor/ckeditor/plugins/notificationaggregator/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/notificationaggregator/plugin.js
ckeditor/ckeditor/plugins/sharedspace/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sharedspace/plugin.js
ckeditor/ckeditor/plugins/showblocks/images/block_blockquote.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/showblocks/images/block_blockquote.png
ckeditor/ckeditor/plugins/showblocks/images/block_address.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/showblocks/images/block_address.png
ckeditor/ckeditor/plugins/showblocks/images/block_div.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/showblocks/images/block_div.png
ckeditor/ckeditor/plugins/showblocks/images/block_h3.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/showblocks/images/block_h3.png
ckeditor/ckeditor/plugins/showblocks/images/block_h6.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/showblocks/images/block_h6.png
ckeditor/ckeditor/plugins/showblocks/images/block_h4.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/showblocks/images/block_h4.png
ckeditor/ckeditor/plugins/showblocks/images/block_h1.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/showblocks/images/block_h1.png
ckeditor/ckeditor/plugins/showblocks/images/block_pre.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/showblocks/images/block_pre.png
ckeditor/ckeditor/plugins/showblocks/images/block_h5.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/showblocks/images/block_h5.png
ckeditor/ckeditor/plugins/showblocks/images/block_p.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/showblocks/images/block_p.png
ckeditor/ckeditor/plugins/showblocks/images/block_h2.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/showblocks/images/block_h2.png
ckeditor/ckeditor/plugins/divarea/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/divarea/plugin.js
ckeditor/ckeditor/plugins/menubutton/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/menubutton/plugin.js
ckeditor/ckeditor/plugins/uicolor/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/plugin.js
ckeditor/ckeditor/plugins/uicolor/yui/yui.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/yui/yui.js
ckeditor/ckeditor/plugins/uicolor/yui/assets/hue_bg.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/yui/assets/hue_bg.png
ckeditor/ckeditor/plugins/uicolor/yui/assets/yui.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/yui/assets/yui.css
ckeditor/ckeditor/plugins/uicolor/yui/assets/picker_mask.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/yui/assets/picker_mask.png
ckeditor/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png
ckeditor/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png
ckeditor/ckeditor/plugins/uicolor/dialogs/uicolor.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/dialogs/uicolor.js
ckeditor/ckeditor/plugins/uicolor/lang/tr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/tr.js
ckeditor/ckeditor/plugins/uicolor/lang/fa.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/fa.js
ckeditor/ckeditor/plugins/uicolor/lang/pt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/pt.js
ckeditor/ckeditor/plugins/uicolor/lang/sl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/sl.js
ckeditor/ckeditor/plugins/uicolor/lang/ja.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/ja.js
ckeditor/ckeditor/plugins/uicolor/lang/id.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/id.js
ckeditor/ckeditor/plugins/uicolor/lang/it.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/it.js
ckeditor/ckeditor/plugins/uicolor/lang/ru.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/ru.js
ckeditor/ckeditor/plugins/uicolor/lang/nl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/nl.js
ckeditor/ckeditor/plugins/uicolor/lang/ko.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/ko.js
ckeditor/ckeditor/plugins/uicolor/lang/tt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/tt.js
ckeditor/ckeditor/plugins/uicolor/lang/eu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/eu.js
ckeditor/ckeditor/plugins/uicolor/lang/hu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/hu.js
ckeditor/ckeditor/plugins/uicolor/lang/es.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/es.js
ckeditor/ckeditor/plugins/uicolor/lang/_translationstatus.txt /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/_translationstatus.txt
ckeditor/ckeditor/plugins/uicolor/lang/gl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/gl.js
ckeditor/ckeditor/plugins/uicolor/lang/mk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/mk.js
ckeditor/ckeditor/plugins/uicolor/lang/en.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/en.js
ckeditor/ckeditor/plugins/uicolor/lang/pt-br.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/pt-br.js
ckeditor/ckeditor/plugins/uicolor/lang/de.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/de.js
ckeditor/ckeditor/plugins/uicolor/lang/hr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/hr.js
ckeditor/ckeditor/plugins/uicolor/lang/fr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/fr.js
ckeditor/ckeditor/plugins/uicolor/lang/zh.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/zh.js
ckeditor/ckeditor/plugins/uicolor/lang/si.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/si.js
ckeditor/ckeditor/plugins/uicolor/lang/nb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/nb.js
ckeditor/ckeditor/plugins/uicolor/lang/sk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/sk.js
ckeditor/ckeditor/plugins/uicolor/lang/he.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/he.js
ckeditor/ckeditor/plugins/uicolor/lang/lv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/lv.js
ckeditor/ckeditor/plugins/uicolor/lang/no.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/no.js
ckeditor/ckeditor/plugins/uicolor/lang/fi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/fi.js
ckeditor/ckeditor/plugins/uicolor/lang/eo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/eo.js
ckeditor/ckeditor/plugins/uicolor/lang/bg.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/bg.js
ckeditor/ckeditor/plugins/uicolor/lang/el.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/el.js
ckeditor/ckeditor/plugins/uicolor/lang/sq.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/sq.js
ckeditor/ckeditor/plugins/uicolor/lang/en-gb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/en-gb.js
ckeditor/ckeditor/plugins/uicolor/lang/fr-ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/fr-ca.js
ckeditor/ckeditor/plugins/uicolor/lang/zh-cn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/zh-cn.js
ckeditor/ckeditor/plugins/uicolor/lang/af.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/af.js
ckeditor/ckeditor/plugins/uicolor/lang/pl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/pl.js
ckeditor/ckeditor/plugins/uicolor/lang/uk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/uk.js
ckeditor/ckeditor/plugins/uicolor/lang/ug.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/ug.js
ckeditor/ckeditor/plugins/uicolor/lang/vi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/vi.js
ckeditor/ckeditor/plugins/uicolor/lang/da.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/da.js
ckeditor/ckeditor/plugins/uicolor/lang/ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/ca.js
ckeditor/ckeditor/plugins/uicolor/lang/cy.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/cy.js
ckeditor/ckeditor/plugins/uicolor/lang/km.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/km.js
ckeditor/ckeditor/plugins/uicolor/lang/ku.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/ku.js
ckeditor/ckeditor/plugins/uicolor/lang/et.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/et.js
ckeditor/ckeditor/plugins/uicolor/lang/ar.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/ar.js
ckeditor/ckeditor/plugins/uicolor/lang/cs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/cs.js
ckeditor/ckeditor/plugins/uicolor/lang/sv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/lang/sv.js
ckeditor/ckeditor/plugins/uicolor/icons/uicolor.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/icons/uicolor.png
ckeditor/ckeditor/plugins/uicolor/icons/hidpi/uicolor.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uicolor/icons/hidpi/uicolor.png
ckeditor/ckeditor/plugins/flash/dialogs/flash.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/flash/dialogs/flash.js
ckeditor/ckeditor/plugins/flash/images/placeholder.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/flash/images/placeholder.png
ckeditor/ckeditor/plugins/embedsemantic/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedsemantic/plugin.js
ckeditor/ckeditor/plugins/embedsemantic/icons/embedsemantic.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedsemantic/icons/embedsemantic.png
ckeditor/ckeditor/plugins/embedsemantic/icons/hidpi/embedsemantic.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/embedsemantic/icons/hidpi/embedsemantic.png
ckeditor/ckeditor/plugins/colordialog/dialogs/colordialog.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/colordialog/dialogs/colordialog.css
ckeditor/ckeditor/plugins/colordialog/dialogs/colordialog.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/colordialog/dialogs/colordialog.js
ckeditor/ckeditor/plugins/templates/templatedefinition.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/templates/templatedefinition.js
ckeditor/ckeditor/plugins/templates/dialogs/templates.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/templates/dialogs/templates.js
ckeditor/ckeditor/plugins/templates/dialogs/templates.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/templates/dialogs/templates.css
ckeditor/ckeditor/plugins/templates/templates/default.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/templates/templates/default.js
ckeditor/ckeditor/plugins/templates/templates/images/template3.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/templates/templates/images/template3.gif
ckeditor/ckeditor/plugins/templates/templates/images/template2.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/templates/templates/images/template2.gif
ckeditor/ckeditor/plugins/templates/templates/images/template1.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/templates/templates/images/template1.gif
ckeditor/ckeditor/plugins/pastefromlibreoffice/filter/default.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/pastefromlibreoffice/filter/default.js
ckeditor/ckeditor/plugins/clipboard/dialogs/paste.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/clipboard/dialogs/paste.js
ckeditor/ckeditor/plugins/pastefromword/filter/default.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/pastefromword/filter/default.js
ckeditor/ckeditor/plugins/tableresize/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/tableresize/plugin.js
ckeditor/ckeditor/plugins/lineutils/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/lineutils/plugin.js
ckeditor/ckeditor/plugins/autoembed/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/autoembed/plugin.js
ckeditor/ckeditor/plugins/autoembed/lang/tr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/autoembed/lang/tr.js
ckeditor/ckeditor/plugins/autoembed/lang/it.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/autoembed/lang/it.js
ckeditor/ckeditor/plugins/autoembed/lang/en.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/autoembed/lang/en.js
ckeditor/ckeditor/plugins/autoembed/lang/pt-br.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/autoembed/lang/pt-br.js
ckeditor/ckeditor/plugins/autoembed/lang/de.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/autoembed/lang/de.js
ckeditor/ckeditor/plugins/autoembed/lang/zh.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/autoembed/lang/zh.js
ckeditor/ckeditor/plugins/autoembed/lang/nb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/autoembed/lang/nb.js
ckeditor/ckeditor/plugins/autoembed/lang/pl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/autoembed/lang/pl.js
ckeditor/ckeditor/plugins/autoembed/lang/ku.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/autoembed/lang/ku.js
ckeditor/ckeditor/plugins/autoembed/lang/cs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/autoembed/lang/cs.js
ckeditor/ckeditor/plugins/dialog/dialogDefinition.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/dialog/dialogDefinition.js
ckeditor/ckeditor/plugins/dialog/styles/dialog.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/dialog/styles/dialog.css
ckeditor/ckeditor/plugins/about/dialogs/logo_ckeditor.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/about/dialogs/logo_ckeditor.png
ckeditor/ckeditor/plugins/about/dialogs/about.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/about/dialogs/about.js
ckeditor/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png
ckeditor/ckeditor/plugins/devtools/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/plugin.js
ckeditor/ckeditor/plugins/devtools/lang/tr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/tr.js
ckeditor/ckeditor/plugins/devtools/lang/fa.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/fa.js
ckeditor/ckeditor/plugins/devtools/lang/pt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/pt.js
ckeditor/ckeditor/plugins/devtools/lang/sl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/sl.js
ckeditor/ckeditor/plugins/devtools/lang/ro.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/ro.js
ckeditor/ckeditor/plugins/devtools/lang/ja.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/ja.js
ckeditor/ckeditor/plugins/devtools/lang/id.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/id.js
ckeditor/ckeditor/plugins/devtools/lang/it.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/it.js
ckeditor/ckeditor/plugins/devtools/lang/ru.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/ru.js
ckeditor/ckeditor/plugins/devtools/lang/nl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/nl.js
ckeditor/ckeditor/plugins/devtools/lang/ko.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/ko.js
ckeditor/ckeditor/plugins/devtools/lang/tt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/tt.js
ckeditor/ckeditor/plugins/devtools/lang/eu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/eu.js
ckeditor/ckeditor/plugins/devtools/lang/hu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/hu.js
ckeditor/ckeditor/plugins/devtools/lang/es.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/es.js
ckeditor/ckeditor/plugins/devtools/lang/_translationstatus.txt /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/_translationstatus.txt
ckeditor/ckeditor/plugins/devtools/lang/gl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/gl.js
ckeditor/ckeditor/plugins/devtools/lang/en.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/en.js
ckeditor/ckeditor/plugins/devtools/lang/pt-br.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/pt-br.js
ckeditor/ckeditor/plugins/devtools/lang/de.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/de.js
ckeditor/ckeditor/plugins/devtools/lang/hr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/hr.js
ckeditor/ckeditor/plugins/devtools/lang/fr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/fr.js
ckeditor/ckeditor/plugins/devtools/lang/zh.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/zh.js
ckeditor/ckeditor/plugins/devtools/lang/si.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/si.js
ckeditor/ckeditor/plugins/devtools/lang/nb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/nb.js
ckeditor/ckeditor/plugins/devtools/lang/sk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/sk.js
ckeditor/ckeditor/plugins/devtools/lang/he.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/he.js
ckeditor/ckeditor/plugins/devtools/lang/lv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/lv.js
ckeditor/ckeditor/plugins/devtools/lang/no.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/no.js
ckeditor/ckeditor/plugins/devtools/lang/fi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/fi.js
ckeditor/ckeditor/plugins/devtools/lang/eo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/eo.js
ckeditor/ckeditor/plugins/devtools/lang/bg.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/bg.js
ckeditor/ckeditor/plugins/devtools/lang/el.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/el.js
ckeditor/ckeditor/plugins/devtools/lang/sq.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/sq.js
ckeditor/ckeditor/plugins/devtools/lang/gu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/gu.js
ckeditor/ckeditor/plugins/devtools/lang/en-gb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/en-gb.js
ckeditor/ckeditor/plugins/devtools/lang/fr-ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/fr-ca.js
ckeditor/ckeditor/plugins/devtools/lang/zh-cn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/zh-cn.js
ckeditor/ckeditor/plugins/devtools/lang/pl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/pl.js
ckeditor/ckeditor/plugins/devtools/lang/uk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/uk.js
ckeditor/ckeditor/plugins/devtools/lang/ug.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/ug.js
ckeditor/ckeditor/plugins/devtools/lang/lt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/lt.js
ckeditor/ckeditor/plugins/devtools/lang/vi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/vi.js
ckeditor/ckeditor/plugins/devtools/lang/da.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/da.js
ckeditor/ckeditor/plugins/devtools/lang/ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/ca.js
ckeditor/ckeditor/plugins/devtools/lang/cy.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/cy.js
ckeditor/ckeditor/plugins/devtools/lang/km.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/km.js
ckeditor/ckeditor/plugins/devtools/lang/ku.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/ku.js
ckeditor/ckeditor/plugins/devtools/lang/et.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/et.js
ckeditor/ckeditor/plugins/devtools/lang/ar.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/ar.js
ckeditor/ckeditor/plugins/devtools/lang/cs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/cs.js
ckeditor/ckeditor/plugins/devtools/lang/sv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/devtools/lang/sv.js
ckeditor/ckeditor/plugins/autolink/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/autolink/plugin.js
ckeditor/ckeditor/plugins/pastefromgdocs/filter/default.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/pastefromgdocs/filter/default.js
ckeditor/ckeditor/plugins/iframedialog/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/iframedialog/plugin.js
ckeditor/ckeditor/plugins/tableselection/styles/tableselection.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/tableselection/styles/tableselection.css
ckeditor/ckeditor/plugins/bbcode/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/bbcode/plugin.js
ckeditor/ckeditor/plugins/uploadimage/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/uploadimage/plugin.js
ckeditor/ckeditor/plugins/specialchar/dialogs/specialchar.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/specialchar.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/tr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/tr.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/fa.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/fa.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/sr-latn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/sr-latn.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/pt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/pt.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/sl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/sl.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/ro.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/ro.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/ja.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/ja.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/id.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/id.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/it.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/it.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/ru.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/ru.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/nl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/nl.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/az.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/az.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/ko.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/ko.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/tt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/tt.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/eu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/eu.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/hu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/hu.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/es.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/es.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/gl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/gl.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/es-mx.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/es-mx.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/en.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/en.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/de.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/de.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/hr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/hr.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/fr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/fr.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/sr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/sr.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/zh.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/zh.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/si.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/si.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/nb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/nb.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/sk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/sk.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/he.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/he.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/lv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/lv.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/no.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/no.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/fi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/fi.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/eo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/eo.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/th.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/th.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/bg.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/bg.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/el.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/el.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/sq.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/sq.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/oc.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/oc.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/af.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/af.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/en-au.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/en-au.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/pl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/pl.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/de-ch.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/de-ch.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/uk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/uk.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/en-ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/en-ca.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/ug.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/ug.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/lt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/lt.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/vi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/vi.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/da.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/da.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/ca.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/cy.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/cy.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/km.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/km.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/ku.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/ku.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/et.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/et.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/ar.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/ar.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/cs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/cs.js
ckeditor/ckeditor/plugins/specialchar/dialogs/lang/sv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/specialchar/dialogs/lang/sv.js
ckeditor/ckeditor/plugins/adobeair/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/adobeair/plugin.js
ckeditor/ckeditor/plugins/sourcedialog/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/plugin.js
ckeditor/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js
ckeditor/ckeditor/plugins/sourcedialog/lang/tr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/tr.js
ckeditor/ckeditor/plugins/sourcedialog/lang/fa.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/fa.js
ckeditor/ckeditor/plugins/sourcedialog/lang/sr-latn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/sr-latn.js
ckeditor/ckeditor/plugins/sourcedialog/lang/is.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/is.js
ckeditor/ckeditor/plugins/sourcedialog/lang/pt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/pt.js
ckeditor/ckeditor/plugins/sourcedialog/lang/bn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/bn.js
ckeditor/ckeditor/plugins/sourcedialog/lang/sl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/sl.js
ckeditor/ckeditor/plugins/sourcedialog/lang/ro.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/ro.js
ckeditor/ckeditor/plugins/sourcedialog/lang/ja.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/ja.js
ckeditor/ckeditor/plugins/sourcedialog/lang/id.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/id.js
ckeditor/ckeditor/plugins/sourcedialog/lang/it.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/it.js
ckeditor/ckeditor/plugins/sourcedialog/lang/ru.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/ru.js
ckeditor/ckeditor/plugins/sourcedialog/lang/nl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/nl.js
ckeditor/ckeditor/plugins/sourcedialog/lang/ko.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/ko.js
ckeditor/ckeditor/plugins/sourcedialog/lang/tt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/tt.js
ckeditor/ckeditor/plugins/sourcedialog/lang/eu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/eu.js
ckeditor/ckeditor/plugins/sourcedialog/lang/hu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/hu.js
ckeditor/ckeditor/plugins/sourcedialog/lang/es.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/es.js
ckeditor/ckeditor/plugins/sourcedialog/lang/hi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/hi.js
ckeditor/ckeditor/plugins/sourcedialog/lang/ms.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/ms.js
ckeditor/ckeditor/plugins/sourcedialog/lang/gl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/gl.js
ckeditor/ckeditor/plugins/sourcedialog/lang/mn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/mn.js
ckeditor/ckeditor/plugins/sourcedialog/lang/en.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/en.js
ckeditor/ckeditor/plugins/sourcedialog/lang/pt-br.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/pt-br.js
ckeditor/ckeditor/plugins/sourcedialog/lang/de.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/de.js
ckeditor/ckeditor/plugins/sourcedialog/lang/bs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/bs.js
ckeditor/ckeditor/plugins/sourcedialog/lang/hr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/hr.js
ckeditor/ckeditor/plugins/sourcedialog/lang/fr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/fr.js
ckeditor/ckeditor/plugins/sourcedialog/lang/sr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/sr.js
ckeditor/ckeditor/plugins/sourcedialog/lang/zh.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/zh.js
ckeditor/ckeditor/plugins/sourcedialog/lang/si.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/si.js
ckeditor/ckeditor/plugins/sourcedialog/lang/nb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/nb.js
ckeditor/ckeditor/plugins/sourcedialog/lang/sk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/sk.js
ckeditor/ckeditor/plugins/sourcedialog/lang/he.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/he.js
ckeditor/ckeditor/plugins/sourcedialog/lang/lv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/lv.js
ckeditor/ckeditor/plugins/sourcedialog/lang/no.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/no.js
ckeditor/ckeditor/plugins/sourcedialog/lang/fi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/fi.js
ckeditor/ckeditor/plugins/sourcedialog/lang/eo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/eo.js
ckeditor/ckeditor/plugins/sourcedialog/lang/ka.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/ka.js
ckeditor/ckeditor/plugins/sourcedialog/lang/fo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/fo.js
ckeditor/ckeditor/plugins/sourcedialog/lang/th.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/th.js
ckeditor/ckeditor/plugins/sourcedialog/lang/bg.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/bg.js
ckeditor/ckeditor/plugins/sourcedialog/lang/el.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/el.js
ckeditor/ckeditor/plugins/sourcedialog/lang/sq.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/sq.js
ckeditor/ckeditor/plugins/sourcedialog/lang/gu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/gu.js
ckeditor/ckeditor/plugins/sourcedialog/lang/en-gb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/en-gb.js
ckeditor/ckeditor/plugins/sourcedialog/lang/fr-ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/fr-ca.js
ckeditor/ckeditor/plugins/sourcedialog/lang/zh-cn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/zh-cn.js
ckeditor/ckeditor/plugins/sourcedialog/lang/af.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/af.js
ckeditor/ckeditor/plugins/sourcedialog/lang/en-au.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/en-au.js
ckeditor/ckeditor/plugins/sourcedialog/lang/pl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/pl.js
ckeditor/ckeditor/plugins/sourcedialog/lang/uk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/uk.js
ckeditor/ckeditor/plugins/sourcedialog/lang/en-ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/en-ca.js
ckeditor/ckeditor/plugins/sourcedialog/lang/ug.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/ug.js
ckeditor/ckeditor/plugins/sourcedialog/lang/lt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/lt.js
ckeditor/ckeditor/plugins/sourcedialog/lang/vi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/vi.js
ckeditor/ckeditor/plugins/sourcedialog/lang/da.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/da.js
ckeditor/ckeditor/plugins/sourcedialog/lang/ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/ca.js
ckeditor/ckeditor/plugins/sourcedialog/lang/cy.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/cy.js
ckeditor/ckeditor/plugins/sourcedialog/lang/km.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/km.js
ckeditor/ckeditor/plugins/sourcedialog/lang/ku.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/ku.js
ckeditor/ckeditor/plugins/sourcedialog/lang/et.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/et.js
ckeditor/ckeditor/plugins/sourcedialog/lang/ar.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/ar.js
ckeditor/ckeditor/plugins/sourcedialog/lang/cs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/cs.js
ckeditor/ckeditor/plugins/sourcedialog/lang/sv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/lang/sv.js
ckeditor/ckeditor/plugins/sourcedialog/icons/sourcedialog.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/icons/sourcedialog.png
ckeditor/ckeditor/plugins/sourcedialog/icons/sourcedialog-rtl.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/icons/sourcedialog-rtl.png
ckeditor/ckeditor/plugins/sourcedialog/icons/hidpi/sourcedialog.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/icons/hidpi/sourcedialog.png
ckeditor/ckeditor/plugins/sourcedialog/icons/hidpi/sourcedialog-rtl.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/sourcedialog/icons/hidpi/sourcedialog-rtl.png
ckeditor/ckeditor/plugins/preview/preview.html /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/preview/preview.html
ckeditor/ckeditor/plugins/preview/styles/screen.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/preview/styles/screen.css
ckeditor/ckeditor/plugins/preview/images/pagebreak.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/preview/images/pagebreak.gif
ckeditor/ckeditor/plugins/codesnippet/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/plugin.js
ckeditor/ckeditor/plugins/codesnippet/dialogs/codesnippet.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/dialogs/codesnippet.js
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/README.ru.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/README.ru.md
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/CHANGES.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/CHANGES.md
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/LICENSE /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/LICENSE
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/highlight.pack.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/highlight.pack.js
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/pojoaque.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/pojoaque.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/atelier-forest.light.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/atelier-forest.light.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/arta.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/arta.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/brown_paper.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/brown_paper.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/ascetic.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/ascetic.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/magula.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/magula.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/docco.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/docco.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/atelier-dune.light.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/atelier-dune.light.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/ir_black.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/ir_black.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/paraiso.light.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/paraiso.light.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/monokai.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/monokai.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/atelier-heath.dark.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/atelier-heath.dark.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/monokai_sublime.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/monokai_sublime.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/atelier-forest.dark.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/atelier-forest.dark.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/atelier-seaside.light.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/atelier-seaside.light.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/tomorrow.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/tomorrow.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/atelier-lakeside.light.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/atelier-lakeside.light.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/github.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/github.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/obsidian.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/obsidian.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/foundation.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/foundation.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/atelier-dune.dark.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/atelier-dune.dark.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/atelier-heath.light.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/atelier-heath.light.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/zenburn.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/zenburn.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/railscasts.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/railscasts.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/rainbow.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/rainbow.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/atelier-lakeside.dark.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/atelier-lakeside.dark.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/vs.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/vs.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/sunburst.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/sunburst.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/tomorrow-night-eighties.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/tomorrow-night-eighties.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/dark.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/dark.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/solarized_light.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/solarized_light.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/pojoaque.jpg /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/pojoaque.jpg
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/googlecode.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/googlecode.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/tomorrow-night-bright.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/tomorrow-night-bright.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/idea.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/idea.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/default.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/default.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/mono-blue.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/mono-blue.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/school_book.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/school_book.png
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/school_book.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/school_book.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/solarized_dark.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/solarized_dark.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/atelier-seaside.dark.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/atelier-seaside.dark.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/brown_papersq.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/brown_papersq.png
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/far.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/far.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/tomorrow-night-blue.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/tomorrow-night-blue.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/tomorrow-night.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/tomorrow-night.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/paraiso.dark.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/paraiso.dark.css
ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/xcode.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lib/highlight/styles/xcode.css
ckeditor/ckeditor/plugins/codesnippet/lang/tr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/tr.js
ckeditor/ckeditor/plugins/codesnippet/lang/fa.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/fa.js
ckeditor/ckeditor/plugins/codesnippet/lang/pt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/pt.js
ckeditor/ckeditor/plugins/codesnippet/lang/sl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/sl.js
ckeditor/ckeditor/plugins/codesnippet/lang/ro.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/ro.js
ckeditor/ckeditor/plugins/codesnippet/lang/ja.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/ja.js
ckeditor/ckeditor/plugins/codesnippet/lang/it.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/it.js
ckeditor/ckeditor/plugins/codesnippet/lang/ru.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/ru.js
ckeditor/ckeditor/plugins/codesnippet/lang/nl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/nl.js
ckeditor/ckeditor/plugins/codesnippet/lang/ko.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/ko.js
ckeditor/ckeditor/plugins/codesnippet/lang/tt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/tt.js
ckeditor/ckeditor/plugins/codesnippet/lang/hu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/hu.js
ckeditor/ckeditor/plugins/codesnippet/lang/es.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/es.js
ckeditor/ckeditor/plugins/codesnippet/lang/gl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/gl.js
ckeditor/ckeditor/plugins/codesnippet/lang/en.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/en.js
ckeditor/ckeditor/plugins/codesnippet/lang/pt-br.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/pt-br.js
ckeditor/ckeditor/plugins/codesnippet/lang/de.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/de.js
ckeditor/ckeditor/plugins/codesnippet/lang/hr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/hr.js
ckeditor/ckeditor/plugins/codesnippet/lang/fr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/fr.js
ckeditor/ckeditor/plugins/codesnippet/lang/zh.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/zh.js
ckeditor/ckeditor/plugins/codesnippet/lang/nb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/nb.js
ckeditor/ckeditor/plugins/codesnippet/lang/sk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/sk.js
ckeditor/ckeditor/plugins/codesnippet/lang/he.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/he.js
ckeditor/ckeditor/plugins/codesnippet/lang/lv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/lv.js
ckeditor/ckeditor/plugins/codesnippet/lang/no.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/no.js
ckeditor/ckeditor/plugins/codesnippet/lang/fi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/fi.js
ckeditor/ckeditor/plugins/codesnippet/lang/eo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/eo.js
ckeditor/ckeditor/plugins/codesnippet/lang/th.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/th.js
ckeditor/ckeditor/plugins/codesnippet/lang/bg.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/bg.js
ckeditor/ckeditor/plugins/codesnippet/lang/el.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/el.js
ckeditor/ckeditor/plugins/codesnippet/lang/sq.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/sq.js
ckeditor/ckeditor/plugins/codesnippet/lang/en-gb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/en-gb.js
ckeditor/ckeditor/plugins/codesnippet/lang/fr-ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/fr-ca.js
ckeditor/ckeditor/plugins/codesnippet/lang/zh-cn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/zh-cn.js
ckeditor/ckeditor/plugins/codesnippet/lang/pl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/pl.js
ckeditor/ckeditor/plugins/codesnippet/lang/uk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/uk.js
ckeditor/ckeditor/plugins/codesnippet/lang/ug.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/ug.js
ckeditor/ckeditor/plugins/codesnippet/lang/lt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/lt.js
ckeditor/ckeditor/plugins/codesnippet/lang/vi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/vi.js
ckeditor/ckeditor/plugins/codesnippet/lang/da.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/da.js
ckeditor/ckeditor/plugins/codesnippet/lang/ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/ca.js
ckeditor/ckeditor/plugins/codesnippet/lang/km.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/km.js
ckeditor/ckeditor/plugins/codesnippet/lang/ku.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/ku.js
ckeditor/ckeditor/plugins/codesnippet/lang/et.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/et.js
ckeditor/ckeditor/plugins/codesnippet/lang/ar.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/ar.js
ckeditor/ckeditor/plugins/codesnippet/lang/cs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/cs.js
ckeditor/ckeditor/plugins/codesnippet/lang/sv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/lang/sv.js
ckeditor/ckeditor/plugins/codesnippet/icons/codesnippet.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/icons/codesnippet.png
ckeditor/ckeditor/plugins/codesnippet/icons/hidpi/codesnippet.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/codesnippet/icons/hidpi/codesnippet.png
ckeditor/ckeditor/plugins/liststyle/dialogs/liststyle.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/liststyle/dialogs/liststyle.js
ckeditor/ckeditor/plugins/iframe/dialogs/iframe.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/iframe/dialogs/iframe.js
ckeditor/ckeditor/plugins/iframe/images/placeholder.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/iframe/images/placeholder.png
ckeditor/ckeditor/plugins/widget/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/plugin.js
ckeditor/ckeditor/plugins/widget/lang/tr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/tr.js
ckeditor/ckeditor/plugins/widget/lang/fa.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/fa.js
ckeditor/ckeditor/plugins/widget/lang/pt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/pt.js
ckeditor/ckeditor/plugins/widget/lang/sl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/sl.js
ckeditor/ckeditor/plugins/widget/lang/ja.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/ja.js
ckeditor/ckeditor/plugins/widget/lang/it.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/it.js
ckeditor/ckeditor/plugins/widget/lang/ru.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/ru.js
ckeditor/ckeditor/plugins/widget/lang/nl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/nl.js
ckeditor/ckeditor/plugins/widget/lang/ko.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/ko.js
ckeditor/ckeditor/plugins/widget/lang/tt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/tt.js
ckeditor/ckeditor/plugins/widget/lang/hu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/hu.js
ckeditor/ckeditor/plugins/widget/lang/es.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/es.js
ckeditor/ckeditor/plugins/widget/lang/gl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/gl.js
ckeditor/ckeditor/plugins/widget/lang/en.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/en.js
ckeditor/ckeditor/plugins/widget/lang/pt-br.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/pt-br.js
ckeditor/ckeditor/plugins/widget/lang/de.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/de.js
ckeditor/ckeditor/plugins/widget/lang/hr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/hr.js
ckeditor/ckeditor/plugins/widget/lang/fr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/fr.js
ckeditor/ckeditor/plugins/widget/lang/zh.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/zh.js
ckeditor/ckeditor/plugins/widget/lang/nb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/nb.js
ckeditor/ckeditor/plugins/widget/lang/sk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/sk.js
ckeditor/ckeditor/plugins/widget/lang/he.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/he.js
ckeditor/ckeditor/plugins/widget/lang/lv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/lv.js
ckeditor/ckeditor/plugins/widget/lang/no.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/no.js
ckeditor/ckeditor/plugins/widget/lang/fi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/fi.js
ckeditor/ckeditor/plugins/widget/lang/eo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/eo.js
ckeditor/ckeditor/plugins/widget/lang/bg.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/bg.js
ckeditor/ckeditor/plugins/widget/lang/el.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/el.js
ckeditor/ckeditor/plugins/widget/lang/sq.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/sq.js
ckeditor/ckeditor/plugins/widget/lang/en-gb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/en-gb.js
ckeditor/ckeditor/plugins/widget/lang/zh-cn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/zh-cn.js
ckeditor/ckeditor/plugins/widget/lang/af.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/af.js
ckeditor/ckeditor/plugins/widget/lang/pl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/pl.js
ckeditor/ckeditor/plugins/widget/lang/uk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/uk.js
ckeditor/ckeditor/plugins/widget/lang/vi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/vi.js
ckeditor/ckeditor/plugins/widget/lang/da.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/da.js
ckeditor/ckeditor/plugins/widget/lang/ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/ca.js
ckeditor/ckeditor/plugins/widget/lang/cy.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/cy.js
ckeditor/ckeditor/plugins/widget/lang/km.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/km.js
ckeditor/ckeditor/plugins/widget/lang/ku.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/ku.js
ckeditor/ckeditor/plugins/widget/lang/ar.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/ar.js
ckeditor/ckeditor/plugins/widget/lang/cs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/cs.js
ckeditor/ckeditor/plugins/widget/lang/sv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/lang/sv.js
ckeditor/ckeditor/plugins/widget/images/handle.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/widget/images/handle.png
ckeditor/ckeditor/plugins/div/dialogs/div.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/div/dialogs/div.js
ckeditor/ckeditor/plugins/ajax/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/ajax/plugin.js
ckeditor/ckeditor/plugins/pagebreak/images/pagebreak.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/pagebreak/images/pagebreak.gif
ckeditor/ckeditor/plugins/filetools/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/filetools/plugin.js
ckeditor/ckeditor/plugins/filetools/lang/tr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/filetools/lang/tr.js
ckeditor/ckeditor/plugins/filetools/lang/it.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/filetools/lang/it.js
ckeditor/ckeditor/plugins/filetools/lang/ru.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/filetools/lang/ru.js
ckeditor/ckeditor/plugins/filetools/lang/nl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/filetools/lang/nl.js
ckeditor/ckeditor/plugins/filetools/lang/ko.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/filetools/lang/ko.js
ckeditor/ckeditor/plugins/filetools/lang/gl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/filetools/lang/gl.js
ckeditor/ckeditor/plugins/filetools/lang/en.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/filetools/lang/en.js
ckeditor/ckeditor/plugins/filetools/lang/pt-br.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/filetools/lang/pt-br.js
ckeditor/ckeditor/plugins/filetools/lang/de.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/filetools/lang/de.js
ckeditor/ckeditor/plugins/filetools/lang/fr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/filetools/lang/fr.js
ckeditor/ckeditor/plugins/filetools/lang/zh.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/filetools/lang/zh.js
ckeditor/ckeditor/plugins/filetools/lang/nb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/filetools/lang/nb.js
ckeditor/ckeditor/plugins/filetools/lang/eo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/filetools/lang/eo.js
ckeditor/ckeditor/plugins/filetools/lang/zh-cn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/filetools/lang/zh-cn.js
ckeditor/ckeditor/plugins/filetools/lang/pl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/filetools/lang/pl.js
ckeditor/ckeditor/plugins/filetools/lang/da.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/filetools/lang/da.js
ckeditor/ckeditor/plugins/filetools/lang/ku.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/filetools/lang/ku.js
ckeditor/ckeditor/plugins/filetools/lang/cs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/filetools/lang/cs.js
ckeditor/ckeditor/plugins/filetools/lang/sv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/filetools/lang/sv.js
ckeditor/ckeditor/plugins/pastetools/filter/common.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/pastetools/filter/common.js
ckeditor/ckeditor/plugins/pastetools/filter/image.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/pastetools/filter/image.js
ckeditor/ckeditor/plugins/magicline/images/icon.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/magicline/images/icon.png
ckeditor/ckeditor/plugins/magicline/images/icon-rtl.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/magicline/images/icon-rtl.png
ckeditor/ckeditor/plugins/magicline/images/hidpi/icon.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/magicline/images/hidpi/icon.png
ckeditor/ckeditor/plugins/magicline/images/hidpi/icon-rtl.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/magicline/images/hidpi/icon-rtl.png
ckeditor/ckeditor/plugins/language/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/plugin.js
ckeditor/ckeditor/plugins/language/lang/tr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/tr.js
ckeditor/ckeditor/plugins/language/lang/fa.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/fa.js
ckeditor/ckeditor/plugins/language/lang/pt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/pt.js
ckeditor/ckeditor/plugins/language/lang/sl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/sl.js
ckeditor/ckeditor/plugins/language/lang/ja.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/ja.js
ckeditor/ckeditor/plugins/language/lang/it.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/it.js
ckeditor/ckeditor/plugins/language/lang/ru.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/ru.js
ckeditor/ckeditor/plugins/language/lang/nl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/nl.js
ckeditor/ckeditor/plugins/language/lang/ko.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/ko.js
ckeditor/ckeditor/plugins/language/lang/tt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/tt.js
ckeditor/ckeditor/plugins/language/lang/hu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/hu.js
ckeditor/ckeditor/plugins/language/lang/es.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/es.js
ckeditor/ckeditor/plugins/language/lang/gl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/gl.js
ckeditor/ckeditor/plugins/language/lang/en.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/en.js
ckeditor/ckeditor/plugins/language/lang/pt-br.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/pt-br.js
ckeditor/ckeditor/plugins/language/lang/de.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/de.js
ckeditor/ckeditor/plugins/language/lang/hr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/hr.js
ckeditor/ckeditor/plugins/language/lang/fr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/fr.js
ckeditor/ckeditor/plugins/language/lang/zh.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/zh.js
ckeditor/ckeditor/plugins/language/lang/nb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/nb.js
ckeditor/ckeditor/plugins/language/lang/sk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/sk.js
ckeditor/ckeditor/plugins/language/lang/he.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/he.js
ckeditor/ckeditor/plugins/language/lang/no.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/no.js
ckeditor/ckeditor/plugins/language/lang/fi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/fi.js
ckeditor/ckeditor/plugins/language/lang/eo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/eo.js
ckeditor/ckeditor/plugins/language/lang/fo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/fo.js
ckeditor/ckeditor/plugins/language/lang/bg.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/bg.js
ckeditor/ckeditor/plugins/language/lang/el.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/el.js
ckeditor/ckeditor/plugins/language/lang/sq.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/sq.js
ckeditor/ckeditor/plugins/language/lang/en-gb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/en-gb.js
ckeditor/ckeditor/plugins/language/lang/zh-cn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/zh-cn.js
ckeditor/ckeditor/plugins/language/lang/pl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/pl.js
ckeditor/ckeditor/plugins/language/lang/uk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/uk.js
ckeditor/ckeditor/plugins/language/lang/vi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/vi.js
ckeditor/ckeditor/plugins/language/lang/da.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/da.js
ckeditor/ckeditor/plugins/language/lang/ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/ca.js
ckeditor/ckeditor/plugins/language/lang/cy.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/cy.js
ckeditor/ckeditor/plugins/language/lang/km.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/km.js
ckeditor/ckeditor/plugins/language/lang/ku.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/ku.js
ckeditor/ckeditor/plugins/language/lang/ar.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/ar.js
ckeditor/ckeditor/plugins/language/lang/cs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/cs.js
ckeditor/ckeditor/plugins/language/lang/sv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/lang/sv.js
ckeditor/ckeditor/plugins/language/icons/language.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/icons/language.png
ckeditor/ckeditor/plugins/language/icons/hidpi/language.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/language/icons/hidpi/language.png
ckeditor/ckeditor/plugins/placeholder/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/plugin.js
ckeditor/ckeditor/plugins/placeholder/dialogs/placeholder.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/dialogs/placeholder.js
ckeditor/ckeditor/plugins/placeholder/lang/tr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/tr.js
ckeditor/ckeditor/plugins/placeholder/lang/fa.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/fa.js
ckeditor/ckeditor/plugins/placeholder/lang/pt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/pt.js
ckeditor/ckeditor/plugins/placeholder/lang/sl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/sl.js
ckeditor/ckeditor/plugins/placeholder/lang/ja.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/ja.js
ckeditor/ckeditor/plugins/placeholder/lang/id.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/id.js
ckeditor/ckeditor/plugins/placeholder/lang/it.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/it.js
ckeditor/ckeditor/plugins/placeholder/lang/ru.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/ru.js
ckeditor/ckeditor/plugins/placeholder/lang/nl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/nl.js
ckeditor/ckeditor/plugins/placeholder/lang/ko.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/ko.js
ckeditor/ckeditor/plugins/placeholder/lang/tt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/tt.js
ckeditor/ckeditor/plugins/placeholder/lang/eu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/eu.js
ckeditor/ckeditor/plugins/placeholder/lang/hu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/hu.js
ckeditor/ckeditor/plugins/placeholder/lang/es.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/es.js
ckeditor/ckeditor/plugins/placeholder/lang/gl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/gl.js
ckeditor/ckeditor/plugins/placeholder/lang/en.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/en.js
ckeditor/ckeditor/plugins/placeholder/lang/pt-br.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/pt-br.js
ckeditor/ckeditor/plugins/placeholder/lang/de.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/de.js
ckeditor/ckeditor/plugins/placeholder/lang/hr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/hr.js
ckeditor/ckeditor/plugins/placeholder/lang/fr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/fr.js
ckeditor/ckeditor/plugins/placeholder/lang/zh.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/zh.js
ckeditor/ckeditor/plugins/placeholder/lang/si.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/si.js
ckeditor/ckeditor/plugins/placeholder/lang/nb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/nb.js
ckeditor/ckeditor/plugins/placeholder/lang/sk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/sk.js
ckeditor/ckeditor/plugins/placeholder/lang/he.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/he.js
ckeditor/ckeditor/plugins/placeholder/lang/lv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/lv.js
ckeditor/ckeditor/plugins/placeholder/lang/no.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/no.js
ckeditor/ckeditor/plugins/placeholder/lang/fi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/fi.js
ckeditor/ckeditor/plugins/placeholder/lang/eo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/eo.js
ckeditor/ckeditor/plugins/placeholder/lang/th.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/th.js
ckeditor/ckeditor/plugins/placeholder/lang/bg.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/bg.js
ckeditor/ckeditor/plugins/placeholder/lang/el.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/el.js
ckeditor/ckeditor/plugins/placeholder/lang/sq.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/sq.js
ckeditor/ckeditor/plugins/placeholder/lang/en-gb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/en-gb.js
ckeditor/ckeditor/plugins/placeholder/lang/fr-ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/fr-ca.js
ckeditor/ckeditor/plugins/placeholder/lang/zh-cn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/zh-cn.js
ckeditor/ckeditor/plugins/placeholder/lang/af.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/af.js
ckeditor/ckeditor/plugins/placeholder/lang/pl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/pl.js
ckeditor/ckeditor/plugins/placeholder/lang/uk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/uk.js
ckeditor/ckeditor/plugins/placeholder/lang/ug.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/ug.js
ckeditor/ckeditor/plugins/placeholder/lang/vi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/vi.js
ckeditor/ckeditor/plugins/placeholder/lang/da.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/da.js
ckeditor/ckeditor/plugins/placeholder/lang/ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/ca.js
ckeditor/ckeditor/plugins/placeholder/lang/cy.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/cy.js
ckeditor/ckeditor/plugins/placeholder/lang/km.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/km.js
ckeditor/ckeditor/plugins/placeholder/lang/ku.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/ku.js
ckeditor/ckeditor/plugins/placeholder/lang/et.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/et.js
ckeditor/ckeditor/plugins/placeholder/lang/ar.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/ar.js
ckeditor/ckeditor/plugins/placeholder/lang/cs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/cs.js
ckeditor/ckeditor/plugins/placeholder/lang/sv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/lang/sv.js
ckeditor/ckeditor/plugins/placeholder/icons/placeholder.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/icons/placeholder.png
ckeditor/ckeditor/plugins/placeholder/icons/hidpi/placeholder.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/placeholder/icons/hidpi/placeholder.png
ckeditor/ckeditor/plugins/stylesheetparser/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/stylesheetparser/plugin.js
ckeditor/ckeditor/plugins/mathjax/plugin.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/plugin.js
ckeditor/ckeditor/plugins/mathjax/dialogs/mathjax.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/dialogs/mathjax.js
ckeditor/ckeditor/plugins/mathjax/lang/tr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/tr.js
ckeditor/ckeditor/plugins/mathjax/lang/fa.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/fa.js
ckeditor/ckeditor/plugins/mathjax/lang/pt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/pt.js
ckeditor/ckeditor/plugins/mathjax/lang/sl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/sl.js
ckeditor/ckeditor/plugins/mathjax/lang/ro.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/ro.js
ckeditor/ckeditor/plugins/mathjax/lang/ja.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/ja.js
ckeditor/ckeditor/plugins/mathjax/lang/it.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/it.js
ckeditor/ckeditor/plugins/mathjax/lang/ru.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/ru.js
ckeditor/ckeditor/plugins/mathjax/lang/nl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/nl.js
ckeditor/ckeditor/plugins/mathjax/lang/ko.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/ko.js
ckeditor/ckeditor/plugins/mathjax/lang/tt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/tt.js
ckeditor/ckeditor/plugins/mathjax/lang/hu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/hu.js
ckeditor/ckeditor/plugins/mathjax/lang/es.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/es.js
ckeditor/ckeditor/plugins/mathjax/lang/gl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/gl.js
ckeditor/ckeditor/plugins/mathjax/lang/en.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/en.js
ckeditor/ckeditor/plugins/mathjax/lang/pt-br.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/pt-br.js
ckeditor/ckeditor/plugins/mathjax/lang/de.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/de.js
ckeditor/ckeditor/plugins/mathjax/lang/hr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/hr.js
ckeditor/ckeditor/plugins/mathjax/lang/fr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/fr.js
ckeditor/ckeditor/plugins/mathjax/lang/zh.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/zh.js
ckeditor/ckeditor/plugins/mathjax/lang/nb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/nb.js
ckeditor/ckeditor/plugins/mathjax/lang/sk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/sk.js
ckeditor/ckeditor/plugins/mathjax/lang/he.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/he.js
ckeditor/ckeditor/plugins/mathjax/lang/no.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/no.js
ckeditor/ckeditor/plugins/mathjax/lang/fi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/fi.js
ckeditor/ckeditor/plugins/mathjax/lang/eo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/eo.js
ckeditor/ckeditor/plugins/mathjax/lang/bg.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/bg.js
ckeditor/ckeditor/plugins/mathjax/lang/el.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/el.js
ckeditor/ckeditor/plugins/mathjax/lang/sq.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/sq.js
ckeditor/ckeditor/plugins/mathjax/lang/en-gb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/en-gb.js
ckeditor/ckeditor/plugins/mathjax/lang/zh-cn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/zh-cn.js
ckeditor/ckeditor/plugins/mathjax/lang/af.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/af.js
ckeditor/ckeditor/plugins/mathjax/lang/pl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/pl.js
ckeditor/ckeditor/plugins/mathjax/lang/uk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/uk.js
ckeditor/ckeditor/plugins/mathjax/lang/lt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/lt.js
ckeditor/ckeditor/plugins/mathjax/lang/vi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/vi.js
ckeditor/ckeditor/plugins/mathjax/lang/da.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/da.js
ckeditor/ckeditor/plugins/mathjax/lang/ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/ca.js
ckeditor/ckeditor/plugins/mathjax/lang/cy.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/cy.js
ckeditor/ckeditor/plugins/mathjax/lang/km.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/km.js
ckeditor/ckeditor/plugins/mathjax/lang/ku.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/ku.js
ckeditor/ckeditor/plugins/mathjax/lang/ar.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/ar.js
ckeditor/ckeditor/plugins/mathjax/lang/cs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/cs.js
ckeditor/ckeditor/plugins/mathjax/lang/sv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/lang/sv.js
ckeditor/ckeditor/plugins/mathjax/icons/mathjax.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/icons/mathjax.png
ckeditor/ckeditor/plugins/mathjax/icons/hidpi/mathjax.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/icons/hidpi/mathjax.png
ckeditor/ckeditor/plugins/mathjax/images/loader.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/mathjax/images/loader.gif
ckeditor/ckeditor/plugins/smiley/dialogs/smiley.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/dialogs/smiley.js
ckeditor/ckeditor/plugins/smiley/images/kiss.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/kiss.png
ckeditor/ckeditor/plugins/smiley/images/thumbs_up.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/thumbs_up.png
ckeditor/ckeditor/plugins/smiley/images/envelope.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/envelope.gif
ckeditor/ckeditor/plugins/smiley/images/angel_smile.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/angel_smile.png
ckeditor/ckeditor/plugins/smiley/images/angry_smile.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/angry_smile.png
ckeditor/ckeditor/plugins/smiley/images/shades_smile.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/shades_smile.gif
ckeditor/ckeditor/plugins/smiley/images/heart.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/heart.gif
ckeditor/ckeditor/plugins/smiley/images/kiss.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/kiss.gif
ckeditor/ckeditor/plugins/smiley/images/wink_smile.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/wink_smile.gif
ckeditor/ckeditor/plugins/smiley/images/tongue_smile.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/tongue_smile.png
ckeditor/ckeditor/plugins/smiley/images/teeth_smile.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/teeth_smile.gif
ckeditor/ckeditor/plugins/smiley/images/thumbs_up.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/thumbs_up.gif
ckeditor/ckeditor/plugins/smiley/images/wink_smile.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/wink_smile.png
ckeditor/ckeditor/plugins/smiley/images/omg_smile.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/omg_smile.gif
ckeditor/ckeditor/plugins/smiley/images/embarrassed_smile.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/embarrassed_smile.gif
ckeditor/ckeditor/plugins/smiley/images/heart.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/heart.png
ckeditor/ckeditor/plugins/smiley/images/confused_smile.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/confused_smile.gif
ckeditor/ckeditor/plugins/smiley/images/confused_smile.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/confused_smile.png
ckeditor/ckeditor/plugins/smiley/images/devil_smile.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/devil_smile.gif
ckeditor/ckeditor/plugins/smiley/images/tongue_smile.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/tongue_smile.gif
ckeditor/ckeditor/plugins/smiley/images/broken_heart.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/broken_heart.gif
ckeditor/ckeditor/plugins/smiley/images/sad_smile.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/sad_smile.png
ckeditor/ckeditor/plugins/smiley/images/thumbs_down.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/thumbs_down.png
ckeditor/ckeditor/plugins/smiley/images/angry_smile.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/angry_smile.gif
ckeditor/ckeditor/plugins/smiley/images/thumbs_down.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/thumbs_down.gif
ckeditor/ckeditor/plugins/smiley/images/regular_smile.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/regular_smile.gif
ckeditor/ckeditor/plugins/smiley/images/regular_smile.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/regular_smile.png
ckeditor/ckeditor/plugins/smiley/images/sad_smile.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/sad_smile.gif
ckeditor/ckeditor/plugins/smiley/images/envelope.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/envelope.png
ckeditor/ckeditor/plugins/smiley/images/cry_smile.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/cry_smile.gif
ckeditor/ckeditor/plugins/smiley/images/shades_smile.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/shades_smile.png
ckeditor/ckeditor/plugins/smiley/images/lightbulb.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/lightbulb.png
ckeditor/ckeditor/plugins/smiley/images/angel_smile.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/angel_smile.gif
ckeditor/ckeditor/plugins/smiley/images/embaressed_smile.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/embaressed_smile.gif
ckeditor/ckeditor/plugins/smiley/images/broken_heart.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/broken_heart.png
ckeditor/ckeditor/plugins/smiley/images/omg_smile.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/omg_smile.png
ckeditor/ckeditor/plugins/smiley/images/lightbulb.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/lightbulb.gif
ckeditor/ckeditor/plugins/smiley/images/embarrassed_smile.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/embarrassed_smile.png
ckeditor/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif
ckeditor/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png
ckeditor/ckeditor/plugins/smiley/images/cry_smile.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/cry_smile.png
ckeditor/ckeditor/plugins/smiley/images/teeth_smile.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/teeth_smile.png
ckeditor/ckeditor/plugins/smiley/images/devil_smile.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/devil_smile.png
ckeditor/ckeditor/plugins/smiley/images/tounge_smile.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/plugins/smiley/images/tounge_smile.gif
ckeditor/ckeditor/skins/moono/dialog_ie7.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/dialog_ie7.css
ckeditor/ckeditor/skins/moono/dialog_ie8.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/dialog_ie8.css
ckeditor/ckeditor/skins/moono/editor_ie7.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/editor_ie7.css
ckeditor/ckeditor/skins/moono/editor_ie8.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/editor_ie8.css
ckeditor/ckeditor/skins/moono/editor_iequirks.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/editor_iequirks.css
ckeditor/ckeditor/skins/moono/dialog_iequirks.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/dialog_iequirks.css
ckeditor/ckeditor/skins/moono/editor.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/editor.css
ckeditor/ckeditor/skins/moono/readme.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/readme.md
ckeditor/ckeditor/skins/moono/dialog_ie.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/dialog_ie.css
ckeditor/ckeditor/skins/moono/icons.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/icons.png
ckeditor/ckeditor/skins/moono/icons_hidpi.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/icons_hidpi.png
ckeditor/ckeditor/skins/moono/editor_ie.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/editor_ie.css
ckeditor/ckeditor/skins/moono/dialog.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/dialog.css
ckeditor/ckeditor/skins/moono/editor_gecko.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/editor_gecko.css
ckeditor/ckeditor/skins/moono/images/spinner.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/images/spinner.gif
ckeditor/ckeditor/skins/moono/images/lock.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/images/lock.png
ckeditor/ckeditor/skins/moono/images/lock-open.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/images/lock-open.png
ckeditor/ckeditor/skins/moono/images/refresh.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/images/refresh.png
ckeditor/ckeditor/skins/moono/images/arrow.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/images/arrow.png
ckeditor/ckeditor/skins/moono/images/close.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/images/close.png
ckeditor/ckeditor/skins/moono/images/hidpi/lock.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/images/hidpi/lock.png
ckeditor/ckeditor/skins/moono/images/hidpi/lock-open.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/images/hidpi/lock-open.png
ckeditor/ckeditor/skins/moono/images/hidpi/refresh.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/images/hidpi/refresh.png
ckeditor/ckeditor/skins/moono/images/hidpi/close.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono/images/hidpi/close.png
ckeditor/ckeditor/skins/moono-lisa/dialog_ie8.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono-lisa/dialog_ie8.css
ckeditor/ckeditor/skins/moono-lisa/editor_ie8.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono-lisa/editor_ie8.css
ckeditor/ckeditor/skins/moono-lisa/editor_iequirks.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono-lisa/editor_iequirks.css
ckeditor/ckeditor/skins/moono-lisa/dialog_iequirks.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono-lisa/dialog_iequirks.css
ckeditor/ckeditor/skins/moono-lisa/editor.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono-lisa/editor.css
ckeditor/ckeditor/skins/moono-lisa/readme.md /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono-lisa/readme.md
ckeditor/ckeditor/skins/moono-lisa/dialog_ie.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono-lisa/dialog_ie.css
ckeditor/ckeditor/skins/moono-lisa/icons.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono-lisa/icons.png
ckeditor/ckeditor/skins/moono-lisa/icons_hidpi.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono-lisa/icons_hidpi.png
ckeditor/ckeditor/skins/moono-lisa/editor_ie.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono-lisa/editor_ie.css
ckeditor/ckeditor/skins/moono-lisa/dialog.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono-lisa/dialog.css
ckeditor/ckeditor/skins/moono-lisa/editor_gecko.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono-lisa/editor_gecko.css
ckeditor/ckeditor/skins/moono-lisa/images/spinner.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono-lisa/images/spinner.gif
ckeditor/ckeditor/skins/moono-lisa/images/lock.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono-lisa/images/lock.png
ckeditor/ckeditor/skins/moono-lisa/images/lock-open.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono-lisa/images/lock-open.png
ckeditor/ckeditor/skins/moono-lisa/images/refresh.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono-lisa/images/refresh.png
ckeditor/ckeditor/skins/moono-lisa/images/arrow.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono-lisa/images/arrow.png
ckeditor/ckeditor/skins/moono-lisa/images/close.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono-lisa/images/close.png
ckeditor/ckeditor/skins/moono-lisa/images/hidpi/lock.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono-lisa/images/hidpi/lock.png
ckeditor/ckeditor/skins/moono-lisa/images/hidpi/lock-open.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono-lisa/images/hidpi/lock-open.png
ckeditor/ckeditor/skins/moono-lisa/images/hidpi/refresh.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono-lisa/images/hidpi/refresh.png
ckeditor/ckeditor/skins/moono-lisa/images/hidpi/close.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/skins/moono-lisa/images/hidpi/close.png
ckeditor/ckeditor/lang/tr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/tr.js
ckeditor/ckeditor/lang/fa.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/fa.js
ckeditor/ckeditor/lang/sr-latn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/sr-latn.js
ckeditor/ckeditor/lang/is.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/is.js
ckeditor/ckeditor/lang/pt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/pt.js
ckeditor/ckeditor/lang/bn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/bn.js
ckeditor/ckeditor/lang/sl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/sl.js
ckeditor/ckeditor/lang/ro.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/ro.js
ckeditor/ckeditor/lang/ja.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/ja.js
ckeditor/ckeditor/lang/id.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/id.js
ckeditor/ckeditor/lang/it.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/it.js
ckeditor/ckeditor/lang/ru.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/ru.js
ckeditor/ckeditor/lang/nl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/nl.js
ckeditor/ckeditor/lang/az.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/az.js
ckeditor/ckeditor/lang/ko.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/ko.js
ckeditor/ckeditor/lang/tt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/tt.js
ckeditor/ckeditor/lang/eu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/eu.js
ckeditor/ckeditor/lang/hu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/hu.js
ckeditor/ckeditor/lang/es.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/es.js
ckeditor/ckeditor/lang/hi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/hi.js
ckeditor/ckeditor/lang/ms.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/ms.js
ckeditor/ckeditor/lang/gl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/gl.js
ckeditor/ckeditor/lang/es-mx.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/es-mx.js
ckeditor/ckeditor/lang/mn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/mn.js
ckeditor/ckeditor/lang/mk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/mk.js
ckeditor/ckeditor/lang/en.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/en.js
ckeditor/ckeditor/lang/pt-br.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/pt-br.js
ckeditor/ckeditor/lang/de.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/de.js
ckeditor/ckeditor/lang/bs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/bs.js
ckeditor/ckeditor/lang/hr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/hr.js
ckeditor/ckeditor/lang/fr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/fr.js
ckeditor/ckeditor/lang/sr.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/sr.js
ckeditor/ckeditor/lang/zh.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/zh.js
ckeditor/ckeditor/lang/si.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/si.js
ckeditor/ckeditor/lang/nb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/nb.js
ckeditor/ckeditor/lang/sk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/sk.js
ckeditor/ckeditor/lang/he.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/he.js
ckeditor/ckeditor/lang/lv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/lv.js
ckeditor/ckeditor/lang/no.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/no.js
ckeditor/ckeditor/lang/fi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/fi.js
ckeditor/ckeditor/lang/eo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/eo.js
ckeditor/ckeditor/lang/ka.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/ka.js
ckeditor/ckeditor/lang/fo.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/fo.js
ckeditor/ckeditor/lang/th.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/th.js
ckeditor/ckeditor/lang/bg.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/bg.js
ckeditor/ckeditor/lang/el.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/el.js
ckeditor/ckeditor/lang/sq.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/sq.js
ckeditor/ckeditor/lang/oc.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/oc.js
ckeditor/ckeditor/lang/gu.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/gu.js
ckeditor/ckeditor/lang/en-gb.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/en-gb.js
ckeditor/ckeditor/lang/fr-ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/fr-ca.js
ckeditor/ckeditor/lang/zh-cn.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/zh-cn.js
ckeditor/ckeditor/lang/af.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/af.js
ckeditor/ckeditor/lang/en-au.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/en-au.js
ckeditor/ckeditor/lang/pl.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/pl.js
ckeditor/ckeditor/lang/de-ch.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/de-ch.js
ckeditor/ckeditor/lang/uk.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/uk.js
ckeditor/ckeditor/lang/en-ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/en-ca.js
ckeditor/ckeditor/lang/ug.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/ug.js
ckeditor/ckeditor/lang/lt.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/lt.js
ckeditor/ckeditor/lang/vi.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/vi.js
ckeditor/ckeditor/lang/da.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/da.js
ckeditor/ckeditor/lang/ca.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/ca.js
ckeditor/ckeditor/lang/cy.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/cy.js
ckeditor/ckeditor/lang/km.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/km.js
ckeditor/ckeditor/lang/ku.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/ku.js
ckeditor/ckeditor/lang/et.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/et.js
ckeditor/ckeditor/lang/ar.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/ar.js
ckeditor/ckeditor/lang/cs.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/cs.js
ckeditor/ckeditor/lang/sv.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/lang/sv.js
ckeditor/ckeditor/adapters/jquery.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/adapters/jquery.js
ckeditor/ckeditor/vendor/promise.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/ckeditor/vendor/promise.js
ckeditor/galleriffic/css/basic.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/galleriffic/css/basic.css
ckeditor/galleriffic/css/black.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/galleriffic/css/black.css
ckeditor/galleriffic/css/galleriffic-1.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/galleriffic/css/galleriffic-1.css
ckeditor/galleriffic/css/galleriffic-4.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/galleriffic/css/galleriffic-4.css
ckeditor/galleriffic/css/galleriffic-3.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/galleriffic/css/galleriffic-3.css
ckeditor/galleriffic/css/white.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/galleriffic/css/white.css
ckeditor/galleriffic/css/galleriffic-2.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/galleriffic/css/galleriffic-2.css
ckeditor/galleriffic/css/prevPageArrow.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/galleriffic/css/prevPageArrow.gif
ckeditor/galleriffic/css/nextPageArrowWhite.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/galleriffic/css/nextPageArrowWhite.gif
ckeditor/galleriffic/css/galleriffic-5.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/galleriffic/css/galleriffic-5.css
ckeditor/galleriffic/css/jush.css /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/galleriffic/css/jush.css
ckeditor/galleriffic/css/loaderWhite.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/galleriffic/css/loaderWhite.gif
ckeditor/galleriffic/css/prevPageArrowWhite.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/galleriffic/css/prevPageArrowWhite.gif
ckeditor/galleriffic/css/caption.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/galleriffic/css/caption.png
ckeditor/galleriffic/css/nextPageArrow.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/galleriffic/css/nextPageArrow.gif
ckeditor/galleriffic/css/loader.gif /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/galleriffic/css/loader.gif
ckeditor/galleriffic/js/jquery.history.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/galleriffic/js/jquery.history.js
ckeditor/galleriffic/js/jquery.opacityrollover.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/galleriffic/js/jquery.opacityrollover.js
ckeditor/galleriffic/js/jquery.galleriffic.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/galleriffic/js/jquery.galleriffic.js
ckeditor/galleriffic/js/jquery-1.3.2.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/galleriffic/js/jquery-1.3.2.js
ckeditor/galleriffic/js/jush.js /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/galleriffic/js/jush.js
ckeditor/file-icons/ppt.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/file-icons/ppt.png
ckeditor/file-icons/swf.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/file-icons/swf.png
ckeditor/file-icons/txt.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/file-icons/txt.png
ckeditor/file-icons/doc.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/file-icons/doc.png
ckeditor/file-icons/pdf.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/file-icons/pdf.png
ckeditor/file-icons/xls.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/file-icons/xls.png
ckeditor/file-icons/file.png /app/.venv/lib/python3.11/site-packages/ckeditor/static/ckeditor/file-icons/file.png
ckeditor/ckeditor_uploader/admin_base.css /app/.venv/lib/python3.11/site-packages/ckeditor_uploader/static/ckeditor/ckeditor_uploader/admin_base.css
import_export/guess_format.js /app/.venv/lib/python3.11/site-packages/import_export/static/import_export/guess_format.js
import_export/import.css /app/.venv/lib/python3.11/site-packages/import_export/static/import_export/import.css
import_export/action_formats.js /app/.venv/lib/python3.11/site-packages/import_export/static/import_export/action_formats.js
logs/admin/logs.css /app/logs/static/logs/admin/logs.css
remote_backends/google-64px.png /app/remote_backends/static/remote_backends/google-64px.png
remote_backends/skolon-logo-compact.png /app/remote_backends/static/remote_backends/skolon-logo-compact.png
remote_backends/microsoft-64px.png /app/remote_backends/static/remote_backends/microsoft-64px.png
silk/favicon-16x16.png /app/.venv/lib/python3.11/site-packages/silk/static/silk/favicon-16x16.png
silk/filter2.png /app/.venv/lib/python3.11/site-packages/silk/static/silk/filter2.png
silk/filter.png /app/.venv/lib/python3.11/site-packages/silk/static/silk/filter.png
silk/favicon-32x32.png /app/.venv/lib/python3.11/site-packages/silk/static/silk/favicon-32x32.png
silk/lib/bootstrap-datetimepicker.min.js /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/bootstrap-datetimepicker.min.js
silk/lib/svg-pan-zoom.min.js /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/svg-pan-zoom.min.js
silk/lib/bootstrap.min.js /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/bootstrap.min.js
silk/lib/bootstrap-theme.min.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/bootstrap-theme.min.css
silk/lib/sortable.js /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/sortable.js
silk/lib/jquery.datetimepicker.js /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/jquery.datetimepicker.js
silk/lib/jquery-ui-1.13.1.min.js /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/jquery-ui-1.13.1.min.js
silk/lib/viz-lite.js /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/viz-lite.js
silk/lib/jquery-3.6.0.min.js /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/jquery-3.6.0.min.js
silk/lib/bootstrap-datetimepicker.min.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/bootstrap-datetimepicker.min.css
silk/lib/jquery.datetimepicker.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/jquery.datetimepicker.css
silk/lib/jquery-ui-1.13.1.min.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/jquery-ui-1.13.1.min.css
silk/lib/bootstrap.min.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/bootstrap.min.css
silk/lib/highlight/foundation.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/highlight/foundation.css
silk/lib/highlight/highlight.pack.js /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/highlight/highlight.pack.js
silk/lib/images/ui-icons_444444_256x240.png /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-icons_444444_256x240.png
silk/lib/images/ui-icons_555555_256x240.png /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-icons_555555_256x240.png
silk/lib/images/ui-icons_ffffff_256x240.png /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-icons_ffffff_256x240.png
silk/lib/images/ui-icons_ef8c08_256x240.png /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-icons_ef8c08_256x240.png
silk/lib/images/ui-icons_228ef1_256x240.png /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-icons_228ef1_256x240.png
silk/lib/images/ui-bg_glass_100_f6f6f6_1x400.png /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-bg_glass_100_f6f6f6_1x400.png
silk/lib/images/ui-bg_flat_10_000000_40x100.png /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-bg_flat_10_000000_40x100.png
silk/lib/images/ui-bg_gloss-wave_35_f6a828_500x100.png /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-bg_gloss-wave_35_f6a828_500x100.png
silk/lib/images/animated-overlay.gif /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/images/animated-overlay.gif
silk/lib/images/ui-icons_ffd27a_256x240.png /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-icons_ffd27a_256x240.png
silk/lib/images/ui-bg_glass_100_fdf5ce_1x400.png /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-bg_glass_100_fdf5ce_1x400.png
silk/lib/images/ui-icons_777620_256x240.png /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-icons_777620_256x240.png
silk/lib/images/ui-icons_cc0000_256x240.png /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-icons_cc0000_256x240.png
silk/lib/images/ui-icons_777777_256x240.png /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-icons_777777_256x240.png
silk/lib/images/ui-bg_diagonals-thick_20_666666_40x40.png /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-bg_diagonals-thick_20_666666_40x40.png
silk/lib/images/ui-bg_diagonals-thick_18_b81900_40x40.png /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-bg_diagonals-thick_18_b81900_40x40.png
silk/lib/images/ui-bg_highlight-soft_100_eeeeee_1x100.png /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
silk/lib/images/ui-icons_222222_256x240.png /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-icons_222222_256x240.png
silk/lib/images/ui-bg_highlight-soft_75_ffe45c_1x100.png /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-bg_highlight-soft_75_ffe45c_1x100.png
silk/lib/images/ui-bg_glass_65_ffffff_1x400.png /app/.venv/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-bg_glass_65_ffffff_1x400.png
silk/css/pages/clear_db.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/css/pages/clear_db.css
silk/css/pages/request.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/css/pages/request.css
silk/css/pages/summary.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/css/pages/summary.css
silk/css/pages/detail_base.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/css/pages/detail_base.css
silk/css/pages/sql_detail.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/css/pages/sql_detail.css
silk/css/pages/sql.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/css/pages/sql.css
silk/css/pages/profiling.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/css/pages/profiling.css
silk/css/pages/requests.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/css/pages/requests.css
silk/css/pages/root_base.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/css/pages/root_base.css
silk/css/pages/base.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/css/pages/base.css
silk/css/pages/raw.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/css/pages/raw.css
silk/css/pages/profile_detail.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/css/pages/profile_detail.css
silk/css/pages/cprofile.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/css/pages/cprofile.css
silk/css/components/heading.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/css/components/heading.css
silk/css/components/summary.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/css/components/summary.css
silk/css/components/fonts.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/css/components/fonts.css
silk/css/components/cell.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/css/components/cell.css
silk/css/components/row.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/css/components/row.css
silk/css/components/colors.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/css/components/colors.css
silk/css/components/numeric.css /app/.venv/lib/python3.11/site-packages/silk/static/silk/css/components/numeric.css
silk/js/pages/base.js /app/.venv/lib/python3.11/site-packages/silk/static/silk/js/pages/base.js
silk/js/pages/summary.js /app/.venv/lib/python3.11/site-packages/silk/static/silk/js/pages/summary.js
silk/js/pages/request.js /app/.venv/lib/python3.11/site-packages/silk/static/silk/js/pages/request.js
silk/js/pages/requests.js /app/.venv/lib/python3.11/site-packages/silk/static/silk/js/pages/requests.js
silk/js/pages/profile_detail.js /app/.venv/lib/python3.11/site-packages/silk/static/silk/js/pages/profile_detail.js
silk/js/pages/profiling.js /app/.venv/lib/python3.11/site-packages/silk/static/silk/js/pages/profiling.js
silk/js/pages/clear_db.js /app/.venv/lib/python3.11/site-packages/silk/static/silk/js/pages/clear_db.js
silk/js/pages/detail_base.js /app/.venv/lib/python3.11/site-packages/silk/static/silk/js/pages/detail_base.js
silk/js/pages/raw.js /app/.venv/lib/python3.11/site-packages/silk/static/silk/js/pages/raw.js
silk/js/pages/sql_detail.js /app/.venv/lib/python3.11/site-packages/silk/static/silk/js/pages/sql_detail.js
silk/js/pages/root_base.js /app/.venv/lib/python3.11/site-packages/silk/static/silk/js/pages/root_base.js
silk/js/components/cell.js /app/.venv/lib/python3.11/site-packages/silk/static/silk/js/components/cell.js
silk/js/components/filters.js /app/.venv/lib/python3.11/site-packages/silk/static/silk/js/components/filters.js
silk/fonts/glyphicons-halflings-regular.woff2 /app/.venv/lib/python3.11/site-packages/silk/static/silk/fonts/glyphicons-halflings-regular.woff2
silk/fonts/glyphicons-halflings-regular.woff /app/.venv/lib/python3.11/site-packages/silk/static/silk/fonts/glyphicons-halflings-regular.woff
silk/fonts/glyphicons-halflings-regular.eot /app/.venv/lib/python3.11/site-packages/silk/static/silk/fonts/glyphicons-halflings-regular.eot
silk/fonts/glyphicons-halflings-regular.svg /app/.venv/lib/python3.11/site-packages/silk/static/silk/fonts/glyphicons-halflings-regular.svg
silk/fonts/glyphicons-halflings-regular.ttf /app/.venv/lib/python3.11/site-packages/silk/static/silk/fonts/glyphicons-halflings-regular.ttf
silk/fonts/fira/FiraSans-Regular.woff /app/.venv/lib/python3.11/site-packages/silk/static/silk/fonts/fira/FiraSans-Regular.woff
silk/fonts/fira/FiraSans-Light.woff /app/.venv/lib/python3.11/site-packages/silk/static/silk/fonts/fira/FiraSans-Light.woff
silk/fonts/fira/FiraSans-RegularItalic.woff /app/.venv/lib/python3.11/site-packages/silk/static/silk/fonts/fira/FiraSans-RegularItalic.woff
silk/fonts/fira/FiraSans-Medium.woff /app/.venv/lib/python3.11/site-packages/silk/static/silk/fonts/fira/FiraSans-Medium.woff
silk/fonts/fira/FiraSans-Bold.woff /app/.venv/lib/python3.11/site-packages/silk/static/silk/fonts/fira/FiraSans-Bold.woff
silk/fonts/fira/FiraSans-MediumItalic.woff /app/.venv/lib/python3.11/site-packages/silk/static/silk/fonts/fira/FiraSans-MediumItalic.woff
silk/fonts/fira/FiraSans-BoldItalic.woff /app/.venv/lib/python3.11/site-packages/silk/static/silk/fonts/fira/FiraSans-BoldItalic.woff
silk/fonts/fira/FiraSans-LightItalic.woff /app/.venv/lib/python3.11/site-packages/silk/static/silk/fonts/fira/FiraSans-LightItalic.woff
silk/fonts/fantasque/FantasqueSansMono-Bold.woff /app/.venv/lib/python3.11/site-packages/silk/static/silk/fonts/fantasque/FantasqueSansMono-Bold.woff
silk/fonts/fantasque/FantasqueSansMono-BoldItalic.woff /app/.venv/lib/python3.11/site-packages/silk/static/silk/fonts/fantasque/FantasqueSansMono-BoldItalic.woff
silk/fonts/fantasque/FantasqueSansMono-Regular.woff /app/.venv/lib/python3.11/site-packages/silk/static/silk/fonts/fantasque/FantasqueSansMono-Regular.woff
silk/fonts/fantasque/FantasqueSansMono-RegItalic.woff /app/.venv/lib/python3.11/site-packages/silk/static/silk/fonts/fantasque/FantasqueSansMono-RegItalic.woff

Templates (62 rendered)

Template path

  1. /app/templates

Templates

schools/schoolclass_detail.html
/app/templates/schools/schoolclass_detail.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=Unknown, fields=(name;grade;language)>, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'is_skolon_class': False, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'physics_builds': [], 'renew_license_id': 1153, 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'webpack_bundle_name': 'schoolClassDetail'}
base.html
/app/templates/base.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=Unknown, fields=(name;grade;language)>, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'is_skolon_class': False, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'physics_builds': [], 'renew_license_id': 1153, 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'webpack_bundle_name': 'schoolClassDetail'}
includes/header.html
/app/templates/includes/header.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=Unknown, fields=(name;grade;language)>, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'is_skolon_class': False, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'physics_builds': [], 'renew_license_id': 1153, 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'webpack_bundle_name': 'schoolClassDetail'}
includes/top_navbar.html
/app/templates/includes/top_navbar.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=Unknown, fields=(name;grade;language)>, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'is_skolon_class': False, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'physics_builds': [], 'renew_license_id': 1153, 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'webpack_bundle_name': 'schoolClassDetail'} {'LANGUAGE_CODE': 'en', 'grades': 'Grades 1–6'}
groplay/preloader.html
/app/templates/groplay/preloader.html
Toggle context {'False': False, 'None': None, 'True': True} {'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'preloader': {'backdrop': False, 'framed': False, 'id': None, 'large': False, 'position': 'relative', 'show': True, 'style': ''}}
includes/select_language.html
/app/templates/includes/select_language.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=Unknown, fields=(name;grade;language)>, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'is_skolon_class': False, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'physics_builds': [], 'renew_license_id': 1153, 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'webpack_bundle_name': 'schoolClassDetail'} {'LANGUAGE_CODE': 'en', 'grades': 'Grades 1–6'} {'LANGUAGE_CODE': 'en'}
includes/sidebar.html
/app/templates/includes/sidebar.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=Unknown, fields=(name;grade;language)>, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'is_skolon_class': False, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'physics_builds': [], 'renew_license_id': 1153, 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'webpack_bundle_name': 'schoolClassDetail'} {'LANGUAGE_CODE': 'en', 'grades': 'Grades 1–6'}
schools/includes/area_padlock.html
/app/templates/schools/includes/area_padlock.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=Unknown, fields=(name;grade;language)>, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'is_skolon_class': False, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'physics_builds': [], 'renew_license_id': 1153, 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'webpack_bundle_name': 'schoolClassDetail'} {'LANGUAGE_CODE': 'en', 'grades': 'Grades 1–6'} {'LANGUAGE_CODE': 'en', 'class_title': 'View details for Class 0, DEBUGSCHOOL', 'school_title': 'School administration for DEBUGSCHOOL'} {'area': {'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, 'area_url': '/classes/1265/areas/22/', 'forloop': {'counter': 1, 'counter0': 0, 'first': True, 'last': False, 'parentloop': {}, 'revcounter': 4, 'revcounter0': 3}} {'area_id': 22, 'class_id': 1265, 'disabled': False}
schools/includes/area_padlock.html
/app/templates/schools/includes/area_padlock.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=Unknown, fields=(name;grade;language)>, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'is_skolon_class': False, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'physics_builds': [], 'renew_license_id': 1153, 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'webpack_bundle_name': 'schoolClassDetail'} {'LANGUAGE_CODE': 'en', 'grades': 'Grades 1–6'} {'LANGUAGE_CODE': 'en', 'class_title': 'View details for Class 0, DEBUGSCHOOL', 'school_title': 'School administration for DEBUGSCHOOL'} {'area': {'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, 'area_url': '/classes/1265/areas/22/', 'forloop': {'counter': 1, 'counter0': 0, 'first': True, 'last': False, 'parentloop': {}, 'revcounter': 4, 'revcounter0': 3}} {'area_id': 12, 'class_id': 1265, 'disabled': True}
schools/includes/area_padlock.html
/app/templates/schools/includes/area_padlock.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=Unknown, fields=(name;grade;language)>, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'is_skolon_class': False, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'physics_builds': [], 'renew_license_id': 1153, 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'webpack_bundle_name': 'schoolClassDetail'} {'LANGUAGE_CODE': 'en', 'grades': 'Grades 1–6'} {'LANGUAGE_CODE': 'en', 'class_title': 'View details for Class 0, DEBUGSCHOOL', 'school_title': 'School administration for DEBUGSCHOOL'} {'area': {'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, 'area_url': '/classes/1265/areas/22/', 'forloop': {'counter': 1, 'counter0': 0, 'first': True, 'last': False, 'parentloop': {}, 'revcounter': 4, 'revcounter0': 3}} {'area_id': 13, 'class_id': 1265, 'disabled': True}
schools/includes/area_padlock.html
/app/templates/schools/includes/area_padlock.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=Unknown, fields=(name;grade;language)>, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'is_skolon_class': False, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'physics_builds': [], 'renew_license_id': 1153, 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'webpack_bundle_name': 'schoolClassDetail'} {'LANGUAGE_CODE': 'en', 'grades': 'Grades 1–6'} {'LANGUAGE_CODE': 'en', 'class_title': 'View details for Class 0, DEBUGSCHOOL', 'school_title': 'School administration for DEBUGSCHOOL'} {'area': {'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, 'area_url': '/classes/1265/areas/22/', 'forloop': {'counter': 1, 'counter0': 0, 'first': True, 'last': False, 'parentloop': {}, 'revcounter': 4, 'revcounter0': 3}} {'area_id': 14, 'class_id': 1265, 'disabled': True}
includes/sidebar.html
/app/templates/includes/sidebar.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=Unknown, fields=(name;grade;language)>, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'is_skolon_class': False, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'physics_builds': [], 'renew_license_id': 1153, 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'webpack_bundle_name': 'schoolClassDetail'}
view_breadcrumbs/bootstrap5.html
/app/templates/view_breadcrumbs/bootstrap5.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'LANGUAGE': 'en', 'None': None, 'STATIC_URL': '/static/', 'True': True, 'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'app_download_url': None, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'block': <Block Node: breadcrumbs. Contents: [<django.template.library.SimpleNode object at 0x718eee0c1bd0>]>, 'breadcrumbs': [('/schools/admin/1042/', 'DEBUGSCHOOL'), (None, 'Class 0')], 'breadcrumbs_total': 2, 'class_update_form': <SchoolClassForm bound=False, valid=Unknown, fields=(name;grade;language)>, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'http_scheme': 'https', 'is_production': False, 'is_skolon_class': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'physics_builds': [], 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'renew_license_id': 1153, 'request': '<<request>>', 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'view_name': 'schools:classes:detail', 'webpack_bundle_name': 'schoolClassDetail'}
includes/message_alerts.html
/app/templates/includes/message_alerts.html
Toggle context {'False': False, 'None': None, 'True': True} {'LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'messages': []}
None
<unknown source>
Toggle context {'False': False, 'None': None, 'True': True}
components/tabs.html
/app/templates/components/tabs.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=Unknown, fields=(name;grade;language)>, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'is_skolon_class': False, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'physics_builds': [], 'renew_license_id': 1153, 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'webpack_bundle_name': 'schoolClassDetail'} {'block': <Block Node: content_container. Contents: [<TextNode: '\n\n <div class="b'>, <Block Node: breadcrumbs. Contents: [<django.template.library.SimpleNode object at 0x718eee0c1bd0>]>, <TextNode: '\n </div>\n\n '>, <django.template.library.InclusionNode object at 0x718eee0c1c90>, <TextNode: '\n '>, <Block Node: alerts. Contents: []>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n </div>\n\n '>, <IfNode>, <TextNode: '\n\n '>, <Block Node: before_content. Contents: []>, <TextNode: '\n\n <div class="m'>, <Block Node: content. Contents: []>, <TextNode: '\n </div>\n\n '>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n<!-- This includes just '>, <django.template.loader_tags.IncludeNode object at 0x718eed06e550>, <TextNode: '\n<div v-scope style="disp'>, <django.templatetags.i18n.TranslateNode object at 0x718eed179950>, <TextNode: '</h3>\n <div class="row'>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n </div>\n\n <div cla'>, <TextNode: '\n <div class="col-12'>, <django.templatetags.i18n.TranslateNode object at 0x718eed08f890>, <TextNode: '</div>\n </div>'>, <django.templatetags.i18n.TranslateNode object at 0x718eed090410>, <TextNode: '\n </div>\n '>, <django.template.loader_tags.IncludeNode object at 0x718eed090810>, <TextNode: '\n </div>\n '>, <Variable Node: school_class.pk>, <TextNode: '" class="collapse show mt'>, <ForNode: for area in areas, tail_len: 17>, <TextNode: '\n </tbody>\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n </div>\n\n <div cla'>, <IfNode>, <TextNode: '\n\n <div class="col">'>, <IfNode>, <TextNode: '\n\n <div class="car'>, <django.templatetags.i18n.TranslateNode object at 0x718eed09c210>, <TextNode: '</div>\n '>, <django.template.loader_tags.IncludeNode object at 0x718eed05e250>, <TextNode: '\n </div>\n '>, <Variable Node: school_class.pk>, <TextNode: '" class="collapse show mt'>, <django.templatetags.i18n.BlockTranslateNode object at 0x718eed09ca90>, <TextNode: '\n </small>\n '>, <IfNode>, <TextNode: '\n </div>\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed08e950>, <TextNode: '</div>\n '>, <django.template.loader_tags.IncludeNode object at 0x718eed096a90>, <TextNode: '\n </div>\n '>, <Variable Node: school_class.pk>, <TextNode: '" class="collapse show mt'>, <django.templatetags.i18n.BlockTranslateNode object at 0x718eed09f110>, <TextNode: '\n </small>\n '>, <IfNode>, <TextNode: '\n </div>\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed0a0850>, <TextNode: '</h3>\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>, <IfNode>, <TextNode: ' '>, <TextNode: '\n\n <div class="mt-3">\n'>, <IfNode>, <TextNode: '\n </div>\n </div>\n\n <'>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b2f10>, <TextNode: '</h3>\n </div>\n '>, <django.template.defaulttags.URLNode object at 0x718eed0b3250>, <TextNode: '"\n id="invite-'>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b3490>, <TextNode: '">\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b36d0>, <TextNode: '\n </button>\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b3910>, <TextNode: '</div>\n <div c'>, <IfNode>, <TextNode: '">'>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b3e90>, <TextNode: '</div>\n <div c'>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b40d0>, <TextNode: '</div>\n '>, <IfNode>, <TextNode: '\n </div>\n '>, <ForNode: for teacher in verified_teachers, tail_len: 35>, <TextNode: ' '>, <TextNode: '\n </div>\n </secti'>, <IfNode>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n\n <section class="no-'>, <IfNode>, <TextNode: '\n </section>\n </div>\n'>, <django.templatetags.i18n.TranslateNode object at 0x718eecec9710>, <TextNode: '</h3>\n <form method='>, <django.templatetags.i18n.TranslateNode object at 0x718eecec98d0>, <TextNode: '</em></p>\n '>, <django.template.defaulttags.CsrfTokenNode object at 0x718eecec97d0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x718eecec9bd0>, <TextNode: '\n <div class="row"'>, <django.template.library.SimpleNode object at 0x718eed0b1ed0>, <TextNode: '\n </div>\n <'>, <django.templatetags.i18n.TranslateNode object at 0x718eececa090>, <TextNode: '</button>\n </form>\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed0a2250>, <TextNode: '</h3>\n\n '>, <IfNode>, <TextNode: ' '>, <TextNode: '\n </section>\n </div>\n'>]>}
includes/button_accordion_toggle.html
/app/templates/includes/button_accordion_toggle.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=Unknown, fields=(name;grade;language)>, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'is_skolon_class': False, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'physics_builds': [], 'renew_license_id': 1153, 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'webpack_bundle_name': 'schoolClassDetail'} {'block': <Block Node: content_container. Contents: [<TextNode: '\n\n <div class="b'>, <Block Node: breadcrumbs. Contents: [<django.template.library.SimpleNode object at 0x718eee0c1bd0>]>, <TextNode: '\n </div>\n\n '>, <django.template.library.InclusionNode object at 0x718eee0c1c90>, <TextNode: '\n '>, <Block Node: alerts. Contents: []>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n </div>\n\n '>, <IfNode>, <TextNode: '\n\n '>, <Block Node: before_content. Contents: []>, <TextNode: '\n\n <div class="m'>, <Block Node: content. Contents: []>, <TextNode: '\n </div>\n\n '>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n<!-- This includes just '>, <django.template.loader_tags.IncludeNode object at 0x718eed06e550>, <TextNode: '\n<div v-scope style="disp'>, <django.templatetags.i18n.TranslateNode object at 0x718eed179950>, <TextNode: '</h3>\n <div class="row'>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n </div>\n\n <div cla'>, <TextNode: '\n <div class="col-12'>, <django.templatetags.i18n.TranslateNode object at 0x718eed08f890>, <TextNode: '</div>\n </div>'>, <django.templatetags.i18n.TranslateNode object at 0x718eed090410>, <TextNode: '\n </div>\n '>, <django.template.loader_tags.IncludeNode object at 0x718eed090810>, <TextNode: '\n </div>\n '>, <Variable Node: school_class.pk>, <TextNode: '" class="collapse show mt'>, <ForNode: for area in areas, tail_len: 17>, <TextNode: '\n </tbody>\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n </div>\n\n <div cla'>, <IfNode>, <TextNode: '\n\n <div class="col">'>, <IfNode>, <TextNode: '\n\n <div class="car'>, <django.templatetags.i18n.TranslateNode object at 0x718eed09c210>, <TextNode: '</div>\n '>, <django.template.loader_tags.IncludeNode object at 0x718eed05e250>, <TextNode: '\n </div>\n '>, <Variable Node: school_class.pk>, <TextNode: '" class="collapse show mt'>, <django.templatetags.i18n.BlockTranslateNode object at 0x718eed09ca90>, <TextNode: '\n </small>\n '>, <IfNode>, <TextNode: '\n </div>\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed08e950>, <TextNode: '</div>\n '>, <django.template.loader_tags.IncludeNode object at 0x718eed096a90>, <TextNode: '\n </div>\n '>, <Variable Node: school_class.pk>, <TextNode: '" class="collapse show mt'>, <django.templatetags.i18n.BlockTranslateNode object at 0x718eed09f110>, <TextNode: '\n </small>\n '>, <IfNode>, <TextNode: '\n </div>\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed0a0850>, <TextNode: '</h3>\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>, <IfNode>, <TextNode: ' '>, <TextNode: '\n\n <div class="mt-3">\n'>, <IfNode>, <TextNode: '\n </div>\n </div>\n\n <'>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b2f10>, <TextNode: '</h3>\n </div>\n '>, <django.template.defaulttags.URLNode object at 0x718eed0b3250>, <TextNode: '"\n id="invite-'>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b3490>, <TextNode: '">\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b36d0>, <TextNode: '\n </button>\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b3910>, <TextNode: '</div>\n <div c'>, <IfNode>, <TextNode: '">'>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b3e90>, <TextNode: '</div>\n <div c'>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b40d0>, <TextNode: '</div>\n '>, <IfNode>, <TextNode: '\n </div>\n '>, <ForNode: for teacher in verified_teachers, tail_len: 35>, <TextNode: ' '>, <TextNode: '\n </div>\n </secti'>, <IfNode>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n\n <section class="no-'>, <IfNode>, <TextNode: '\n </section>\n </div>\n'>, <django.templatetags.i18n.TranslateNode object at 0x718eecec9710>, <TextNode: '</h3>\n <form method='>, <django.templatetags.i18n.TranslateNode object at 0x718eecec98d0>, <TextNode: '</em></p>\n '>, <django.template.defaulttags.CsrfTokenNode object at 0x718eecec97d0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x718eecec9bd0>, <TextNode: '\n <div class="row"'>, <django.template.library.SimpleNode object at 0x718eed0b1ed0>, <TextNode: '\n </div>\n <'>, <django.templatetags.i18n.TranslateNode object at 0x718eececa090>, <TextNode: '</button>\n </form>\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed0a2250>, <TextNode: '</h3>\n\n '>, <IfNode>, <TextNode: ' '>, <TextNode: '\n </section>\n </div>\n'>]>} {'target': '#active-areas-widget-1265'}
includes/button_accordion_toggle.html
/app/templates/includes/button_accordion_toggle.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=Unknown, fields=(name;grade;language)>, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'is_skolon_class': False, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'physics_builds': [], 'renew_license_id': 1153, 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'webpack_bundle_name': 'schoolClassDetail'} {'block': <Block Node: content_container. Contents: [<TextNode: '\n\n <div class="b'>, <Block Node: breadcrumbs. Contents: [<django.template.library.SimpleNode object at 0x718eee0c1bd0>]>, <TextNode: '\n </div>\n\n '>, <django.template.library.InclusionNode object at 0x718eee0c1c90>, <TextNode: '\n '>, <Block Node: alerts. Contents: []>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n </div>\n\n '>, <IfNode>, <TextNode: '\n\n '>, <Block Node: before_content. Contents: []>, <TextNode: '\n\n <div class="m'>, <Block Node: content. Contents: []>, <TextNode: '\n </div>\n\n '>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n<!-- This includes just '>, <django.template.loader_tags.IncludeNode object at 0x718eed06e550>, <TextNode: '\n<div v-scope style="disp'>, <django.templatetags.i18n.TranslateNode object at 0x718eed179950>, <TextNode: '</h3>\n <div class="row'>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n </div>\n\n <div cla'>, <TextNode: '\n <div class="col-12'>, <django.templatetags.i18n.TranslateNode object at 0x718eed08f890>, <TextNode: '</div>\n </div>'>, <django.templatetags.i18n.TranslateNode object at 0x718eed090410>, <TextNode: '\n </div>\n '>, <django.template.loader_tags.IncludeNode object at 0x718eed090810>, <TextNode: '\n </div>\n '>, <Variable Node: school_class.pk>, <TextNode: '" class="collapse show mt'>, <ForNode: for area in areas, tail_len: 17>, <TextNode: '\n </tbody>\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n </div>\n\n <div cla'>, <IfNode>, <TextNode: '\n\n <div class="col">'>, <IfNode>, <TextNode: '\n\n <div class="car'>, <django.templatetags.i18n.TranslateNode object at 0x718eed09c210>, <TextNode: '</div>\n '>, <django.template.loader_tags.IncludeNode object at 0x718eed05e250>, <TextNode: '\n </div>\n '>, <Variable Node: school_class.pk>, <TextNode: '" class="collapse show mt'>, <django.templatetags.i18n.BlockTranslateNode object at 0x718eed09ca90>, <TextNode: '\n </small>\n '>, <IfNode>, <TextNode: '\n </div>\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed08e950>, <TextNode: '</div>\n '>, <django.template.loader_tags.IncludeNode object at 0x718eed096a90>, <TextNode: '\n </div>\n '>, <Variable Node: school_class.pk>, <TextNode: '" class="collapse show mt'>, <django.templatetags.i18n.BlockTranslateNode object at 0x718eed09f110>, <TextNode: '\n </small>\n '>, <IfNode>, <TextNode: '\n </div>\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed0a0850>, <TextNode: '</h3>\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>, <IfNode>, <TextNode: ' '>, <TextNode: '\n\n <div class="mt-3">\n'>, <IfNode>, <TextNode: '\n </div>\n </div>\n\n <'>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b2f10>, <TextNode: '</h3>\n </div>\n '>, <django.template.defaulttags.URLNode object at 0x718eed0b3250>, <TextNode: '"\n id="invite-'>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b3490>, <TextNode: '">\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b36d0>, <TextNode: '\n </button>\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b3910>, <TextNode: '</div>\n <div c'>, <IfNode>, <TextNode: '">'>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b3e90>, <TextNode: '</div>\n <div c'>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b40d0>, <TextNode: '</div>\n '>, <IfNode>, <TextNode: '\n </div>\n '>, <ForNode: for teacher in verified_teachers, tail_len: 35>, <TextNode: ' '>, <TextNode: '\n </div>\n </secti'>, <IfNode>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n\n <section class="no-'>, <IfNode>, <TextNode: '\n </section>\n </div>\n'>, <django.templatetags.i18n.TranslateNode object at 0x718eecec9710>, <TextNode: '</h3>\n <form method='>, <django.templatetags.i18n.TranslateNode object at 0x718eecec98d0>, <TextNode: '</em></p>\n '>, <django.template.defaulttags.CsrfTokenNode object at 0x718eecec97d0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x718eecec9bd0>, <TextNode: '\n <div class="row"'>, <django.template.library.SimpleNode object at 0x718eed0b1ed0>, <TextNode: '\n </div>\n <'>, <django.templatetags.i18n.TranslateNode object at 0x718eececa090>, <TextNode: '</button>\n </form>\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed0a2250>, <TextNode: '</h3>\n\n '>, <IfNode>, <TextNode: ' '>, <TextNode: '\n </section>\n </div>\n'>]>} {'target': '#area-widget-1265'}
groplay/preloader.html
/app/templates/groplay/preloader.html
Toggle context {'False': False, 'None': None, 'True': True} {'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'preloader': {'backdrop': True, 'framed': True, 'id': 'area-fulfillment-preloader', 'large': False, 'position': 'absolute', 'show': False, 'style': ''}}
includes/button_accordion_toggle.html
/app/templates/includes/button_accordion_toggle.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=Unknown, fields=(name;grade;language)>, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'is_skolon_class': False, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'physics_builds': [], 'renew_license_id': 1153, 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'webpack_bundle_name': 'schoolClassDetail'} {'block': <Block Node: content_container. Contents: [<TextNode: '\n\n <div class="b'>, <Block Node: breadcrumbs. Contents: [<django.template.library.SimpleNode object at 0x718eee0c1bd0>]>, <TextNode: '\n </div>\n\n '>, <django.template.library.InclusionNode object at 0x718eee0c1c90>, <TextNode: '\n '>, <Block Node: alerts. Contents: []>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n </div>\n\n '>, <IfNode>, <TextNode: '\n\n '>, <Block Node: before_content. Contents: []>, <TextNode: '\n\n <div class="m'>, <Block Node: content. Contents: []>, <TextNode: '\n </div>\n\n '>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n<!-- This includes just '>, <django.template.loader_tags.IncludeNode object at 0x718eed06e550>, <TextNode: '\n<div v-scope style="disp'>, <django.templatetags.i18n.TranslateNode object at 0x718eed179950>, <TextNode: '</h3>\n <div class="row'>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n </div>\n\n <div cla'>, <TextNode: '\n <div class="col-12'>, <django.templatetags.i18n.TranslateNode object at 0x718eed08f890>, <TextNode: '</div>\n </div>'>, <django.templatetags.i18n.TranslateNode object at 0x718eed090410>, <TextNode: '\n </div>\n '>, <django.template.loader_tags.IncludeNode object at 0x718eed090810>, <TextNode: '\n </div>\n '>, <Variable Node: school_class.pk>, <TextNode: '" class="collapse show mt'>, <ForNode: for area in areas, tail_len: 17>, <TextNode: '\n </tbody>\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n </div>\n\n <div cla'>, <IfNode>, <TextNode: '\n\n <div class="col">'>, <IfNode>, <TextNode: '\n\n <div class="car'>, <django.templatetags.i18n.TranslateNode object at 0x718eed09c210>, <TextNode: '</div>\n '>, <django.template.loader_tags.IncludeNode object at 0x718eed05e250>, <TextNode: '\n </div>\n '>, <Variable Node: school_class.pk>, <TextNode: '" class="collapse show mt'>, <django.templatetags.i18n.BlockTranslateNode object at 0x718eed09ca90>, <TextNode: '\n </small>\n '>, <IfNode>, <TextNode: '\n </div>\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed08e950>, <TextNode: '</div>\n '>, <django.template.loader_tags.IncludeNode object at 0x718eed096a90>, <TextNode: '\n </div>\n '>, <Variable Node: school_class.pk>, <TextNode: '" class="collapse show mt'>, <django.templatetags.i18n.BlockTranslateNode object at 0x718eed09f110>, <TextNode: '\n </small>\n '>, <IfNode>, <TextNode: '\n </div>\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed0a0850>, <TextNode: '</h3>\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>, <IfNode>, <TextNode: ' '>, <TextNode: '\n\n <div class="mt-3">\n'>, <IfNode>, <TextNode: '\n </div>\n </div>\n\n <'>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b2f10>, <TextNode: '</h3>\n </div>\n '>, <django.template.defaulttags.URLNode object at 0x718eed0b3250>, <TextNode: '"\n id="invite-'>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b3490>, <TextNode: '">\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b36d0>, <TextNode: '\n </button>\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b3910>, <TextNode: '</div>\n <div c'>, <IfNode>, <TextNode: '">'>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b3e90>, <TextNode: '</div>\n <div c'>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b40d0>, <TextNode: '</div>\n '>, <IfNode>, <TextNode: '\n </div>\n '>, <ForNode: for teacher in verified_teachers, tail_len: 35>, <TextNode: ' '>, <TextNode: '\n </div>\n </secti'>, <IfNode>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n\n <section class="no-'>, <IfNode>, <TextNode: '\n </section>\n </div>\n'>, <django.templatetags.i18n.TranslateNode object at 0x718eecec9710>, <TextNode: '</h3>\n <form method='>, <django.templatetags.i18n.TranslateNode object at 0x718eecec98d0>, <TextNode: '</em></p>\n '>, <django.template.defaulttags.CsrfTokenNode object at 0x718eecec97d0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x718eecec9bd0>, <TextNode: '\n <div class="row"'>, <django.template.library.SimpleNode object at 0x718eed0b1ed0>, <TextNode: '\n </div>\n <'>, <django.templatetags.i18n.TranslateNode object at 0x718eececa090>, <TextNode: '</button>\n </form>\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed0a2250>, <TextNode: '</h3>\n\n '>, <IfNode>, <TextNode: ' '>, <TextNode: '\n </section>\n </div>\n'>]>} {'target': '#freebuilding-widget-1265'}
includes/button_accordion_toggle.html
/app/templates/includes/button_accordion_toggle.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=Unknown, fields=(name;grade;language)>, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'is_skolon_class': False, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'physics_builds': [], 'renew_license_id': 1153, 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'webpack_bundle_name': 'schoolClassDetail'} {'block': <Block Node: content_container. Contents: [<TextNode: '\n\n <div class="b'>, <Block Node: breadcrumbs. Contents: [<django.template.library.SimpleNode object at 0x718eee0c1bd0>]>, <TextNode: '\n </div>\n\n '>, <django.template.library.InclusionNode object at 0x718eee0c1c90>, <TextNode: '\n '>, <Block Node: alerts. Contents: []>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n </div>\n\n '>, <IfNode>, <TextNode: '\n\n '>, <Block Node: before_content. Contents: []>, <TextNode: '\n\n <div class="m'>, <Block Node: content. Contents: []>, <TextNode: '\n </div>\n\n '>]>} {'block': <Block Node: content. Contents: [<TextNode: '\n<!-- This includes just '>, <django.template.loader_tags.IncludeNode object at 0x718eed06e550>, <TextNode: '\n<div v-scope style="disp'>, <django.templatetags.i18n.TranslateNode object at 0x718eed179950>, <TextNode: '</h3>\n <div class="row'>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n </div>\n\n <div cla'>, <TextNode: '\n <div class="col-12'>, <django.templatetags.i18n.TranslateNode object at 0x718eed08f890>, <TextNode: '</div>\n </div>'>, <django.templatetags.i18n.TranslateNode object at 0x718eed090410>, <TextNode: '\n </div>\n '>, <django.template.loader_tags.IncludeNode object at 0x718eed090810>, <TextNode: '\n </div>\n '>, <Variable Node: school_class.pk>, <TextNode: '" class="collapse show mt'>, <ForNode: for area in areas, tail_len: 17>, <TextNode: '\n </tbody>\n '>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n </div>\n\n <div cla'>, <IfNode>, <TextNode: '\n\n <div class="col">'>, <IfNode>, <TextNode: '\n\n <div class="car'>, <django.templatetags.i18n.TranslateNode object at 0x718eed09c210>, <TextNode: '</div>\n '>, <django.template.loader_tags.IncludeNode object at 0x718eed05e250>, <TextNode: '\n </div>\n '>, <Variable Node: school_class.pk>, <TextNode: '" class="collapse show mt'>, <django.templatetags.i18n.BlockTranslateNode object at 0x718eed09ca90>, <TextNode: '\n </small>\n '>, <IfNode>, <TextNode: '\n </div>\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed08e950>, <TextNode: '</div>\n '>, <django.template.loader_tags.IncludeNode object at 0x718eed096a90>, <TextNode: '\n </div>\n '>, <Variable Node: school_class.pk>, <TextNode: '" class="collapse show mt'>, <django.templatetags.i18n.BlockTranslateNode object at 0x718eed09f110>, <TextNode: '\n </small>\n '>, <IfNode>, <TextNode: '\n </div>\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed0a0850>, <TextNode: '</h3>\n </div>\n '>, <IfNode>, <TextNode: '\n </div>\n </div>\n'>, <IfNode>, <TextNode: ' '>, <TextNode: '\n\n <div class="mt-3">\n'>, <IfNode>, <TextNode: '\n </div>\n </div>\n\n <'>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b2f10>, <TextNode: '</h3>\n </div>\n '>, <django.template.defaulttags.URLNode object at 0x718eed0b3250>, <TextNode: '"\n id="invite-'>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b3490>, <TextNode: '">\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b36d0>, <TextNode: '\n </button>\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b3910>, <TextNode: '</div>\n <div c'>, <IfNode>, <TextNode: '">'>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b3e90>, <TextNode: '</div>\n <div c'>, <django.templatetags.i18n.TranslateNode object at 0x718eed0b40d0>, <TextNode: '</div>\n '>, <IfNode>, <TextNode: '\n </div>\n '>, <ForNode: for teacher in verified_teachers, tail_len: 35>, <TextNode: ' '>, <TextNode: '\n </div>\n </secti'>, <IfNode>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n\n <section class="no-'>, <IfNode>, <TextNode: '\n </section>\n </div>\n'>, <django.templatetags.i18n.TranslateNode object at 0x718eecec9710>, <TextNode: '</h3>\n <form method='>, <django.templatetags.i18n.TranslateNode object at 0x718eecec98d0>, <TextNode: '</em></p>\n '>, <django.template.defaulttags.CsrfTokenNode object at 0x718eecec97d0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x718eecec9bd0>, <TextNode: '\n <div class="row"'>, <django.template.library.SimpleNode object at 0x718eed0b1ed0>, <TextNode: '\n </div>\n <'>, <django.templatetags.i18n.TranslateNode object at 0x718eececa090>, <TextNode: '</button>\n </form>\n '>, <django.templatetags.i18n.TranslateNode object at 0x718eed0a2250>, <TextNode: '</h3>\n\n '>, <IfNode>, <TextNode: ' '>, <TextNode: '\n </section>\n </div>\n'>]>} {'target': '#physics-builds-widget-1265'}
bootstrap5/field_help_text.html
/app/templates/bootstrap5/field_help_text.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x718eed0a8950>, 'field_help': 'This will force an in-game language for all pupils in this ' 'class. Leave it empty to let the pupils select languages for ' 'themselves.', 'layout': '', 'show_help': True}
includes/footer.html
/app/templates/includes/footer.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=Unknown, fields=(name;grade;language)>, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'is_skolon_class': False, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'physics_builds': [], 'renew_license_id': 1153, 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'webpack_bundle_name': 'schoolClassDetail'}
includes/cookie_consent.html
/app/templates/includes/cookie_consent.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=Unknown, fields=(name;grade;language)>, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'is_skolon_class': False, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'physics_builds': [], 'renew_license_id': 1153, 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'webpack_bundle_name': 'schoolClassDetail'}
modals/voxeldata.html
/app/templates/modals/voxeldata.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: '2bEEV3oQnwWNIQaY7nE9lQSGLxlvGzzE4UMLqmShS5g0eV1REN9pwVDQC5HvV9Dz'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eecfaa750>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'LANGUAGE': 'en', 'None': None, 'STATIC_URL': '/static/', 'True': True, 'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'app_download_url': None, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'block': <Block Node: modals. Contents: [<TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a9b50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a2590>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eececac50>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced32d0>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced3250>, <TextNode: '\n\n'>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a3c50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced80d0>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a0450>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced09d0>, <TextNode: '\n'>]>, 'class_update_form': <SchoolClassForm bound=False, valid=False, fields=(name;grade;language)>, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'http_scheme': 'https', 'is_production': False, 'is_skolon_class': False, 'items': [], 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'modal': {'all_params': ['active-item-id'], 'center': True, 'classes': '', 'footer': True, 'id': 'voxeldata-modal', 'large': True, 'optional_params': 'active-item-id', 'required_params': '', 'scrollable': False}, 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'physics_builds': [], 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'renew_license_id': 1153, 'request': '<<request>>', 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'user_agent': <SimpleLazyObject: <user_agents.parsers.UserAgent object at 0x718eececb250>>, 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'view_name': 'schools:classes:detail', 'webpack_bundle_name': 'schoolClassDetail'}
modals/thumbnail_carousel.html
/app/templates/modals/thumbnail_carousel.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: '2bEEV3oQnwWNIQaY7nE9lQSGLxlvGzzE4UMLqmShS5g0eV1REN9pwVDQC5HvV9Dz'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eecfaa750>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'LANGUAGE': 'en', 'None': None, 'STATIC_URL': '/static/', 'True': True, 'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'app_download_url': None, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'block': <Block Node: modals. Contents: [<TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a9b50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a2590>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eececac50>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced32d0>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced3250>, <TextNode: '\n\n'>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a3c50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced80d0>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a0450>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced09d0>, <TextNode: '\n'>]>, 'class_update_form': <SchoolClassForm bound=False, valid=False, fields=(name;grade;language)>, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'http_scheme': 'https', 'is_production': False, 'is_skolon_class': False, 'items': [], 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'modal': {'all_params': ['active-item-id'], 'center': True, 'classes': '', 'footer': True, 'id': 'voxeldata-modal', 'large': True, 'optional_params': 'active-item-id', 'required_params': '', 'scrollable': False}, 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'physics_builds': [], 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'renew_license_id': 1153, 'request': '<<request>>', 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'user_agent': <SimpleLazyObject: <user_agents.parsers.UserAgent object at 0x718eececb250>>, 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'view_name': 'schools:classes:detail', 'webpack_bundle_name': 'schoolClassDetail'}
groplay/modals/base.html
/app/.venv/lib/python3.11/site-packages/groplay_django/templates/groplay/modals/base.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: '2bEEV3oQnwWNIQaY7nE9lQSGLxlvGzzE4UMLqmShS5g0eV1REN9pwVDQC5HvV9Dz'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eecfaa750>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'LANGUAGE': 'en', 'None': None, 'STATIC_URL': '/static/', 'True': True, 'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'app_download_url': None, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'block': <Block Node: modals. Contents: [<TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a9b50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a2590>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eececac50>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced32d0>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced3250>, <TextNode: '\n\n'>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a3c50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced80d0>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a0450>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced09d0>, <TextNode: '\n'>]>, 'class_update_form': <SchoolClassForm bound=False, valid=False, fields=(name;grade;language)>, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'http_scheme': 'https', 'is_production': False, 'is_skolon_class': False, 'items': [], 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'modal': {'all_params': ['active-item-id'], 'center': True, 'classes': '', 'footer': True, 'id': 'voxeldata-modal', 'large': True, 'optional_params': 'active-item-id', 'required_params': '', 'scrollable': False}, 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'physics_builds': [], 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'renew_license_id': 1153, 'request': '<<request>>', 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'user_agent': <SimpleLazyObject: <user_agents.parsers.UserAgent object at 0x718eececb250>>, 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'view_name': 'schools:classes:detail', 'webpack_bundle_name': 'schoolClassDetail'}
modals/physics_builds.html
/app/templates/modals/physics_builds.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'AFYucRPVyOBjsequQi9psoMHvdQ3Uur4Co6BHajm3nVwYjhnnIEFDtxRmLc394vZ'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eecf598d0>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'LANGUAGE': 'en', 'None': None, 'STATIC_URL': '/static/', 'True': True, 'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'app_download_url': None, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'block': <Block Node: modals. Contents: [<TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a9b50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a2590>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eececac50>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced32d0>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced3250>, <TextNode: '\n\n'>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a3c50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced80d0>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a0450>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced09d0>, <TextNode: '\n'>]>, 'class_update_form': <SchoolClassForm bound=False, valid=False, fields=(name;grade;language)>, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'http_scheme': 'https', 'is_production': False, 'is_skolon_class': False, 'items': [], 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'modal': {'all_params': ['active-item-id'], 'center': True, 'classes': '', 'footer': True, 'id': 'physics-build-modal', 'large': True, 'optional_params': 'active-item-id', 'required_params': '', 'scrollable': False}, 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'physics_builds': [], 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'renew_license_id': 1153, 'request': '<<request>>', 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'view_name': 'schools:classes:detail', 'webpack_bundle_name': 'schoolClassDetail'}
modals/thumbnail_carousel.html
/app/templates/modals/thumbnail_carousel.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'AFYucRPVyOBjsequQi9psoMHvdQ3Uur4Co6BHajm3nVwYjhnnIEFDtxRmLc394vZ'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eecf598d0>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'LANGUAGE': 'en', 'None': None, 'STATIC_URL': '/static/', 'True': True, 'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'app_download_url': None, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'block': <Block Node: modals. Contents: [<TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a9b50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a2590>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eececac50>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced32d0>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced3250>, <TextNode: '\n\n'>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a3c50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced80d0>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a0450>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced09d0>, <TextNode: '\n'>]>, 'class_update_form': <SchoolClassForm bound=False, valid=False, fields=(name;grade;language)>, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'http_scheme': 'https', 'is_production': False, 'is_skolon_class': False, 'items': [], 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'modal': {'all_params': ['active-item-id'], 'center': True, 'classes': '', 'footer': True, 'id': 'physics-build-modal', 'large': True, 'optional_params': 'active-item-id', 'required_params': '', 'scrollable': False}, 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'physics_builds': [], 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'renew_license_id': 1153, 'request': '<<request>>', 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'view_name': 'schools:classes:detail', 'webpack_bundle_name': 'schoolClassDetail'}
groplay/modals/base.html
/app/.venv/lib/python3.11/site-packages/groplay_django/templates/groplay/modals/base.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'AFYucRPVyOBjsequQi9psoMHvdQ3Uur4Co6BHajm3nVwYjhnnIEFDtxRmLc394vZ'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eecf598d0>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'LANGUAGE': 'en', 'None': None, 'STATIC_URL': '/static/', 'True': True, 'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'app_download_url': None, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'block': <Block Node: modals. Contents: [<TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a9b50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a2590>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eececac50>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced32d0>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced3250>, <TextNode: '\n\n'>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a3c50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced80d0>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a0450>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced09d0>, <TextNode: '\n'>]>, 'class_update_form': <SchoolClassForm bound=False, valid=False, fields=(name;grade;language)>, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'http_scheme': 'https', 'is_production': False, 'is_skolon_class': False, 'items': [], 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'modal': {'all_params': ['active-item-id'], 'center': True, 'classes': '', 'footer': True, 'id': 'physics-build-modal', 'large': True, 'optional_params': 'active-item-id', 'required_params': '', 'scrollable': False}, 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'physics_builds': [], 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'renew_license_id': 1153, 'request': '<<request>>', 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'view_name': 'schools:classes:detail', 'webpack_bundle_name': 'schoolClassDetail'}
schools/modals/token_pdf.html
/app/templates/schools/modals/token_pdf.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'YpU6HH3zozmq374dKhlnR3eqKX512VZO082dc0x0T8GDzcV6hHQD28ZABvr1hv3J'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eecdd4610>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'LANGUAGE': 'en', 'None': None, 'STATIC_URL': '/static/', 'True': True, 'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'app_download_url': None, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'block': <Block Node: modals. Contents: [<TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a9b50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a2590>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eececac50>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced32d0>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced3250>, <TextNode: '\n\n'>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a3c50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced80d0>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a0450>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced09d0>, <TextNode: '\n'>]>, 'class_update_form': <SchoolClassForm bound=False, valid=False, fields=(name;grade;language)>, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'finished_exams': [], 'form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'http_scheme': 'https', 'is_production': False, 'is_skolon_class': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'modal': {'all_params': [], 'center': True, 'classes': '', 'footer': True, 'id': 'token-pdf-modal', 'large': False, 'optional_params': '', 'required_params': '', 'scrollable': False}, 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'physics_builds': [], 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'renew_license_id': 1153, 'request': '<<request>>', 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'view_name': 'schools:classes:detail', 'webpack_bundle_name': 'schoolClassDetail'}
groplay/modals/base.html
/app/.venv/lib/python3.11/site-packages/groplay_django/templates/groplay/modals/base.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'YpU6HH3zozmq374dKhlnR3eqKX512VZO082dc0x0T8GDzcV6hHQD28ZABvr1hv3J'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eecdd4610>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'LANGUAGE': 'en', 'None': None, 'STATIC_URL': '/static/', 'True': True, 'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'app_download_url': None, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'block': <Block Node: modals. Contents: [<TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a9b50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a2590>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eececac50>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced32d0>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced3250>, <TextNode: '\n\n'>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a3c50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced80d0>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a0450>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced09d0>, <TextNode: '\n'>]>, 'class_update_form': <SchoolClassForm bound=False, valid=False, fields=(name;grade;language)>, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'finished_exams': [], 'form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'http_scheme': 'https', 'is_production': False, 'is_skolon_class': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'modal': {'all_params': [], 'center': True, 'classes': '', 'footer': True, 'id': 'token-pdf-modal', 'large': False, 'optional_params': '', 'required_params': '', 'scrollable': False}, 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'physics_builds': [], 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'renew_license_id': 1153, 'request': '<<request>>', 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=Unknown, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'view_name': 'schools:classes:detail', 'webpack_bundle_name': 'schoolClassDetail'}
groplay/modals/dynamic.html
/app/.venv/lib/python3.11/site-packages/groplay_django/templates/groplay/modals/dynamic.html
Toggle context {'False': False, 'None': None, 'True': True} {'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'modal': {'all_params': [], 'center': False, 'classes': 'invite-users-modal', 'data_attrs': {'data-always-load': True}, 'id': 'invite-teachers-modal', 'large': True, 'optional_params': '', 'required_params': '', 'scrollable': False, 'url': ''}}
groplay/preloader.html
/app/templates/groplay/preloader.html
Toggle context {'False': False, 'None': None, 'True': True} {'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'preloader': {'backdrop': True, 'framed': True, 'id': None, 'large': True, 'position': 'absolute', 'show': False, 'style': ''}}
groplay/modals/dynamic.html
/app/.venv/lib/python3.11/site-packages/groplay_django/templates/groplay/modals/dynamic.html
Toggle context {'False': False, 'None': None, 'True': True} {'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'modal': {'all_params': ['content-url'], 'center': False, 'classes': '', 'data_attrs': {'data-always-load': True}, 'id': 'delete-teacher-modal', 'large': False, 'optional_params': '', 'required_params': 'content-url', 'scrollable': False, 'url': ''}}
groplay/preloader.html
/app/templates/groplay/preloader.html
Toggle context {'False': False, 'None': None, 'True': True} {'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'preloader': {'backdrop': True, 'framed': True, 'id': None, 'large': False, 'position': 'absolute', 'show': False, 'style': ''}}
schools/modals/create_tokens.html
/app/templates/schools/modals/create_tokens.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'VSbNgmvRqHMzYw34okNjcdslHQZwB84TXBjULFZiVg6MuBUXVKiznidvyolwQI8O'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eecdd9e50>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'LANGUAGE': 'en', 'None': None, 'STATIC_URL': '/static/', 'True': True, 'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'app_download_url': None, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'block': <Block Node: modals. Contents: [<TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a9b50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a2590>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eececac50>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced32d0>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced3250>, <TextNode: '\n\n'>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a3c50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced80d0>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a0450>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced09d0>, <TextNode: '\n'>]>, 'class_update_form': <SchoolClassForm bound=False, valid=False, fields=(name;grade;language)>, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'http_scheme': 'https', 'is_production': False, 'is_skolon_class': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'modal': {'all_params': [], 'center': False, 'classes': 'student-bulk-update', 'footer': True, 'id': 'create-tokens-modal', 'large': False, 'optional_params': '', 'required_params': '', 'scrollable': False}, 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'physics_builds': [], 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'renew_license_id': 1153, 'request': '<<request>>', 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=False, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'view_name': 'schools:classes:detail', 'webpack_bundle_name': 'schoolClassDetail'}
groplay/modals/base.html
/app/.venv/lib/python3.11/site-packages/groplay_django/templates/groplay/modals/base.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'VSbNgmvRqHMzYw34okNjcdslHQZwB84TXBjULFZiVg6MuBUXVKiznidvyolwQI8O'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eecdd9e50>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'LANGUAGE': 'en', 'None': None, 'STATIC_URL': '/static/', 'True': True, 'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'app_download_url': None, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'block': <Block Node: modals. Contents: [<TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a9b50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a2590>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eececac50>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced32d0>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced3250>, <TextNode: '\n\n'>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a3c50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced80d0>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a0450>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced09d0>, <TextNode: '\n'>]>, 'class_update_form': <SchoolClassForm bound=False, valid=False, fields=(name;grade;language)>, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'http_scheme': 'https', 'is_production': False, 'is_skolon_class': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'modal': {'all_params': [], 'center': False, 'classes': 'student-bulk-update', 'footer': True, 'id': 'create-tokens-modal', 'large': False, 'optional_params': '', 'required_params': '', 'scrollable': False}, 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'physics_builds': [], 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'renew_license_id': 1153, 'request': '<<request>>', 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=False, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'view_name': 'schools:classes:detail', 'webpack_bundle_name': 'schoolClassDetail'}
groplay/preloader.html
/app/templates/groplay/preloader.html
Toggle context {'False': False, 'None': None, 'True': True} {'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'preloader': {'backdrop': True, 'framed': True, 'id': None, 'large': False, 'position': 'absolute', 'show': False, 'style': ''}}
schools/modals/reset_progress.html
/app/templates/schools/modals/reset_progress.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'dRVUahgK76SWkbyy8WAgBjRBwminO3XnfA31FAKbCFc9QgprFm5wMoCLnUEn3D1i'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eecdc9310>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'LANGUAGE': 'en', 'None': None, 'STATIC_URL': '/static/', 'True': True, 'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'app_download_url': None, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'block': <Block Node: modals. Contents: [<TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a9b50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a2590>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eececac50>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced32d0>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced3250>, <TextNode: '\n\n'>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a3c50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced80d0>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a0450>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced09d0>, <TextNode: '\n'>]>, 'class_update_form': <SchoolClassForm bound=False, valid=False, fields=(name;grade;language)>, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'http_scheme': 'https', 'is_production': False, 'is_skolon_class': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'modal': {'all_params': [], 'center': False, 'classes': 'student-bulk-update', 'footer': True, 'id': 'reset-progress-modal', 'large': False, 'optional_params': '', 'required_params': '', 'scrollable': False}, 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'physics_builds': [], 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'renew_license_id': 1153, 'request': '<<request>>', 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=False, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'view_name': 'schools:classes:detail', 'webpack_bundle_name': 'schoolClassDetail'}
groplay/modals/base.html
/app/.venv/lib/python3.11/site-packages/groplay_django/templates/groplay/modals/base.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'dRVUahgK76SWkbyy8WAgBjRBwminO3XnfA31FAKbCFc9QgprFm5wMoCLnUEn3D1i'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eecdc9310>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'LANGUAGE': 'en', 'None': None, 'STATIC_URL': '/static/', 'True': True, 'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'app_download_url': None, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'block': <Block Node: modals. Contents: [<TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a9b50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a2590>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eececac50>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced32d0>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced3250>, <TextNode: '\n\n'>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a3c50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced80d0>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a0450>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced09d0>, <TextNode: '\n'>]>, 'class_update_form': <SchoolClassForm bound=False, valid=False, fields=(name;grade;language)>, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'http_scheme': 'https', 'is_production': False, 'is_skolon_class': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'modal': {'all_params': [], 'center': False, 'classes': 'student-bulk-update', 'footer': True, 'id': 'reset-progress-modal', 'large': False, 'optional_params': '', 'required_params': '', 'scrollable': False}, 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'physics_builds': [], 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'renew_license_id': 1153, 'request': '<<request>>', 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=False, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'view_name': 'schools:classes:detail', 'webpack_bundle_name': 'schoolClassDetail'}
groplay/preloader.html
/app/templates/groplay/preloader.html
Toggle context {'False': False, 'None': None, 'True': True} {'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'preloader': {'backdrop': True, 'framed': True, 'id': None, 'large': False, 'position': 'absolute', 'show': False, 'style': ''}}
schools/modals/change_class.html
/app/templates/schools/modals/change_class.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'zt7VQhbVkwFnevpt3qgmoNSe8s32nKmfBcf2lAFmP5ZAKAgmAQLCzSDoZ0p2Ckqa'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eecde0fd0>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'LANGUAGE': 'en', 'None': None, 'STATIC_URL': '/static/', 'True': True, 'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'app_download_url': None, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'block': <Block Node: modals. Contents: [<TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a9b50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a2590>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eececac50>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced32d0>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced3250>, <TextNode: '\n\n'>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a3c50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced80d0>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a0450>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced09d0>, <TextNode: '\n'>]>, 'class_update_form': <SchoolClassForm bound=False, valid=False, fields=(name;grade;language)>, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'finished_exams': [], 'form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'http_scheme': 'https', 'is_production': False, 'is_skolon_class': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'modal': {'all_params': [], 'center': False, 'classes': 'student-bulk-update', 'footer': True, 'id': 'change-class-modal', 'large': False, 'optional_params': '', 'required_params': '', 'scrollable': False}, 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'physics_builds': [], 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'renew_license_id': 1153, 'request': '<<request>>', 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=False, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'view_name': 'schools:classes:detail', 'webpack_bundle_name': 'schoolClassDetail'}
groplay/modals/base.html
/app/.venv/lib/python3.11/site-packages/groplay_django/templates/groplay/modals/base.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'zt7VQhbVkwFnevpt3qgmoNSe8s32nKmfBcf2lAFmP5ZAKAgmAQLCzSDoZ0p2Ckqa'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eecde0fd0>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'LANGUAGE': 'en', 'None': None, 'STATIC_URL': '/static/', 'True': True, 'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'app_download_url': None, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'block': <Block Node: modals. Contents: [<TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a9b50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a2590>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eececac50>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced32d0>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced3250>, <TextNode: '\n\n'>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a3c50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced80d0>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a0450>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced09d0>, <TextNode: '\n'>]>, 'class_update_form': <SchoolClassForm bound=False, valid=False, fields=(name;grade;language)>, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'finished_exams': [], 'form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'http_scheme': 'https', 'is_production': False, 'is_skolon_class': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'modal': {'all_params': [], 'center': False, 'classes': 'student-bulk-update', 'footer': True, 'id': 'change-class-modal', 'large': False, 'optional_params': '', 'required_params': '', 'scrollable': False}, 'new_class_form': <SchoolClassSelectionForm bound=False, valid=Unknown, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'physics_builds': [], 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'renew_license_id': 1153, 'request': '<<request>>', 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=False, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'view_name': 'schools:classes:detail', 'webpack_bundle_name': 'schoolClassDetail'}
groplay/preloader.html
/app/templates/groplay/preloader.html
Toggle context {'False': False, 'None': None, 'True': True} {'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'preloader': {'backdrop': True, 'framed': True, 'id': None, 'large': False, 'position': 'absolute', 'show': False, 'style': ''}}
schools/modals/delete_students.html
/app/templates/schools/modals/delete_students.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: '3GnV3sPNFXHWtyVvwD9tmx5ZDb7WMfpb5pv2yLjeaw19ZDMo33EJxCQ9uJtW1Pt6'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eece09590>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'LANGUAGE': 'en', 'None': None, 'STATIC_URL': '/static/', 'True': True, 'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'app_download_url': None, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'block': <Block Node: modals. Contents: [<TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a9b50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a2590>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eececac50>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced32d0>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced3250>, <TextNode: '\n\n'>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a3c50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced80d0>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a0450>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced09d0>, <TextNode: '\n'>]>, 'class_update_form': <SchoolClassForm bound=False, valid=False, fields=(name;grade;language)>, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'http_scheme': 'https', 'is_production': False, 'is_skolon_class': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'modal': {'all_params': [], 'center': False, 'classes': 'student-bulk-update', 'footer': True, 'id': 'delete-students-modal', 'large': False, 'optional_params': '', 'required_params': '', 'scrollable': False}, 'new_class_form': <SchoolClassSelectionForm bound=False, valid=False, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'physics_builds': [], 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'renew_license_id': 1153, 'request': '<<request>>', 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=False, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'view_name': 'schools:classes:detail', 'webpack_bundle_name': 'schoolClassDetail'}
groplay/modals/base.html
/app/.venv/lib/python3.11/site-packages/groplay_django/templates/groplay/modals/base.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: '3GnV3sPNFXHWtyVvwD9tmx5ZDb7WMfpb5pv2yLjeaw19ZDMo33EJxCQ9uJtW1Pt6'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eece09590>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'LANGUAGE': 'en', 'None': None, 'STATIC_URL': '/static/', 'True': True, 'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'app_download_url': None, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'block': <Block Node: modals. Contents: [<TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a9b50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a2590>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eececac50>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced32d0>, <TextNode: '\n'>, <django.template.library.InclusionNode object at 0x718eeced3250>, <TextNode: '\n\n'>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a3c50>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced80d0>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eed0a0450>, <TextNode: '\n'>, <django.template.library.SimpleNode object at 0x718eeced09d0>, <TextNode: '\n'>]>, 'class_update_form': <SchoolClassForm bound=False, valid=False, fields=(name;grade;language)>, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'http_scheme': 'https', 'is_production': False, 'is_skolon_class': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'modal': {'all_params': [], 'center': False, 'classes': 'student-bulk-update', 'footer': True, 'id': 'delete-students-modal', 'large': False, 'optional_params': '', 'required_params': '', 'scrollable': False}, 'new_class_form': <SchoolClassSelectionForm bound=False, valid=False, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'physics_builds': [], 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'renew_license_id': 1153, 'request': '<<request>>', 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=False, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'view_name': 'schools:classes:detail', 'webpack_bundle_name': 'schoolClassDetail'}
groplay/preloader.html
/app/templates/groplay/preloader.html
Toggle context {'False': False, 'None': None, 'True': True} {'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'preloader': {'backdrop': True, 'framed': True, 'id': None, 'large': False, 'position': 'absolute', 'show': False, 'style': ''}}
includes/message_popup.html
/app/templates/includes/message_popup.html
Toggle context {'False': False, 'None': None, 'True': True} {'LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'messages': []}
modals/start_webgl.html
/app/templates/modals/start_webgl.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'LxpBZ1HuhHSRcKA8KWm6gePFrvSbFqFMNgxIukbVMgc4IPr1hmRmrjAPi3ebU0JH'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed08e810>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'LANGUAGE': 'en', 'None': None, 'STATIC_URL': '/static/', 'True': True, 'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'app_download_url': None, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=False, fields=(name;grade;language)>, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'http_scheme': 'https', 'is_production': False, 'is_skolon_class': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'modal': {'all_params': [], 'center': True, 'classes': '', 'footer': True, 'id': 'start-webgl-modal', 'large': False, 'optional_params': '', 'required_params': '', 'scrollable': False}, 'new_class_form': <SchoolClassSelectionForm bound=False, valid=False, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'physics_builds': [], 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'renew_license_id': 1153, 'request': '<<request>>', 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=False, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'urls': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'user_agent': <SimpleLazyObject: <user_agents.parsers.UserAgent object at 0x718eececb250>>, 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'view_name': 'schools:classes:detail', 'webpack_bundle_name': 'schoolClassDetail'}
groplay/modals/base.html
/app/.venv/lib/python3.11/site-packages/groplay_django/templates/groplay/modals/base.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'LxpBZ1HuhHSRcKA8KWm6gePFrvSbFqFMNgxIukbVMgc4IPr1hmRmrjAPi3ebU0JH'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed08e810>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'LANGUAGE': 'en', 'None': None, 'STATIC_URL': '/static/', 'True': True, 'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'app_download_url': None, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=False, fields=(name;grade;language)>, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'http_scheme': 'https', 'is_production': False, 'is_skolon_class': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'modal': {'all_params': [], 'center': True, 'classes': '', 'footer': True, 'id': 'start-webgl-modal', 'large': False, 'optional_params': '', 'required_params': '', 'scrollable': False}, 'new_class_form': <SchoolClassSelectionForm bound=False, valid=False, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'physics_builds': [], 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'renew_license_id': 1153, 'request': '<<request>>', 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=False, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'urls': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'user_agent': <SimpleLazyObject: <user_agents.parsers.UserAgent object at 0x718eececb250>>, 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'view_name': 'schools:classes:detail', 'webpack_bundle_name': 'schoolClassDetail'}
help/modals/contact_us.html
/app/templates/help/modals/contact_us.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'wWz3cuU3PwSoImTG1tNvBDId1PyO5utvyFHaHNouk5cBerKzyTiLMItnSnUOk4xq'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eece01f10>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'LANGUAGE': 'en', 'None': None, 'STATIC_URL': '/static/', 'True': True, 'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'app_download_url': None, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=False, fields=(name;grade;language)>, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'finished_exams': [], 'form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'http_scheme': 'https', 'is_production': False, 'is_skolon_class': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'modal': {'all_params': [], 'center': False, 'classes': '', 'footer': True, 'id': 'contact-us-modal', 'large': True, 'optional_params': '', 'required_params': '', 'scrollable': False}, 'new_class_form': <SchoolClassSelectionForm bound=False, valid=False, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'physics_builds': [], 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'renew_license_id': 1153, 'request': '<<request>>', 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=False, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'view_name': 'schools:classes:detail', 'webpack_bundle_name': 'schoolClassDetail'}
groplay/modals/base.html
/app/.venv/lib/python3.11/site-packages/groplay_django/templates/groplay/modals/base.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'wWz3cuU3PwSoImTG1tNvBDId1PyO5utvyFHaHNouk5cBerKzyTiLMItnSnUOk4xq'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eece01f10>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'LANGUAGE': 'en', 'None': None, 'STATIC_URL': '/static/', 'True': True, 'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'app_download_url': None, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=False, fields=(name;grade;language)>, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'finished_exams': [], 'form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'http_scheme': 'https', 'is_production': False, 'is_skolon_class': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'modal': {'all_params': [], 'center': False, 'classes': '', 'footer': True, 'id': 'contact-us-modal', 'large': True, 'optional_params': '', 'required_params': '', 'scrollable': False}, 'new_class_form': <SchoolClassSelectionForm bound=False, valid=False, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'physics_builds': [], 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'renew_license_id': 1153, 'request': '<<request>>', 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=False, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'view_name': 'schools:classes:detail', 'webpack_bundle_name': 'schoolClassDetail'}
modals/debug_menu.html
/app/templates/modals/debug_menu.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'lhoJwj00tmlQjZRzOiGM3mcQ0v24vosRn0wQ1CurYVF3P4IslIb2erX0R3o4KYwM'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eecdece90>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'LANGUAGE': 'en', 'None': None, 'STATIC_URL': '/static/', 'True': True, 'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'app_download_url': None, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=False, fields=(name;grade;language)>, 'contact_us_form': <ContactUsForm bound=False, valid=False, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'http_scheme': 'https', 'is_production': False, 'is_skolon_class': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'modal': {'all_params': [], 'center': False, 'classes': '', 'footer': True, 'id': 'debug-menu-modal', 'large': True, 'optional_params': '', 'required_params': '', 'scrollable': False}, 'new_class_form': <SchoolClassSelectionForm bound=False, valid=False, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'physics_builds': [], 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'renew_license_id': 1153, 'request': '<<request>>', 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=False, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'view_name': 'schools:classes:detail', 'webpack_bundle_name': 'schoolClassDetail'}
groplay/modals/base.html
/app/.venv/lib/python3.11/site-packages/groplay_django/templates/groplay/modals/base.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'STATIC_URL': '/static/', 'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=Unknown, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'lhoJwj00tmlQjZRzOiGM3mcQ0v24vosRn0wQ1CurYVF3P4IslIb2erX0R3o4KYwM'>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eecdece90>, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'request': '<<request>>', 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'view_name': 'schools:classes:detail'} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'False': False, 'LANGUAGE': 'en', 'None': None, 'STATIC_URL': '/static/', 'True': True, 'active_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'active_exercise_rooms': [], 'active_students': [], 'active_users': 3, 'app_download_url': None, 'areas': [{'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the <strong>planet&#39;s ' 'climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require energy. ' 'However, the emissions cause bad air and ' 'contribute to climate change, and the inhabitants ' 'are beginning to see the negative effects of ' 'this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different energy ' 'sources, and consider the pros and cons thereof. ' 'At the same time, they get to learn how different ' 'energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, {'activity_count': 45, 'description': '<p>Basically everything we humans and our cattle ' 'eat is produced on farmland. To be able to farm ' 'our foods and animal feed, we require healthy ' 'ecosystems. In this area, the pupils learn more ' 'about farming, such as what soil is, what a seed ' 'needs in order to grow, and how the natural cycles ' 'of plants work. Working with this area should ' 'bring a better understanding of food production ' 'and organic farming, as well as knowledge about ' 'the procreation and life cycles of ' 'plants.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094539-1.png" ' 'width="325" /><img alt="" height="180" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094546-2.png" ' 'width="321" /></p>\r\n' '\r\n' '<p><img alt="" height="181" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094605-3.png" ' 'width="322" /><img alt="" height="179" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/22/image-20220922094626-4.png" ' 'width="318" /></p>\r\n' '\r\n' '<p>On this island, the pupils visit the previously ' 'thriving village of Agravik, which has recently ' 'suffered through a storm. This has cut off supply ' 'deliveries to the village and the villagers have ' 'long since forgotten how to grow their own food. ' 'The pupils, together with MT, will help the ' 'village to learn how to grow and maintain their ' 'own food stores by learning about seeds, the life ' 'cycles of plants, how soil can be used for ' 'farming, and what roles water, manure, and ' 'sunlight play in all of this.</p>\r\n' '\r\n' '<p><u>Learning Objectives</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Farming, Food Production, Local ' 'Ecosystems, and Plant Reproduction.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 29, 'mandatory_activity_count': 20, 'mandatory_activity_ids': [146, 127, 483, 515, 121, 120, 129, 516, 152, 125, 128, 154, 514, 140, 476, 122, 123, 517, 153, 147], 'name': 'Farming (Agravik)', 'offline_activity_count': 16, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 12}, {'activity_count': 52, 'description': '<p>All life consists largely of water. Water is a ' 'necessity for life and also the centre around ' 'which we have built our societies. The amount of ' 'water on Earth doesn&#39;t change, but remains ' 'constant. The water we have today has always been ' 'there. In this area, the pupils learn about the ' 'different types of water on Earth, the natural ' 'cycle of water, and why it&#39;s so important to ' 'take good care of our water.</p>\r\n' '\r\n' '<p><img alt="" height="183" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921180959-1.png" ' 'width="326" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921181039-2.png" ' 'width="309" /></p>\r\n' '\r\n' '<p><img alt="" height="184" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183745-3.png" ' 'width="327" /><img alt="" height="174" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2022/09/21/image-20220921183907-4.png" ' 'width="309" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils learn about ' 'water: What it is, where it can be found, and how ' 'we use it for all kinds of purposes, including our ' 'own survival. They get to visit Water Valley: two ' 'communities on an island suffering from a lack of ' 'fresh, clean water. The river that runs through ' 'the valley has begun to dry up and is also filled ' 'with dangerous waste and chemicals, which puts the ' 'whole valley in danger.&nbsp;</p>\r\n' '\r\n' '<p>There are two parts to this level: The village, ' 'which is suffering from a dirty and dwindling ' 'river, and the city, whose residents need help in ' 'learning how to manage waste and to save the water ' 'they have. The pupils help the residents of both ' 'communities to learn about how water can be used, ' 'what fresh- and saltwater is, the natural cycle of ' 'water, what role we play in maintaining its ' 'ecosystems, and how to treat it like the valuable ' 'resource it is.&nbsp;</p>\r\n' '\r\n' '<p><u>Learning Goals</u></p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Water as a Resource, Chemical, Part of a ' 'Natural Cycle, and as part of our ' 'Ecosystems.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 43, 'mandatory_activity_count': 43, 'mandatory_activity_ids': [670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 683, 722, 684, 685, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 723, 699, 700, 701, 702, 703, 704, 705, 706, 724, 725, 726, 708, 709, 710], 'name': 'Water (Water Valley)', 'offline_activity_count': 9, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 13}, {'activity_count': 64, 'description': '<p>This area is about natural resources and the ' 'waste, usage, and recycling of them. The pupils ' 'learn about humanity&#39;s impact on the planet ' 'and the environment.&nbsp;</p>\r\n' '\r\n' '<p><img alt="" height="210" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/10/mission-starts_5r9FZsq.png" ' 'width="420" /></p>\r\n' '\r\n' '<p>In this assignment, the pupils will help the ' 'people on Cliff Island solve their problems with ' 'littering and overexploitation of natural ' 'resources. The village on the island and the land ' 'on which it is built are close to collapsing as ' 'mining under the village has gone to excess in the ' 'hunt for metals and minerals. The forests are ' 'disappearing due to unsustainable deforestation. ' 'The fine beaches are soon a thing of the past as ' 'the fine sand is used for products for ' 'consumption. The people are beginning to realise ' 'that something must change to prevent the island ' 'from collapsing.</p>\r\n' '\r\n' '<p>In this area, pupils learn the basics of some ' 'common natural resources and how humans use them ' 'in their daily lives. They will learn what a more ' 'sustainable production and consumption can look ' 'like.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Natural Resources, Consumption, ' 'Production and Waste.</li>\r\n' '\t<li>Basic knowledge of finite natural resources ' 'linked to the curriculum in Science studies and ' 'Technology.</li>\r\n' '\t<li>Advanced skills in problem solving with the ' 'help of acquired knowledge in Science studies, ' 'Technology, and Mathematics.</li>\r\n' '</ul>', 'disabled': True, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 52, 'mandatory_activity_count': 39, 'mandatory_activity_ids': [223, 225, 226, 227, 228, 229, 230, 231, 232, 238, 239, 240, 241, 256, 242, 243, 244, 245, 246, 237, 422, 470, 247, 484, 248, 249, 233, 236, 235, 234, 445, 251, 252, 253, 254, 255, 257, 471, 423], 'name': 'Recycling (Cliff Island)', 'offline_activity_count': 12, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 14}], 'class_update_form': <SchoolClassForm bound=False, valid=False, fields=(name;grade;language)>, 'contact_us_form': <ContactUsForm bound=False, valid=False, fields=(category;email;message)>, 'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'email_change_form': None, 'finished_exams': [], 'freebuilding_area_id': 20, 'freebuilding_room_id': 13, 'freebuildings': [], 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'name': 'Class 0', 'pk': 1265, 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'help_text': '<p>This is your class &quot;home page&quot;. Here you get an ' 'overview of your students&#39; activity in Grow Planet. You can ' 'also invite more teachers to the class, manage the class ' 'license, view and change students&#39; login tokens, and add or ' 'remove students.</p>\r\n' '\r\n' '<p>(Note: if the class uses Skolon or another external service, ' 'you may not edit the class, students, teachers or license here. ' 'Instead, you do so via the external service.)</p>', 'help_text_slug': 'class-details', 'http_scheme': 'https', 'is_production': False, 'is_skolon_class': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'license_via_ms': False, 'licenses': [<ClassLicense [1153] Class License [2025-03-30 - 2025-05-06]>], 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'modal': {'all_params': [], 'center': False, 'classes': '', 'footer': True, 'id': 'debug-menu-modal', 'large': True, 'optional_params': '', 'required_params': '', 'scrollable': False}, 'new_class_form': <SchoolClassSelectionForm bound=False, valid=False, fields=(school_class)>, 'notices': [], 'object': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'page_title': 'Class 0', 'pending_teachers': '<<queryset of users.TeacherPendingSchoolClass>>', 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>, 'physics_builds': [], 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'renew_license_id': 1153, 'request': '<<request>>', 'school_class': <SchoolClass [1265] Class 0, DEBUGSCHOOL>, 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'sidebar': {'exams': [{'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Agriculture exam', 'slug': 'agriculture'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Energy exam', 'slug': 'energy'}, {'is_ended': False, 'is_future': False, 'is_ongoing': False, 'name': 'Recycling exam', 'slug': 'recycling'}], 'exercise_rooms': [{'disabled': False, 'name': 'Construction', 'pk': 13}, {'disabled': False, 'name': 'Mathematics', 'pk': 15}, {'disabled': False, 'name': 'Programming', 'pk': 16}, {'disabled': False, 'name': 'Quiz', 'pk': 17}, {'disabled': False, 'name': 'Physics', 'pk': 19}], 'game_areas': [{'disabled': False, 'name': 'Energy & Climate (ElectriCity)', 'pk': 22}, {'disabled': True, 'name': 'Farming (Agravik)', 'pk': 12}, {'disabled': True, 'name': 'Water (Water Valley)', 'pk': 13}, {'disabled': True, 'name': 'Recycling (Cliff Island)', 'pk': 14}], 'hide': False, 'school_class': {'name': 'Class 0', 'pk': 1265, 'remote_identities': [], 'school_id': 1042, 'school_name': 'DEBUGSCHOOL'}}, 'skolon_renew_email_link': 'mailto:growplanet@groplay.com?subject=Grow Planet ' 'licence renewal on Skolon&body=We wish to renew ' 'the following Grow Planet licence(s) on Skolon:', 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'growplanet': 'https://growplanet.se/en/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE': '+46766499355', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'student_formset': <django.forms.formsets.StudentFormFormSet object at 0x718eed026810>, 'token_pdf_form': <SchoolClassPlayerTokenPDFForm bound=False, valid=False, fields=(player_type;layout)>, 'top_area': {'activity_count': 61, 'description': '<p>This area is about <strong>energy</strong>, ' 'about how people use energy in their everyday ' 'lives and how it affects the ' '<strong>planet&#39;s climate</strong>.</p>\r\n' '\r\n' '<p>In this assignment, pupils will help the ' 'community of ElectriCity to find and start using ' 'better energy sources. ElectriCity, currently ' 'ruled with an iron fist by Mayor Ampersson, uses ' 'fossil fuels for most things that require ' 'energy. However, the emissions cause bad air and ' 'contribute to climate change, and the ' 'inhabitants are beginning to see the negative ' 'effects of this.</p>\r\n' '\r\n' '<p>In this area, the pupils learn the basics of ' 'energy, investigate and help test different ' 'energy sources, and consider the pros and cons ' 'thereof. At the same time, they get to learn how ' 'different energy sources are related to climate ' 'change.</p>\r\n' '\r\n' '<p><u>Learning objectives</u>:</p>\r\n' '\r\n' '<ul>\r\n' '\t<li>Basic knowledge of Sustainable Development ' 'linked to Energy and Climate.</li>\r\n' '\t<li>Basic knowledge of Energy linked to the ' 'curriculum in Science studies, Technology and ' 'Engineering.</li>\r\n' '\t<li>Advanced skills in problem solving with ' 'the help of acquired knowledge in Science ' 'studies, Technology, Engineering&nbsp;and ' 'Mathematics.</li>\r\n' '</ul>\r\n' '\r\n' '<p><img alt="" height="360" ' 'src="https://growplanet.blob.core.windows.net/media/ckeditor/2021/02/11/mission-starts_yM01PyO.png" ' 'width="720" /></p>', 'disabled': False, 'exercise_room_id': None, 'exercise_room_name': None, 'featured_activities': [], 'game_activity_count': 53, 'mandatory_activity_count': 37, 'mandatory_activity_ids': [424, 288, 294, 295, 291, 296, 297, 290, 298, 292, 299, 300, 301, 302, 289, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 331, 318, 319, 320, 322, 475, 323, 324, 326, 327, 328], 'name': 'Energy & Climate (ElectriCity)', 'offline_activity_count': 8, 'percent': 0, 'percent_after_breakpoint': 0, 'percent_before_breakpoint': 0, 'pk': 22}, 'unverified_teachers': '<<teacherqueryset of users.Teacher>>', 'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'verified_teachers': '<<teacherqueryset of users.Teacher>>', 'view': <schools.views.generic.SchoolClassDetailView object at 0x718eee0c97d0>, 'view_name': 'schools:classes:detail', 'webpack_bundle_name': 'schoolClassDetail'}
groplay/modals/dynamic.html
/app/.venv/lib/python3.11/site-packages/groplay_django/templates/groplay/modals/dynamic.html
Toggle context {'False': False, 'None': None, 'True': True} {'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'modal': {'all_params': ['content-url'], 'center': True, 'classes': '', 'data_attrs': {'data-always-load': True}, 'id': 'area-lock-modal', 'large': False, 'optional_params': '', 'required_params': 'content-url', 'scrollable': False, 'url': ''}}
groplay/preloader.html
/app/templates/groplay/preloader.html
Toggle context {'False': False, 'None': None, 'True': True} {'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'preloader': {'backdrop': True, 'framed': True, 'id': None, 'large': False, 'position': 'absolute', 'show': False, 'style': ''}}
groplay/modals/dynamic.html
/app/.venv/lib/python3.11/site-packages/groplay_django/templates/groplay/modals/dynamic.html
Toggle context {'False': False, 'None': None, 'True': True} {'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'modal': {'all_params': ['content-url'], 'center': True, 'classes': '', 'data_attrs': {'data-always-load': True}, 'id': 'exercise-room-lock-modal', 'large': False, 'optional_params': '', 'required_params': 'content-url', 'scrollable': False, 'url': ''}}
groplay/preloader.html
/app/templates/groplay/preloader.html
Toggle context {'False': False, 'None': None, 'True': True} {'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'preloader': {'backdrop': True, 'framed': True, 'id': None, 'large': False, 'position': 'absolute', 'show': False, 'style': ''}}
groplay/modals/dynamic.html
/app/.venv/lib/python3.11/site-packages/groplay_django/templates/groplay/modals/dynamic.html
Toggle context {'False': False, 'None': None, 'True': True} {'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'modal': {'all_params': [], 'center': False, 'classes': 'carousel-modal', 'data_attrs': {'data-priority': '30'}, 'id': 'tutorial-modal', 'large': True, 'optional_params': '', 'required_params': '', 'scrollable': True, 'url': '/help/tutorial/'}}
groplay/preloader.html
/app/templates/groplay/preloader.html
Toggle context {'False': False, 'None': None, 'True': True} {'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'preloader': {'backdrop': True, 'framed': True, 'id': None, 'large': True, 'position': 'absolute', 'show': False, 'style': ''}}
groplay/preloader.html
/app/templates/groplay/preloader.html
Toggle context {'False': False, 'None': None, 'True': True} {'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>, 'preloader': {'backdrop': True, 'framed': True, 'id': 'preloader', 'large': True, 'position': 'fixed', 'show': False, 'style': 'z-index:4'}}

Context processors

django.template.context_processors.csrf
Toggle context {'csrf_token': <SimpleLazyObject: 'WxIyATBiQ9Xzf4nrJb5o4kYlxs1XICuUYgQF5c5JlIhML9ekgBAEfpJvo0nXXcyP'>}
django.template.context_processors.debug
Toggle context {}
django.template.context_processors.request
Toggle context {'request': <WSGIRequest: GET '/classes/1265/'>}
django.template.context_processors.static
Toggle context {'STATIC_URL': '/static/'}
django.contrib.auth.context_processors.auth
Toggle context {'user': <SimpleLazyObject: <User [27806] DEBUGTEACHER@debugschool.com>>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x718eed04c750>}
django.contrib.messages.context_processors.messages
Toggle context {'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x718eed870390>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}}
edulms.context_processors.edulms_context
Toggle context {'app_download_url': None, 'contact_us_form': <ContactUsForm bound=False, valid=False, fields=(category;email;message)>, 'email_change_form': None, 'header': {'admin_schools': [], 'floating_tutorial_url': '/help/floating-tutorial/redirect/2/', 'google_unassigned_classes_count': 0, 'is_webgl_compatible': True, 'last_active_class_id': 1265, 'ms_sub_notification_count': 0, 'pending_classes': [], 'school_classes': [{'pk': 1265, 'name': 'Class 0', 'school_name': 'DEBUGSCHOOL'}], 'user_name': 'DEBUGTEACHER@debugschool.com'}, 'http_scheme': 'https', 'is_production': False, 'js_runtime_context': {'activeSchoolClassId': 1265, 'appName': 'schools:classes', 'buildTime': '2025-03-11T13:51:37+01:00', 'collapseStatus': {}, 'environment': 'dev', 'floatingTutorialUrl': '/help/floating-tutorial/json/', 'isAuthenticated': True, 'language': 'en', 'lastLogin': datetime.datetime(2025, 4, 29, 7, 45, 12, 266206, tzinfo=<UTC>), 'path': '/classes/1265/', 'urls': {'createAnalyticsEvent': '/logs/analytics/create/', 'notifications': '/notifications/', 'ping': '/ping/', 'pollTimeout': '/poll-timeout/', 'setCollapseStatus': '/set-collapse-status/'}, 'version': '1.63.13', 'viewName': 'schools:classes:detail'}, 'recommend_likeliness_choices': [(1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')], 'show_app_download_banner': False, 'show_recommend_poll': False, 'show_skolon_button': False, 'static_strings': {'DJANGO_ENVIRONMENT': 'dev', 'EXTERNAL_URLS': {'android': 'https://play.google.com/store/apps/details?id=com.groplay.growplanet', 'chrome': 'https://www.google.com/chrome/', 'facebook': 'https://www.facebook.com/GrowPlanetEducation', 'firefox': 'https://www.mozilla.org/firefox/new/', 'instagram': 'https://www.instagram.com/growplaneteducation/', 'ios': 'https://apps.apple.com/app/grow-planet/id1449906854', 'skolon': 'https://app.skolon.com/library/app/2701', 'twitter': 'https://twitter.com/GrowPlanetEdu', 'youtube': 'https://www.youtube.com/channel/UCOGZzqRIArIt5Alr5430Dhg', 'growplanet': 'https://growplanet.se/en/'}, 'GROPLAY_EMAIL': 'growplanet@groplay.com', 'GROPLAY_PHONE_TRANSLATED': '+46 76 6499355', 'GROPLAY_PHONE': '+46766499355', 'ROOT_URL': 'https://dev.growplanet.groplay.com/'}, 'view_name': 'schools:classes:detail'}

Cache calls from 1 backend

Summary

Total calls Total time Cache hits Cache misses
0 0 ms 0 0

Commands

add get set get_or_set touch delete clear get_many set_many delete_many has_key incr decr incr_version decr_version
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Signals

Signal Receivers
class_prepared
connection_created
got_request_exception
m2m_changed invalidate_m2m, invalidate_m2m, invalidate_m2m, invalidate_m2m, invalidate_m2m, invalidate_m2m, invalidate_m2m, invalidate_m2m, invalidate_m2m, invalidate_m2m, invalidate_m2m, invalidate_m2m, invalidate_m2m, invalidate_m2m, invalidate_m2m, invalidate_m2m, invalidate_m2m, invalidate_m2m, invalidate_m2m, invalidate_m2m, invalidate_m2m, invalidate_m2m, invalidate_m2m, invalidate_m2m, invalidate_m2m, invalidate_m2m, set_show_first_class_tutorial, remove_pending_classes, teacher_class_notifications, teacher_pending_added, create_notifications_on_school_admin_added, delete_notifications_on_school_admin_removed
post_delete PolymorphicManagerFromAzureSchoolLicenseQuerySet._post_delete, PolymorphicManagerFromAzureClassLicenseQuerySet._post_delete, Manager._post_delete, ManagerFromSkolonLicenseQuerySet._post_delete, Manager._post_delete, ManagerFromSkolonLicenseQuerySet._post_delete, Manager._post_delete, Manager._post_delete, Manager._post_delete, Manager._post_delete, Manager._post_delete, MultilingualManager._post_delete, MultilingualManager._post_delete, Manager._post_delete, PolymorphicManagerFromEduInstLicenseQuerySet._post_delete, Manager._post_delete, PolymorphicManagerFromSmallGroupLicenseQuerySet._post_delete, Manager._post_delete, PolymorphicManagerFromSchoolLicenseQuerySet._post_delete, PolymorphicManagerFromClassLicenseQuerySet._post_delete, PolymorphicManagerFromLicenseQuerySet._post_delete, Manager._post_delete, ManagerFromCustomerQuerySet._post_delete, Manager._post_delete, MultilingualManager._post_delete, MultilingualManager._post_delete, MultilingualManager._post_delete, ManagerFromPhysicsBuildQuerySet._post_delete, Manager._post_delete, ManagerFromSchoolClassExamQuerySet._post_delete, ManagerFromVoxelDataQuerySet._post_delete, ManagerFromSolutionQuerySet._post_delete, Manager._post_delete, Manager._post_delete, MultilingualManager._post_delete, _ExerciseActivityManagerFromActivityQuerySet._post_delete, _GameActivityManagerFromActivityQuerySet._post_delete, MultilingualManagerFromActivityQuerySet._post_delete, MultilingualManager._post_delete, MultilingualManagerFromAreaQuerySet._post_delete, Manager._post_delete, MultilingualManagerFromExerciseRoomQuerySet._post_delete, Manager._post_delete, Manager._post_delete, _SchoolClassManagerFromSchoolClassQuerySet._post_delete, ManagerFromSchoolQuerySet._post_delete, Manager._post_delete, Manager._post_delete, UserManager._post_delete, BaseUserManagerFromConsumerQuerySet._post_delete, BaseUserManagerFromTeacherQuerySet._post_delete, Manager._post_delete, ManagerFromStudentQuerySet._post_delete, SuperUserManager._post_delete, CoworkerManager._post_delete, UserManager._post_delete, ManagerFromPlayerTokenQuerySet._post_delete, ManagerFromPlayerQuerySet._post_delete, ContentTypeManager._post_delete, MultilingualManager._post_delete, PolymorphicManagerFromNotificationQuerySet._post_delete, PolymorphicManagerFromNotificationQuerySet._post_delete, PolymorphicManagerFromNotificationQuerySet._post_delete, PolymorphicManagerFromNotificationQuerySet._post_delete, PolymorphicManagerFromNotificationQuerySet._post_delete, PolymorphicManagerFromNotificationQuerySet._post_delete, PolymorphicManagerFromNotificationQuerySet._post_delete, PolymorphicManagerFromNotificationQuerySet._post_delete, MultilingualManager._post_delete, Manager._post_delete, Manager._post_delete, Manager._post_delete, Manager._post_delete, ModelBase.update_changed, ModelBase.update_changed, ModelBase.update_changed, delete_player_on_teacher_delete, delete_notifications_on_class_deleted, regenerate_notifications_on_license_deleted
post_init ImageField.update_dimension_fields, ImageField.update_dimension_fields, ImageField.update_dimension_fields, ThumbnailImageField.update_dimension_fields, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init, delete_mt_init
post_migrate create_permissions, create_contenttypes
post_save PolymorphicManagerFromAzureSchoolLicenseQuerySet._post_save, PolymorphicManagerFromAzureClassLicenseQuerySet._post_save, Manager._post_save, ManagerFromSkolonLicenseQuerySet._post_save, Manager._post_save, ManagerFromSkolonLicenseQuerySet._post_save, Manager._post_save, Manager._post_save, Manager._post_save, Manager._post_save, Manager._post_save, MultilingualManager._post_save, MultilingualManager._post_save, Manager._post_save, PolymorphicManagerFromEduInstLicenseQuerySet._post_save, Manager._post_save, PolymorphicManagerFromSmallGroupLicenseQuerySet._post_save, Manager._post_save, PolymorphicManagerFromSchoolLicenseQuerySet._post_save, PolymorphicManagerFromClassLicenseQuerySet._post_save, PolymorphicManagerFromLicenseQuerySet._post_save, Manager._post_save, ManagerFromCustomerQuerySet._post_save, Manager._post_save, MultilingualManager._post_save, MultilingualManager._post_save, MultilingualManager._post_save, ManagerFromPhysicsBuildQuerySet._post_save, Manager._post_save, ManagerFromSchoolClassExamQuerySet._post_save, ManagerFromVoxelDataQuerySet._post_save, ManagerFromSolutionQuerySet._post_save, Manager._post_save, Manager._post_save, MultilingualManager._post_save, _ExerciseActivityManagerFromActivityQuerySet._post_save, _GameActivityManagerFromActivityQuerySet._post_save, MultilingualManagerFromActivityQuerySet._post_save, MultilingualManager._post_save, MultilingualManagerFromAreaQuerySet._post_save, Manager._post_save, MultilingualManagerFromExerciseRoomQuerySet._post_save, Manager._post_save, Manager._post_save, _SchoolClassManagerFromSchoolClassQuerySet._post_save, ManagerFromSchoolQuerySet._post_save, Manager._post_save, Manager._post_save, UserManager._post_save, BaseUserManagerFromConsumerQuerySet._post_save, BaseUserManagerFromTeacherQuerySet._post_save, Manager._post_save, ManagerFromStudentQuerySet._post_save, SuperUserManager._post_save, CoworkerManager._post_save, UserManager._post_save, ManagerFromPlayerTokenQuerySet._post_save, ManagerFromPlayerQuerySet._post_save, ContentTypeManager._post_save, MultilingualManager._post_save, PolymorphicManagerFromNotificationQuerySet._post_save, PolymorphicManagerFromNotificationQuerySet._post_save, PolymorphicManagerFromNotificationQuerySet._post_save, PolymorphicManagerFromNotificationQuerySet._post_save, PolymorphicManagerFromNotificationQuerySet._post_save, PolymorphicManagerFromNotificationQuerySet._post_save, PolymorphicManagerFromNotificationQuerySet._post_save, PolymorphicManagerFromNotificationQuerySet._post_save, MultilingualManager._post_save, Manager._post_save, Manager._post_save, Manager._post_save, Manager._post_save, verify_single_settings_object_active, ModelBase.update_changed, ModelBase.update_changed, ModelBase.update_changed, ModelBase.update_changed, invalidate_old_temporary_tokens, set_default_disabled_areas, create_notifications_on_class_created, regenerate_notifications_on_license_save
pre_delete ModelBase.changed, ModelBase.update_changed, delete_thumbnail_on_voxeldata_delete, delete_thumbnail_on_physicsbuild_delete
pre_init
pre_migrate inject_rename_contenttypes_operations
pre_save PolymorphicManagerFromAzureSchoolLicenseQuerySet._pre_save, PolymorphicManagerFromAzureClassLicenseQuerySet._pre_save, Manager._pre_save, ManagerFromSkolonLicenseQuerySet._pre_save, Manager._pre_save, ManagerFromSkolonLicenseQuerySet._pre_save, Manager._pre_save, Manager._pre_save, Manager._pre_save, Manager._pre_save, Manager._pre_save, MultilingualManager._pre_save, MultilingualManager._pre_save, Manager._pre_save, PolymorphicManagerFromEduInstLicenseQuerySet._pre_save, Manager._pre_save, PolymorphicManagerFromSmallGroupLicenseQuerySet._pre_save, Manager._pre_save, PolymorphicManagerFromSchoolLicenseQuerySet._pre_save, PolymorphicManagerFromClassLicenseQuerySet._pre_save, PolymorphicManagerFromLicenseQuerySet._pre_save, Manager._pre_save, ManagerFromCustomerQuerySet._pre_save, Manager._pre_save, MultilingualManager._pre_save, MultilingualManager._pre_save, MultilingualManager._pre_save, ManagerFromPhysicsBuildQuerySet._pre_save, Manager._pre_save, ManagerFromSchoolClassExamQuerySet._pre_save, ManagerFromVoxelDataQuerySet._pre_save, ManagerFromSolutionQuerySet._pre_save, Manager._pre_save, Manager._pre_save, MultilingualManager._pre_save, _ExerciseActivityManagerFromActivityQuerySet._pre_save, _GameActivityManagerFromActivityQuerySet._pre_save, MultilingualManagerFromActivityQuerySet._pre_save, MultilingualManager._pre_save, MultilingualManagerFromAreaQuerySet._pre_save, Manager._pre_save, MultilingualManagerFromExerciseRoomQuerySet._pre_save, Manager._pre_save, Manager._pre_save, _SchoolClassManagerFromSchoolClassQuerySet._pre_save, ManagerFromSchoolQuerySet._pre_save, Manager._pre_save, Manager._pre_save, UserManager._pre_save, BaseUserManagerFromConsumerQuerySet._pre_save, BaseUserManagerFromTeacherQuerySet._pre_save, Manager._pre_save, ManagerFromStudentQuerySet._pre_save, SuperUserManager._pre_save, CoworkerManager._pre_save, UserManager._pre_save, ManagerFromPlayerTokenQuerySet._pre_save, ManagerFromPlayerQuerySet._pre_save, ContentTypeManager._pre_save, MultilingualManager._pre_save, PolymorphicManagerFromNotificationQuerySet._pre_save, PolymorphicManagerFromNotificationQuerySet._pre_save, PolymorphicManagerFromNotificationQuerySet._pre_save, PolymorphicManagerFromNotificationQuerySet._pre_save, PolymorphicManagerFromNotificationQuerySet._pre_save, PolymorphicManagerFromNotificationQuerySet._pre_save, PolymorphicManagerFromNotificationQuerySet._pre_save, PolymorphicManagerFromNotificationQuerySet._pre_save, MultilingualManager._pre_save, Manager._pre_save, Manager._pre_save, Manager._pre_save, Manager._pre_save, ModelBase.changed, pending_notifications_on_teacher_is_active, update_notifications_on_class_moved, delete_thumbnail_on_voxeldata_update, delete_thumbnail_on_physicsbuild_update, update_expiration_reminders_on_end_date_change
request_finished close_old_connections, close_caches, reset_urlconf
request_started reset_queries, close_old_connections
setting_changed reset_cache, clear_cache_handlers, update_installed_apps, update_connections_time_zone, clear_routers_cache, reset_template_engines, clear_serializers_cache, language_changed, localize_settings_changed, file_storage_changed, complex_setting_changed, root_urlconf_changed, static_storage_changed, static_finders_changed, auth_password_validators_changed, user_model_swapped, reload_api_settings, <lambda>, update_toolbar_config, Settings.change_setting, reset_hashers, reload_oauth2_settings, ProfilerResultStorage._clear_cached_properties, clear_caches, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, CompressedManifestStaticFilesStorage._clear_cached_properties, DebugStaticFilesStorage._clear_cached_properties