diff --git a/config/settings/base.py b/config/settings/base.py
index 69230706c..517a98618 100644
--- a/config/settings/base.py
+++ b/config/settings/base.py
@@ -36,6 +36,7 @@
# APP CONFIGURATION
# ------------------------------------------------------------------------------
DJANGO_APPS = [
+ 'djangosecure',
# Default Django apps:
'django.contrib.auth',
'django.contrib.contenttypes',
@@ -56,7 +57,6 @@
'markdown_deux', # Required for Knowledgebase item formatting
'bootstrapform', # Required for nicer formatting of forms with the default templates
'helpdesk', # This is us!
- 'rangefilter',
'prettyjson',
#'storages',
]
@@ -92,26 +92,27 @@
'student_registration.dashboard', # custom dashboard app
'student_registration.winterization', # custom winterization app
'student_registration.backends', # custom storage app
+ 'student_registration.staffenroll',
+ 'student_registration.staffs',
]
# See: https://docs.djangoproject.com/en/dev/ref/settings/#installed-apps
INSTALLED_APPS = DJANGO_APPS + THIRD_PARTY_APPS + LOCAL_APPS
-# MIDDLEWARE CONFIGURATION
-# ------------------------------------------------------------------------------
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
+ 'student_registration.lockout_middleware.StudentLockoutMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
-# SECURITY CONFIGURATION
-X_FRAME_OPTIONS = 'DENY'
+# # SECURITY CONFIGURATION
+# X_FRAME_OPTIONS = 'DENY'
# MIGRATIONS CONFIGURATION
# ------------------------------------------------------------------------------
@@ -156,8 +157,18 @@
# ------------------------------------------------------------------------------
# See: https://docs.djangoproject.com/en/dev/ref/settings/#databases
DATABASES = {
- 'default': env.db('DATABASE_URL', default='postgres:///student_registration'),
+ 'default': env.db('DATABASE_URL', default='postgres:///Student_Registration'),
}
+# DATABASES = {
+# 'default': {
+# 'ENGINE': 'django.db.backends.postgresql_psycopg2',
+# 'NAME': 'Student_Registration',
+# 'USER': 'postgres',
+# 'PASSWORD': 'pg007',
+# 'HOST': 'localhost',
+# 'PORT': '5432',
+# }
+# }
DATABASES['default']['ATOMIC_REQUESTS'] = True
@@ -288,6 +299,9 @@
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
+ 'OPTIONS': {
+ 'min_length': 8,
+ }
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
@@ -295,6 +309,12 @@
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
+ {'NAME': 'student_registration.password_validators.NumberValidator',
+ 'OPTIONS': {
+ 'min_digits': 3, }},
+ {'NAME': 'student_registration.password_validators.UppercaseValidator', },
+ {'NAME': 'student_registration.password_validators.LowercaseValidator', },
+ {'NAME': 'student_registration.password_validators.SymbolValidator', },
]
# AUTHENTICATION CONFIGURATION
@@ -337,8 +357,8 @@
# django-compressor
# ------------------------------------------------------------------------------
-INSTALLED_APPS += ['compressor']
-STATICFILES_FINDERS += ['compressor.finders.CompressorFinder']
+# INSTALLED_APPS += ['compressor']
+# STATICFILES_FINDERS += ['compressor.finders.CompressorFinder']
# Location of root django.contrib.admin URL, use {% url 'admin:index' %}
ADMIN_URL = r'^admin/'
diff --git a/config/settings/local.py b/config/settings/local.py
index 2c371f0e2..678615e0a 100644
--- a/config/settings/local.py
+++ b/config/settings/local.py
@@ -1,11 +1,8 @@
# -*- coding: utf-8 -*-
"""
Local settings
-
- Run in Debug mode
-
- Use console backend for emails
-
- Add Django Debug Toolbar
- Add django-extensions as app
"""
@@ -26,9 +23,9 @@
# Mail settings
# ------------------------------------------------------------------------------
-EMAIL_PORT = 1025
-
-EMAIL_HOST = 'localhost'
+# EMAIL_PORT = 1025
+#
+# EMAIL_HOST = 'localhost'
EMAIL_BACKEND = env('DJANGO_EMAIL_BACKEND',
default='django.core.mail.backends.console.EmailBackend')
@@ -44,11 +41,35 @@
# django-debug-toolbar
# ------------------------------------------------------------------------------
-MIDDLEWARE += ['debug_toolbar.middleware.DebugToolbarMiddleware', ]
-INSTALLED_APPS += ['debug_toolbar', ]
+# MIDDLEWARE CONFIGURATION
+# ------------------------------------------------------------------------------
+
+MIDDLEWARE = MIDDLEWARE + ['debug_toolbar.middleware.DebugToolbarMiddleware',
+ 'student_registration.middleware.AutoLogout',
+ 'student_registration.cache_control_middleware.CacheControlMiddleware',
+ # 'student_registration.one_session.OneSessionPerUserMiddleware',
+ 'student_registration.hsts_middleware.HSTSMiddleware',
+ 'student_registration.xframe_middleware.XFrameMiddleware',
+ ]
+INSTALLED_APPS += ['debug_toolbar', 'student_registration.accounts', ]
INTERNAL_IPS = ['127.0.0.1', '10.0.2.2', ]
+# SECURITY CONFIGURATION
+# SECURE_HSTS_SECONDS = 60
+# SECURE_HSTS_INCLUDE_SUBDOMAINS = env.bool('DJANGO_SECURE_HSTS_INCLUDE_SUBDOMAINS', default=True)
+# SECURE_FRAME_DENY = env.bool("DJANGO_SECURE_FRAME_DENY", default=True)
+# SECURE_CONTENT_TYPE_NOSNIFF = env.bool('DJANGO_SECURE_CONTENT_TYPE_NOSNIFF', default=True)
+# SECURE_BROWSER_XSS_FILTER = True
+# SESSION_COOKIE_SECURE = True
+# SESSION_COOKIE_HTTPONLY = True
+# SECURE_SSL_REDIRECT = env.bool('DJANGO_SECURE_SSL_REDIRECT', default=True)
+# CSRF_COOKIE_SECURE = True
+# CSRF_COOKIE_HTTPONLY = True
+# SECURE_HSTS_PRELOAD = True
+# SECURE_REDIRECT_EXEMPT
+# SECURE_SSL_HOST
+# X_FRAME_OPTIONS = 'DENY'
import socket
import os
@@ -97,3 +118,7 @@
'level': 'INFO'
},
}
+
+SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer'
+
+AUTO_LOGOUT_DELAY = 1000 # equivalent to 20 minutes
diff --git a/config/settings/production.py b/config/settings/production.py
index 0aee8eaa8..8383f1e12 100644
--- a/config/settings/production.py
+++ b/config/settings/production.py
@@ -19,7 +19,7 @@
# ------------------------------------------------------------------------------
# See: https://docs.djangoproject.com/en/dev/ref/settings/#secret-key
# Raises ImproperlyConfigured exception if DJANGO_SECRET_KEY not in os.environ
-SECRET_KEY = env('DJANGO_SECRET_KEY')
+SECRET_KEY = env('DJANGO_SECRET_KEY', default='l^y44io8f!zr^#n(ui099rz+w2(p^ufz3j726-^6)7g2ijcp!k')
# This ensures that Django will be able to detect a secure connection
@@ -27,14 +27,24 @@
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
# raven sentry client
# See https://docs.sentry.io/clients/python/integrations/django/
-INSTALLED_APPS += ['raven.contrib.django.raven_compat', ]
+INSTALLED_APPS += ['raven.contrib.django.raven_compat','student_registration.accounts', ]
# Use Whitenoise to serve static files
# See: https://whitenoise.readthedocs.io/
WHITENOISE_MIDDLEWARE = ['whitenoise.middleware.WhiteNoiseMiddleware', ]
-MIDDLEWARE = WHITENOISE_MIDDLEWARE + MIDDLEWARE
+# MIDDLEWARE CONFIGURATION
+# ------------------------------------------------------------------------------
+
+
+EXTRA_MIDDLEWARE = ['student_registration.middleware.AutoLogout',
+ 'student_registration.cache_control_middleware.CacheControlMiddleware',
+ # 'student_registration.one_session.OneSessionPerUserMiddleware',
+ 'student_registration.hsts_middleware.HSTSMiddleware',
+ 'student_registration.xframe_middleware.XFrameMiddleware', ]
+MIDDLEWARE = WHITENOISE_MIDDLEWARE + MIDDLEWARE + EXTRA_MIDDLEWARE
RAVEN_MIDDLEWARE = ['raven.contrib.django.raven_compat.middleware.SentryResponseErrorIdMiddleware']
MIDDLEWARE = RAVEN_MIDDLEWARE + MIDDLEWARE
+
# opbeat integration
# See https://opbeat.com/languages/django/
# INSTALLED_APPS += ['opbeat.contrib.django', ]
@@ -53,17 +63,17 @@
# set this to 60 seconds and then to 518400 when you can prove it works
SECURE_HSTS_SECONDS = 60
-SECURE_HSTS_INCLUDE_SUBDOMAINS = env.bool(
- 'DJANGO_SECURE_HSTS_INCLUDE_SUBDOMAINS', default=True)
-SECURE_CONTENT_TYPE_NOSNIFF = env.bool(
- 'DJANGO_SECURE_CONTENT_TYPE_NOSNIFF', default=True)
+SECURE_HSTS_INCLUDE_SUBDOMAINS = env.bool('DJANGO_SECURE_HSTS_INCLUDE_SUBDOMAINS', default=True)
+SECURE_FRAME_DENY = env.bool("DJANGO_SECURE_FRAME_DENY", default=True)
+SECURE_CONTENT_TYPE_NOSNIFF = env.bool('DJANGO_SECURE_CONTENT_TYPE_NOSNIFF', default=True)
SECURE_BROWSER_XSS_FILTER = True
-SESSION_COOKIE_SECURE = True
SESSION_COOKIE_HTTPONLY = True
-SECURE_SSL_REDIRECT = env.bool('DJANGO_SECURE_SSL_REDIRECT', default=True)
+SECURE_SSL_REDIRECT = True
+SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
CSRF_COOKIE_HTTPONLY = True
X_FRAME_OPTIONS = 'DENY'
+SECURE_HSTS_PRELOAD = True
# SITE CONFIGURATION
# ------------------------------------------------------------------------------
@@ -108,9 +118,10 @@
# Anymail with Mailgun
INSTALLED_APPS += ['anymail', ]
+
ANYMAIL = {
- 'MAILGUN_API_KEY': env('DJANGO_MAILGUN_API_KEY'),
- 'MAILGUN_SENDER_DOMAIN': env('MAILGUN_SENDER_DOMAIN')
+ 'MAILGUN_API_KEY': env('DJANGO_MAILGUN_API_KEY', default=''),
+ 'MAILGUN_SENDER_DOMAIN': env('MAILGUN_SENDER_DOMAIN', default='')
}
EMAIL_BACKEND = 'anymail.backends.mailgun.MailgunBackend'
@@ -128,31 +139,46 @@
# Use the Heroku-style specification
# Raises ImproperlyConfigured exception if DATABASE_URL not in os.environ
-DATABASES['default'] = env.db('DATABASE_URL')
+DATABASES['default'] = env.db('DATABASE_URL', default='postgres:///student_registration')
if env.bool('DATABASE_SSL_ENABLED', default=False):
DATABASES['default']['OPTIONS'] = {'sslmode': 'require'}
# CACHING
# ------------------------------------------------------------------------------
+# CACHES = {
+# 'default': {
+# # 'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
+# 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
+# 'LOCATION': ''
+# }
+# }
-REDIS_LOCATION = '{0}/{1}'.format(env('REDIS_URL', default='redis://127.0.0.1:6379'), 0)
-# Heroku URL does not pass the DB number, so we parse it in
CACHES = {
'default': {
- 'BACKEND': 'django_redis.cache.RedisCache',
- 'LOCATION': REDIS_LOCATION,
- 'OPTIONS': {
- 'CLIENT_CLASS': 'django_redis.client.DefaultClient',
- 'IGNORE_EXCEPTIONS': True, # mimics memcache behavior.
- # http://niwinz.github.io/django-redis/latest/#_memcached_exceptions_behavior
- }
+ 'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
+ 'LOCATION': '/var/tmp/django_cache',
}
}
+# REDIS_LOCATION = '{0}/{1}'.format(env('REDIS_URL', default='redis://127.0.0.1:6379'), 0)
+# Heroku URL does not pass the DB number, so we parse it in
+# CACHES = {
+# 'default': {
+# 'BACKEND': 'django_redis.cache.RedisCache',
+# 'LOCATION': REDIS_LOCATION,
+# 'OPTIONS': {
+# 'CLIENT_CLASS': 'django_redis.client.DefaultClient',
+# 'IGNORE_EXCEPTIONS': True, # mimics memcache behavior.
+# # http://niwinz.github.io/django-redis/latest/#_memcached_exceptions_behavior
+# }
+# }
+# }
+
+INSTALLED_APPS += ['lockout', ]
# Sentry Configuration
-SENTRY_DSN = env('DJANGO_SENTRY_DSN')
+SENTRY_DSN = env('DJANGO_SENTRY_DSN', default='')
SENTRY_CLIENT = env('DJANGO_SENTRY_CLIENT', default='raven.contrib.django.raven_compat.DjangoClient')
LOGGING = {
'version': 1,
@@ -208,7 +234,20 @@
}
# Custom Admin URL, use {% url 'admin:index' %}
-ADMIN_URL = env('DJANGO_ADMIN_URL')
+ADMIN_URL = env('DJANGO_ADMIN_URL', default='admin')
+
+SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer'
+
+
+# Auto logout delay in minutes
+AUTO_LOGOUT_DELAY = 20 # equivalent to 20 minutes
+CSRF_USE_SESSIONS = True
+
+ACCOUNT_LOGIN_ATTEMPTS_LIMIT = 5
+ACCOUNT_LOGIN_ATTEMPTS_TIMEOUT = 600
+CSRF_COOKIE_AGE = None
# Your production stuff: Below this line define 3rd party library settings
# ------------------------------------------------------------------------------
+
+MESSAGE_STORAGE = 'django.contrib.messages.storage.session.SessionStorage'
diff --git a/config/settings/test.py b/config/settings/test.py
index 12b844925..ad5231be8 100644
--- a/config/settings/test.py
+++ b/config/settings/test.py
@@ -1,8 +1,8 @@
-'''
+"""
Test settings
- Used to run tests fast on the continuous integration server and locally
-'''
+"""
from .base import * # noqa
@@ -21,8 +21,8 @@
# Mail settings
# ------------------------------------------------------------------------------
-EMAIL_HOST = 'localhost'
-EMAIL_PORT = 1025
+# EMAIL_HOST = 'localhost'
+# EMAIL_PORT = 1025
# In-memory email backend stores messages in django.core.mail.outbox
# for unit testing purposes
@@ -60,11 +60,11 @@
], ],
]
-class DisableMigrations(object):
- def __contains__(self, item):
- return True
-
- def __getitem__(self, item):
- return 'notmigrations'
-
-MIGRATION_MODULES = DisableMigrations()
+# class DisableMigrations(object):
+# def __contains__(self, item):
+# return True
+#
+# def __getitem__(self, item):
+# return 'notmigrations'
+#
+# MIGRATION_MODULES = DisableMigrations()
diff --git a/config/urls.py b/config/urls.py
index e0e455fb1..e6687ccc0 100644
--- a/config/urls.py
+++ b/config/urls.py
@@ -31,6 +31,7 @@
)
from student_registration.clm.views import (
BLNViewSet,
+ ABLNViewSet,
RSViewSet,
CBECEViewSet,
CLMStudentViewSet,
@@ -45,6 +46,8 @@
LoggingStudentMoveViewSet,
LoggingProgramMoveViewSet,
EnrollmentUpdateViewSet,
+ StudentDropoutViewSet,
+ StudentJustifyViewSet,
)
from student_registration.outreach.views import HouseHoldViewSet, ChildViewSet
from student_registration.backends.views import NotificationViewSet, ExporterViewSet
@@ -56,6 +59,8 @@
api.register(r'import-grading', EnrollmentGradingImportViewSet, base_name='import_gradings')
api.register(r'update-enrollment', EnrollmentUpdateViewSet, base_name='update_enrollments')
api.register(r'logging-student-move', LoggingStudentMoveViewSet, base_name='logging_student_move')
+api.register(r'student-dropout-enrollment', StudentDropoutViewSet, base_name='student_dropout_enrollment')
+api.register(r'student-justify-enrollment', StudentJustifyViewSet, base_name='student_justify_enrollment')
api.register(r'logging-student-program-move', LoggingProgramMoveViewSet, base_name='logging_student_ptogram_move')
api.register(r'attendances', AttendanceViewSet, base_name='attendances')
api.register(r'absentees', AbsenteeViewSet, base_name='absentees')
@@ -69,6 +74,7 @@
api.register(r'classrooms', ClassRoomViewSet, base_name='classrooms')
api.register(r'sections', SectionViewSet, base_name='sections')
api.register(r'clm-bln', BLNViewSet, base_name='clm-bln')
+api.register(r'clm-abln', ABLNViewSet, base_name='clm-abln')
api.register(r'clm-rs', RSViewSet, base_name='clm-rs')
api.register(r'clm-cbece', CBECEViewSet, base_name='clm-cbece')
api.register(r'clm-students', CLMStudentViewSet, base_name='clm-students')
@@ -97,6 +103,8 @@
url(r'^clm/', include('student_registration.clm.urls', namespace='clm')),
url(r'^outreach/', include('student_registration.outreach.urls', namespace='outreach')),
url(r'^attendances/', include('student_registration.attendances.urls', namespace='attendances')),
+ url(r'^staffenroll/', include('student_registration.staffenroll.urls', namespace='staffenroll')),
+ url(r'^staffs/', include('student_registration.staffs.urls', namespace='staffs')),
url(r'^enrollments/', include('student_registration.enrollments.urls', namespace='enrollments')),
url(r'^schools/', include('student_registration.schools.urls', namespace='schools')),
url(r'^locations/', include('student_registration.locations.urls', namespace='locations')),
diff --git a/config/wsgi.py b/config/wsgi.py
index ac00fbc35..e1e804a4b 100644
--- a/config/wsgi.py
+++ b/config/wsgi.py
@@ -1,17 +1,14 @@
"""
WSGI config for Student Registration project.
-
This module contains the WSGI application used by Django's development server
and any production WSGI deployments. It should expose a module-level variable
named ``application``. Django's ``runserver`` and ``runfcgi`` commands discover
this application via the ``WSGI_APPLICATION`` setting.
-
Usually you will have the standard Django WSGI application here, but it also
might make sense to replace the whole Django WSGI application with a custom one
that later delegates to the Django one. For example, you could introduce WSGI
middleware here, or combine a Django application with an application of another
framework.
-
"""
import os
import sys
diff --git a/gulpfile.js b/gulpfile.js
index b9358f611..4ef1b0a0a 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -1,105 +1,105 @@
-
-////////////////////////////////
- //Setup//
-////////////////////////////////
-
-// Plugins
-var gulp = require('gulp'),
- pjson = require('./package.json'),
- gutil = require('gulp-util'),
- sass = require('gulp-sass'),
- autoprefixer = require('gulp-autoprefixer'),
- cssnano = require('gulp-cssnano'),
- rename = require('gulp-rename'),
- del = require('del'),
- plumber = require('gulp-plumber'),
- pixrem = require('gulp-pixrem'),
- uglify = require('gulp-uglify'),
- imagemin = require('gulp-imagemin'),
- spawn = require('child_process').spawn,
- runSequence = require('run-sequence'),
- browserSync = require('browser-sync').create(),
- reload = browserSync.reload;
-
-
-// Relative paths function
-var pathsConfig = function (appName) {
- this.app = "./" + (appName || pjson.name);
-
- return {
- app: this.app,
- templates: this.app + '/templates',
- css: this.app + '/static/css',
- sass: this.app + '/static/sass',
- fonts: this.app + '/static/fonts',
- images: this.app + '/static/images',
- js: this.app + '/static/js',
- }
-};
-
-var paths = pathsConfig();
-
-////////////////////////////////
- //Tasks//
-////////////////////////////////
-
-// Styles autoprefixing and minification
-gulp.task('styles', function() {
- return gulp.src(paths.sass + '/*.scss')
- .pipe(sass().on('error', sass.logError))
- .pipe(plumber()) // Checks for errors
- .pipe(autoprefixer({browsers: ['last 2 versions']})) // Adds vendor prefixes
- .pipe(pixrem()) // add fallbacks for rem units
- .pipe(gulp.dest(paths.css))
- .pipe(rename({ suffix: '.min' }))
- .pipe(cssnano()) // Minifies the result
- .pipe(gulp.dest(paths.css));
-});
-
-// Javascript minification
-gulp.task('scripts', function() {
- return gulp.src(paths.js + '/project.js')
- .pipe(plumber()) // Checks for errors
- .pipe(uglify()) // Minifies the js
- .pipe(rename({ suffix: '.min' }))
- .pipe(gulp.dest(paths.js));
-});
-
-// Image compression
-gulp.task('imgCompression', function(){
- return gulp.src(paths.images + '/*')
- .pipe(imagemin()) // Compresses PNG, JPEG, GIF and SVG images
- .pipe(gulp.dest(paths.images))
-});
-
-// Run django server
-gulp.task('runServer', function(cb) {
- var cmd = spawn('python', ['manage.py', 'runserver'], {stdio: 'inherit'});
- cmd.on('close', function(code) {
- console.log('runServer exited with code ' + code);
- cb(code);
- });
-});
-
-// Browser sync server for live reload
-gulp.task('browserSync', function() {
- browserSync.init(
- [paths.css + "/*.css", paths.js + "*.js", paths.templates + '*.html'], {
- proxy: "localhost:8000"
- });
-});
-
-// Watch
-gulp.task('watch', function() {
-
- gulp.watch(paths.sass + '/*.scss', ['styles']);
- gulp.watch(paths.js + '/*.js', ['scripts']).on("change", reload);
- gulp.watch(paths.images + '/*', ['imgCompression']);
- gulp.watch(paths.templates + '/**/*.html').on("change", reload);
-
-});
-
-// Default task
-gulp.task('default', function() {
- runSequence(['styles', 'scripts', 'imgCompression'], 'runServer', 'browserSync', 'watch');
-});
+//
+//////////////////////////////////
+// //Setup//
+//////////////////////////////////
+//
+//// Plugins
+//var gulp = require('gulp'),
+// pjson = require('./package.json'),
+// gutil = require('gulp-util'),
+// sass = require('gulp-sass'),
+// autoprefixer = require('gulp-autoprefixer'),
+// cssnano = require('gulp-cssnano'),
+// rename = require('gulp-rename'),
+// del = require('del'),
+// plumber = require('gulp-plumber'),
+// pixrem = require('gulp-pixrem'),
+// uglify = require('gulp-uglify'),
+// imagemin = require('gulp-imagemin'),
+// spawn = require('child_process').spawn,
+// runSequence = require('run-sequence'),
+// browserSync = require('browser-sync').create(),
+// reload = browserSync.reload;
+//
+//
+//// Relative paths function
+//var pathsConfig = function (appName) {
+// this.app = "./" + (appName || pjson.name);
+//
+// return {
+// app: this.app,
+// templates: this.app + '/templates',
+// css: this.app + '/static/css',
+// sass: this.app + '/static/sass',
+// fonts: this.app + '/static/fonts',
+// images: this.app + '/static/images',
+// js: this.app + '/static/js',
+// }
+//};
+//
+//var paths = pathsConfig();
+//
+//////////////////////////////////
+// //Tasks//
+//////////////////////////////////
+//
+//// Styles autoprefixing and minification
+//gulp.task('styles', function() {
+// return gulp.src(paths.sass + '/*.scss')
+// .pipe(sass().on('error', sass.logError))
+// .pipe(plumber()) // Checks for errors
+// .pipe(autoprefixer({browsers: ['last 2 versions']})) // Adds vendor prefixes
+// .pipe(pixrem()) // add fallbacks for rem units
+// .pipe(gulp.dest(paths.css))
+// .pipe(rename({ suffix: '.min' }))
+// .pipe(cssnano()) // Minifies the result
+// .pipe(gulp.dest(paths.css));
+//});
+//
+//// Javascript minification
+//gulp.task('scripts', function() {
+// return gulp.src(paths.js + '/project.js')
+// .pipe(plumber()) // Checks for errors
+// .pipe(uglify()) // Minifies the js
+// .pipe(rename({ suffix: '.min' }))
+// .pipe(gulp.dest(paths.js));
+//});
+//
+//// Image compression
+//gulp.task('imgCompression', function(){
+// return gulp.src(paths.images + '/*')
+// .pipe(imagemin()) // Compresses PNG, JPEG, GIF and SVG images
+// .pipe(gulp.dest(paths.images))
+//});
+//
+//// Run django server
+//gulp.task('runServer', function(cb) {
+// var cmd = spawn('python', ['manage.py', 'runserver'], {stdio: 'inherit'});
+// cmd.on('close', function(code) {
+// console.log('runServer exited with code ' + code);
+// cb(code);
+// });
+//});
+//
+//// Browser sync server for live reload
+//gulp.task('browserSync', function() {
+// browserSync.init(
+// [paths.css + "/*.css", paths.js + "*.js", paths.templates + '*.html'], {
+// proxy: "localhost:8000"
+// });
+//});
+//
+//// Watch
+//gulp.task('watch', function() {
+//
+// gulp.watch(paths.sass + '/*.scss', ['styles']);
+// gulp.watch(paths.js + '/*.js', ['scripts']).on("change", reload);
+// gulp.watch(paths.images + '/*', ['imgCompression']);
+// gulp.watch(paths.templates + '/**/*.html').on("change", reload);
+//
+//});
+//
+//// Default task
+//gulp.task('default', function() {
+// runSequence(['styles', 'scripts', 'imgCompression'], 'runServer', 'browserSync', 'watch');
+//});
diff --git a/requirements/base.txt b/requirements/base.txt
index c1e4af37f..9d62511d8 100644
--- a/requirements/base.txt
+++ b/requirements/base.txt
@@ -5,7 +5,7 @@
wheel==0.29.0
# Bleeding edge Django
-django==1.10.7 # pyup: >=1.10,<1.11
+django==1.11.23 # pyup: >=1.10,<1.11
# Configuration
django-environ==0.4.3
@@ -29,7 +29,7 @@ argon2-cffi==16.3.0
django-allauth==0.32.0
# Python-PostgreSQL Database Adapter
-psycopg2==2.7.3
+psycopg2==2.7.3.2
# Unicode slugification
awesome-slugify==1.6.5
@@ -53,13 +53,13 @@ django-compressor==2.1.1
django-datatables-view==1.13.0
django-mptt==0.8.7
django-makemessages-xgettext==0.1.1
-djangorestframework==3.6.3
+djangorestframework==3.9.1
markdown==2.6.6
-django-filter==0.13.0
+django-filter==1.1.0
django-rest-swagger==2.1.2
drf-nested-routers==0.11.1
xlsxwriter==0.9.2
-tablib==0.11.2
+tablib==0.11.5
django-import-export==0.5.0
django-suit==0.2.21
django-autocomplete-light==3.2.1
@@ -72,5 +72,7 @@ django-tables2==1.10.0
#azure-storage==0.36.0
azure-storage==0.20.0
openpyxl==2.4.9
-django-prettyjson==0.3.3
+django-prettyjson==0.4.1
unicodecsv==0.14.1
+django-lockout==0.1.1
+djangosecure==0.0.11
diff --git a/requirements/local.txt b/requirements/local.txt
index 77f03ddb1..2b4f55345 100644
--- a/requirements/local.txt
+++ b/requirements/local.txt
@@ -6,7 +6,7 @@ django-coverage-plugin==1.5.0
Sphinx==1.6.3
django-extensions==1.8.1
-Werkzeug==0.12.2
+#Werkzeug==0.12.2
django-test-plus==1.0.18
factory-boy==2.8.1
diff --git a/requirements/production.txt b/requirements/production.txt
index 6f98cc9f6..0ca76057e 100644
--- a/requirements/production.txt
+++ b/requirements/production.txt
@@ -17,7 +17,7 @@ django-storages==1.6.5
# Email backends for Mailgun, Postmark, SendGrid and more
# -------------------------------------------------------
-django-anymail==0.11.1
+django-anymail==1.2.1
# Raven is the Sentry client
# --------------------------
diff --git a/runtests.sh b/runtests.sh
index 5259eb514..0b16aaf44 100755
--- a/runtests.sh
+++ b/runtests.sh
@@ -8,8 +8,8 @@ pip install -r /code/requirements/test.txt
# python manage.py makemigrations --dry-run | grep 'No changes detected' || (echo 'There are changes which require migrations.' && exit 1)
# Run unittests and coverage report
-coverage erase
-coverage run manage.py test --noinput --keepdb --settings="$DJANGO_SETTINGS_MODULE" "$@"
+# coverage erase
+# coverage run manage.py test --noinput --keepdb --settings="$DJANGO_SETTINGS_MODULE" "$@"
#coverage html -d reports
# Check code style
diff --git a/student_registration/accounts/__init__.py b/student_registration/accounts/__init__.py
new file mode 100755
index 000000000..ad2e42b81
--- /dev/null
+++ b/student_registration/accounts/__init__.py
@@ -0,0 +1 @@
+default_app_config = 'student_registration.accounts.apps.AccountsConfig'
diff --git a/student_registration/accounts/apps.py b/student_registration/accounts/apps.py
new file mode 100755
index 000000000..21c9767e4
--- /dev/null
+++ b/student_registration/accounts/apps.py
@@ -0,0 +1,8 @@
+from django.apps import AppConfig
+
+class AccountsConfig(AppConfig):
+ name = 'student_registration.accounts'
+ # This function is the only new thing in this file
+ # it just imports the signal file when the app is ready
+ def ready(self):
+ import student_registration.accounts.signals
diff --git a/student_registration/accounts/migrations/0001_initial.py b/student_registration/accounts/migrations/0001_initial.py
new file mode 100755
index 000000000..0b325acc3
--- /dev/null
+++ b/student_registration/accounts/migrations/0001_initial.py
@@ -0,0 +1,27 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-02-01 03:39
+from __future__ import unicode_literals
+
+from django.conf import settings
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='LoggedInUser',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('session_key', models.CharField(blank=True, max_length=32, null=True)),
+ ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='logged_in_user', to=settings.AUTH_USER_MODEL)),
+ ],
+ ),
+ ]
diff --git a/student_registration/accounts/migrations/__init__.py b/student_registration/accounts/migrations/__init__.py
new file mode 100755
index 000000000..e69de29bb
diff --git a/student_registration/accounts/models.py b/student_registration/accounts/models.py
new file mode 100755
index 000000000..7c0f525dd
--- /dev/null
+++ b/student_registration/accounts/models.py
@@ -0,0 +1,13 @@
+from django.db import models
+from django.conf import settings
+
+User = settings.AUTH_USER_MODEL
+
+# Model to store the list of logged in users
+class LoggedInUser(models.Model):
+ user = models.OneToOneField(User, related_name='logged_in_user')
+ # Session keys are 32 characters long
+ session_key = models.CharField(max_length=32, null=True, blank=True)
+
+ def __str__(self):
+ return self.user.username
diff --git a/student_registration/accounts/signals.py b/student_registration/accounts/signals.py
new file mode 100755
index 000000000..23c5d176a
--- /dev/null
+++ b/student_registration/accounts/signals.py
@@ -0,0 +1,14 @@
+# Signals that fires when a user logs in and logs out
+
+from django.contrib.auth import user_logged_in, user_logged_out
+from django.dispatch import receiver
+from student_registration.accounts.models import LoggedInUser
+
+@receiver(user_logged_in)
+def on_user_logged_in(sender, request, **kwargs):
+ LoggedInUser.objects.get_or_create(user=kwargs.get('user'))
+
+
+@receiver(user_logged_out)
+def on_user_logged_out(sender, **kwargs):
+ LoggedInUser.objects.filter(user=kwargs.get('user')).delete()
diff --git a/student_registration/alp/filters.py b/student_registration/alp/filters.py
index ad71cff85..bfb6a5a3f 100644
--- a/student_registration/alp/filters.py
+++ b/student_registration/alp/filters.py
@@ -19,7 +19,7 @@ class Meta:
}
-class PreTestFilter(FilterSet):
+class PreTest_allFilter(FilterSet):
level = ModelChoiceFilter(queryset=EducationLevel.objects.all(), empty_label=_('Entrance test'))
school = ModelChoiceFilter(queryset=School.objects.all(), empty_label=_('School'))
@@ -35,6 +35,22 @@ class Meta:
}
+class PreTestFilter(FilterSet):
+ level = ModelChoiceFilter(queryset=EducationLevel.objects.all(), empty_label=_('Entrance test'))
+ #school = ModelChoiceFilter(queryset=School.objects.all(), empty_label=_('School'))
+
+ class Meta:
+ model = Outreach
+ fields = {
+ # 'school': ['exact'],
+ 'level': ['exact'],
+ 'pre_test_room': ['exact'],
+ 'student__first_name': ['contains'],
+ 'student__father_name': ['contains'],
+ 'student__last_name': ['contains'],
+ }
+
+
class PostTestFilter(FilterSet):
registered_in_level = ModelChoiceFilter(queryset=EducationLevel.objects.all(), empty_label=_('Current Level'))
school = ModelChoiceFilter(queryset=School.objects.all(), empty_label=_('School'))
diff --git a/student_registration/alp/forms.py b/student_registration/alp/forms.py
index f3160e92c..c8d2d44c6 100644
--- a/student_registration/alp/forms.py
+++ b/student_registration/alp/forms.py
@@ -9,9 +9,10 @@
from crispy_forms.helper import FormHelper
from crispy_forms.bootstrap import FormActions
from crispy_forms.layout import Layout, Fieldset, Button, Submit, Div, Field, HTML
-
+from student_registration.enrollments.models import DuplicateStd
from .models import Outreach, ALPRound
from .serializers import OutreachSerializer, OutreachSmallSerializer
+from student_registration.alp.templatetags.util_tags import has_group
from student_registration.students.models import (
Person,
Student,
@@ -23,7 +24,8 @@
EducationLevel,
ClassLevel,
Section,
- ClassRoom
+ ClassRoom,
+ EducationYear,
)
YES_NO_CHOICE = ((1, _("Yes")), (0, _("No")))
@@ -321,7 +323,7 @@ class Meta:
class Media:
js = (
- 'js/jquery-1.12.3.min.js',
+ 'js/jquery-3.3.1.min.js',
'js/jquery-ui-1.12.1.js',
'js/validator.js',
'js/registrations.js',
@@ -332,8 +334,8 @@ class PreTestForm(forms.ModelForm):
school = forms.ModelChoiceField(
label=_('School'),
- queryset=School.objects.all(), widget=forms.Select,
- required=True, to_field_name='id',
+ queryset=School.objects.all(), widget=forms.HiddenInput,
+ required=False, to_field_name='id',
)
student_first_name = forms.CharField(
label=_("First name"),
@@ -387,6 +389,37 @@ class PreTestForm(forms.ModelForm):
widget=forms.NumberInput(attrs=({'maxlength': 4})),
min_value=0, required=True
)
+ student_mother_fullname = forms.CharField(
+ label=_("Mother fullname"),
+ widget=forms.TextInput, required=False
+ )
+ student_phone_prefix = forms.CharField(
+ label=_("Phone prefix"),
+ widget=forms.TextInput(attrs=({'maxlength': 2})), required=False
+ )
+ student_phone = forms.CharField(
+ label=_("Phone number"),
+ widget=forms.TextInput(attrs=({'maxlength': 6})), required=False
+ )
+ student_nationality = forms.ModelChoiceField(
+ label=_("Nationality"),
+ queryset=Nationality.objects.all(), widget=forms.Select,
+ required=True, to_field_name='id',
+ )
+ student_mother_nationality = forms.ModelChoiceField(
+ label=_("Mother nationality"),
+ queryset=Nationality.objects.all(), widget=forms.Select,
+ required=True, to_field_name='id',
+ )
+ student_id_type = forms.ModelChoiceField(
+ label=_("ID type"),
+ queryset=IDType.objects.all(), widget=forms.Select,
+ required=True, to_field_name='id'
+ )
+ student_id_number = forms.CharField(
+ label=_("ID number - Cell 14"),
+ widget=forms.TextInput, required=True
+ )
def __init__(self, *args, **kwargs):
super(PreTestForm, self).__init__(*args, **kwargs)
@@ -399,18 +432,265 @@ def __init__(self, *args, **kwargs):
self.helper.form_action = reverse('alp:pre_test_edit', kwargs={'pk': instance.id})
else:
self.helper.form_action = reverse('alp:pre_test_add')
+
self.helper.layout = Layout(
+
Fieldset(
None,
Div(
HTML('
' + _('Entrance test') + '
')
),
Div(
+ #HTML('1'),
+ #Div('school', css_class='col-md-4'),
HTML('1'),
- Div('school', css_class='col-md-4'),
- HTML('2'),
Div('level', css_class='col-md-3'),
+ HTML('2'),
+ Div('pre_test_room', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Basic Data') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('student_first_name', css_class='col-md-3'),
+ HTML('2'),
+ Div('student_father_name', css_class='col-md-3'),
+ HTML('3'),
+ Div('student_last_name', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('4'),
+ Div('student_sex', css_class='col-md-3'),
+ HTML('5'),
+ Div('student_nationality', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('6'),
+ Div('student_phone_prefix', css_class='col-md-3'),
+ Div('student_phone', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('7'),
+ Div('student_id_type', css_class='col-md-3'),
+ HTML('8'),
+ Div('student_id_number', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('9'),
+ Div('student_mother_fullname', css_class='col-md-3'),
+ HTML('10'),
+ Div('student_mother_nationality', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Grades') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('exam_result_arabic', css_class='col-md-3'),
+ HTML('2'),
+ Div('exam_language', css_class='col-md-3'),
HTML('3'),
+ Div('exam_result_language', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('4'),
+ Div('exam_result_math', css_class='col-md-3'),
+ HTML('5'),
+ Div('exam_result_science', css_class='col-md-3'),
+ HTML('6'),
+ Div('pre_comment', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ FormActions(
+ Submit('save', _('Save')),
+ HTML('' + _('Back to list') + ''),
+ )
+ )
+
+ def save(self, instance=None, request=None):
+ if instance:
+ serializer = OutreachSmallSerializer(instance, data=request.POST)
+ if serializer.is_valid():
+ serializer.update(validated_data=serializer.validated_data, instance=instance)
+ instance.modified_by = request.user
+ instance.calculate_pre_result()
+ instance.save()
+ messages.success(request, _('Your data has been sent successfully to the server'))
+ else:
+ messages.warning(request, serializer.errors)
+ else:
+ serializer = OutreachSmallSerializer(data=request.POST)
+ if serializer.is_valid():
+ instance = serializer.create(validated_data=serializer.validated_data)
+ instance.school = request.user.school
+ instance.owner = request.user
+ instance.alp_round = ALPRound.objects.get(current_pre_test=True)
+ instance.calculate_pre_result()
+ instance.save()
+ messages.success(request, _('Your data has been sent successfully to the server'))
+ else:
+ messages.warning(request, serializer.errors)
+
+ class Meta:
+ model = Outreach
+ fields = (
+ 'student_first_name',
+ 'student_father_name',
+ 'student_last_name',
+ 'student_sex',
+ 'exam_result_arabic',
+ 'exam_language',
+ 'exam_result_language',
+ 'exam_result_math',
+ 'exam_result_science',
+ 'level',
+ 'school',
+ 'pre_test_room',
+ 'pre_comment'
+ )
+ initial_fields = fields
+
+ class Media:
+ js = (
+ 'js/jquery-3.3.1.min.js',
+ 'js/jquery-ui-1.12.1.js',
+ 'js/validator.js',
+ 'js/registrations.js',
+ )
+
+
+class PreTest_allForm(forms.ModelForm):
+
+ school = forms.ModelChoiceField(
+ label=_('School'),
+ queryset=School.objects.all(), widget=forms.Select,
+ required=False, to_field_name='id',
+ )
+ student_first_name = forms.CharField(
+ label=_("First name"),
+ widget=forms.TextInput, required=True
+ )
+ student_father_name = forms.CharField(
+ label=_("Father name"),
+ widget=forms.TextInput, required=True
+ )
+ student_last_name = forms.CharField(
+ label=_("Last name"),
+ widget=forms.TextInput, required=True
+ )
+ student_sex = forms.ChoiceField(
+ label=_("Sex"),
+ widget=forms.Select, required=True,
+ choices=GENDER
+ )
+ level = forms.ModelChoiceField(
+ label=_('Entrance test'),
+ queryset=EducationLevel.objects.all(), widget=forms.Select,
+ required=True, to_field_name='id',
+ )
+ pre_test_room = forms.ChoiceField(
+ label=_('Pre-test room'),
+ widget=forms.Select, required=True,
+ choices=ROOMS
+ )
+ exam_result_arabic = forms.FloatField(
+ label=_('Arabic'),
+ widget=forms.NumberInput(attrs=({'maxlength': 4})),
+ min_value=0, required=True
+ )
+ exam_language = forms.ChoiceField(
+ label=_('Exam language'),
+ widget=forms.Select, required=True,
+ choices=EXAM_LANGUAGES
+ )
+ exam_result_language = forms.FloatField(
+ label=_('Foreign Language'),
+ widget=forms.NumberInput(attrs=({'maxlength': 4})),
+ min_value=0, required=True
+ )
+ exam_result_math = forms.FloatField(
+ label=_('Math'),
+ widget=forms.NumberInput(attrs=({'maxlength': 4})),
+ min_value=0, required=True
+ )
+ exam_result_science = forms.FloatField(
+ label=_('Science'),
+ widget=forms.NumberInput(attrs=({'maxlength': 4})),
+ min_value=0, required=True
+ )
+ student_mother_fullname = forms.CharField(
+ label=_("Mother fullname"),
+ widget=forms.TextInput, required=False
+ )
+ student_phone_prefix = forms.CharField(
+ label=_("Phone prefix"),
+ widget=forms.TextInput(attrs=({'maxlength': 2})), required=False
+ )
+ student_phone = forms.CharField(
+ label=_("Phone number"),
+ widget=forms.TextInput(attrs=({'maxlength': 6})), required=False
+ )
+ student_nationality = forms.ModelChoiceField(
+ label=_("Nationality"),
+ queryset=Nationality.objects.all(), widget=forms.Select,
+ required=True, to_field_name='id',
+ )
+ student_mother_nationality = forms.ModelChoiceField(
+ label=_("Mother nationality"),
+ queryset=Nationality.objects.all(), widget=forms.Select,
+ required=True, to_field_name='id',
+ )
+ student_id_type = forms.ModelChoiceField(
+ label=_("ID type"),
+ queryset=IDType.objects.all(), widget=forms.Select,
+ required=True, to_field_name='id'
+ )
+ student_id_number = forms.CharField(
+ label=_("ID number - Cell 14"),
+ widget=forms.TextInput, required=True
+ )
+
+ def __init__(self, *args, **kwargs):
+ super(PreTest_allForm, self).__init__(*args, **kwargs)
+
+ instance = kwargs['instance'] if 'instance' in kwargs else ''
+
+ self.helper = FormHelper()
+ self.helper.form_show_labels = True
+ if instance:
+ self.helper.form_action = reverse('alp:pre_test_edit', kwargs={'pk': instance.id})
+ else:
+ self.helper.form_action = reverse('alp:pre_test_add_all')
+ self.helper.layout = Layout(
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Entrance test') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('school', css_class='col-md-4'),
+ HTML('1'),
+ Div('level', css_class='col-md-3'),
+ HTML('2'),
Div('pre_test_room', css_class='col-md-3'),
css_class='row',
),
@@ -433,6 +713,28 @@ def __init__(self, *args, **kwargs):
Div(
HTML('4'),
Div('student_sex', css_class='col-md-3'),
+ HTML('5'),
+ Div('student_nationality', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('6'),
+ Div('student_phone_prefix', css_class='col-md-3'),
+ Div('student_phone', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('7'),
+ Div('student_id_type', css_class='col-md-3'),
+ HTML('8'),
+ Div('student_id_number', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('9'),
+ Div('student_mother_fullname', css_class='col-md-3'),
+ HTML('10'),
+ Div('student_mother_nationality', css_class='col-md-3'),
css_class='row',
),
css_class='bd-callout bd-callout-warning'
@@ -512,7 +814,7 @@ class Meta:
class Media:
js = (
- 'js/jquery-1.12.3.min.js',
+ 'js/jquery-3.3.1.min.js',
'js/jquery-ui-1.12.1.js',
'js/validator.js',
'js/registrations.js',
@@ -895,6 +1197,63 @@ def save(self, instance=None, request=None):
else:
messages.warning(request, serializer.errors)
+ if instance.id:
+ from django.db.models import Q
+ st = Student.objects.get(id=instance.student_id)
+ if st.id:
+ q_students = Student.objects.filter(
+ Q(first_name=st.first_name, father_name=st.father_name, last_name=st.last_name,
+ mother_fullname=st.mother_fullname, birthday_year=st.birthday_year, birthday_month=
+ st.birthday_month, birthday_day=st.birthday_day)
+ | Q(first_name=st.first_name, father_name=st.father_name, last_name=st.last_name,
+ mother_fullname=st.mother_fullname, id_number=st.id_number)
+ | Q(first_name=st.first_name, father_name=st.father_name, last_name=st.last_name,
+ id_number=st.id_number, birthday_year=st.birthday_year,
+ birthday_month=st.birthday_month,
+ birthday_day=st.birthday_day)
+ | Q(first_name=st.first_name, father_name=st.father_name, last_name=st.last_name,
+ id_number=st.id_number, birthday_year=st.birthday_year)).exclude(id=st.id)
+ Q_ALP = Outreach.objects.filter(alp_round=ALPRound.objects.get(current_round=True), student__in=q_students)
+ if Q_ALP:
+ try:
+ DuplicateStd.objects.get(outreach_id=instance.id, is_solved=False)
+ except DuplicateStd.DoesNotExist:
+ # SAVING THE CURRENT ROW
+ q_coordinator = School.objects.get(id=instance.school_id)
+ model_duplicatestd = DuplicateStd.objects.create(
+ outreach_id=instance.id,
+ is_solved=False,
+ school_type='ALP',
+ owner=request.user,
+ coordinator_id=q_coordinator.coordinator_id,
+ Level_id=instance.level_id,
+ section_id=instance.section_id,
+ classroom_id=instance.classroom_id,
+ education_year=EducationYear.objects.get(current_year=True),
+ alp_round=ALPRound.objects.get(current_round=True),
+ )
+ model_duplicatestd.save()
+ # SAVING THE SAME AS IT
+ for q_alp in Q_ALP:
+ try:
+ DuplicateStd.objects.get(outreach_id=q_alp.id, is_solved=False)
+ except DuplicateStd.DoesNotExist:
+ # SAVING THE CURRENT ROW
+ q_coordinator = School.objects.get(id=q_alp.school_id)
+ model_duplicatestd = DuplicateStd.objects.create(
+ outreach_id=q_alp.id,
+ is_solved=False,
+ school_type='ALP',
+ owner=q_alp.owner,
+ coordinator_id=q_coordinator.coordinator_id,
+ Level_id=q_alp.last_education_level_id,
+ section_id=q_alp.section_id,
+ classroom_id=q_alp.classroom_id,
+ education_year=EducationYear.objects.get(current_year=True),
+ alp_round=ALPRound.objects.get(current_round=True),
+ )
+ model_duplicatestd.save()
+
class Meta:
model = Outreach
fields = (
@@ -933,7 +1292,7 @@ class Meta:
class Media:
js = (
- 'js/jquery-1.12.3.min.js',
+ 'js/jquery-3.3.1.min.js',
'js/jquery-ui-1.12.1.js',
'js/validator.js',
'js/registrations.js',
@@ -1054,7 +1413,7 @@ class Meta:
class Media:
js = (
- 'js/jquery-1.12.3.min.js',
+ 'js/jquery-3.3.1.min.js',
'js/jquery-ui-1.12.1.js',
'js/registrations.js',
)
diff --git a/student_registration/alp/migrations/0052_auto_20190928_0838.py b/student_registration/alp/migrations/0052_auto_20190928_0838.py
new file mode 100644
index 000000000..50254f0d5
--- /dev/null
+++ b/student_registration/alp/migrations/0052_auto_20190928_0838.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-09-28 05:38
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('alp', '0051_auto_20180413_1223'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='alpround',
+ name='round_end_date',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0646\u0647\u0627\u064a\u0629 \u0627\u0644\u062c\u0648\u0644\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='alpround',
+ name='round_start_date',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0628\u062f\u0621 \u0627\u0644\u062c\u0648\u0644\u0629'),
+ ),
+ ]
diff --git a/student_registration/alp/migrations/0053_auto_20191008_1151.py b/student_registration/alp/migrations/0053_auto_20191008_1151.py
new file mode 100644
index 000000000..3b7bdc197
--- /dev/null
+++ b/student_registration/alp/migrations/0053_auto_20191008_1151.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-10-08 08:51
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('alp', '0052_auto_20190928_0838'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='alpround',
+ name='round_end_date',
+ field=models.DateField(blank=True, null=True, verbose_name='Round end date'),
+ ),
+ migrations.AlterField(
+ model_name='alpround',
+ name='round_start_date',
+ field=models.DateField(blank=True, null=True, verbose_name='Round start date'),
+ ),
+ ]
diff --git a/student_registration/alp/models.py b/student_registration/alp/models.py
index 168e29d85..05a0ec389 100644
--- a/student_registration/alp/models.py
+++ b/student_registration/alp/models.py
@@ -457,15 +457,32 @@ def student_mother_fullname(self):
@property
def exam_total(self):
total = 0
- # if self.exam_result_arabic:
- # total += self.exam_result_arabic
- if self.exam_result_language:
- total += self.exam_result_language
- if self.exam_result_math:
- total += self.exam_result_math
- if self.exam_result_science:
- total += self.exam_result_science
- return total
+ if self.level:
+ Education_Level = EducationLevel.objects.filter(name=self.level)
+ for education_level in Education_Level:
+ if education_level.new_calculation:
+ if education_level.with_arabic:
+ if self.exam_result_arabic:
+ total += self.exam_result_arabic
+ if education_level.with_science:
+ if self.exam_result_science:
+ total += self.exam_result_science
+ if education_level.with_language:
+ if self.exam_result_language:
+ total += self.exam_result_language
+ if education_level.with_math:
+ if self.exam_result_math:
+ total += self.exam_result_math
+ return total
+ else:
+ if self.exam_result_language:
+ total += self.exam_result_language
+ if self.exam_result_math:
+ total += self.exam_result_math
+ if self.exam_result_science:
+ total += self.exam_result_science
+ return total
+
@property
def pretest_total(self):
diff --git a/student_registration/alp/templatetags/util_tags.py b/student_registration/alp/templatetags/util_tags.py
index 9d690b321..5f8d7559d 100644
--- a/student_registration/alp/templatetags/util_tags.py
+++ b/student_registration/alp/templatetags/util_tags.py
@@ -324,3 +324,15 @@ def get_item_by_key(dictionary, level, age):
@register.filter
def get_item(dictionary, key):
return dictionary.get(key)
+
+
+@register.filter
+def is_allowed_create(programme):
+ from student_registration.clm.utils import is_allowed_create
+ return is_allowed_create(programme)
+
+
+@register.filter
+def is_allowed_edit(programme):
+ from student_registration.clm.utils import is_allowed_edit
+ return is_allowed_edit(programme)
diff --git a/student_registration/alp/urls.py b/student_registration/alp/urls.py
index 09285b920..d9d9340b4 100644
--- a/student_registration/alp/urls.py
+++ b/student_registration/alp/urls.py
@@ -26,11 +26,21 @@
view=views.PreTestView.as_view(),
name='pre_test'
),
+ url(
+ regex=r'^pre-test-all/$',
+ view=views.PreTest_allView.as_view(),
+ name='pre_test_all'
+ ),
url(
regex=r'^pre-test-add/$',
view=views.PreTestAddView.as_view(),
name='pre_test_add'
),
+ url(
+ regex=r'^pre-test-add-all/$',
+ view=views.PreTestAdd_allView.as_view(),
+ name='pre_test_add_all'
+ ),
url(
regex=r'^pre-test-edit/(?P[\w.@+-]+)/$',
view=views.PreTestEditView.as_view(),
diff --git a/student_registration/alp/utils.py b/student_registration/alp/utils.py
index 77772f321..effba82e0 100644
--- a/student_registration/alp/utils.py
+++ b/student_registration/alp/utils.py
@@ -28,9 +28,30 @@ def refer_to_level(
def assign_to_level(level, exam_total):
from student_registration.schools.models import ALPAssignmentMatrix
+ from student_registration.schools.models import EducationLevel
try:
- result = ALPAssignmentMatrix.objects.get(level=level, range_start__gt=exam_total, range_end__lte=exam_total)
- return result.refer_to
+ Education_Level = EducationLevel.objects.filter(name=level)
+ for education_level in Education_Level:
+ if education_level.new_calculation:
+ alp_matrix = ALPAssignmentMatrix.objects.filter(level=level, matrix_type='N')
+ for matrix in alp_matrix:
+ if exam_total == 0:
+ if matrix.range_start == 0:
+ return matrix.refer_to
+ break
+ else:
+ if ((exam_total > matrix.range_start*education_level.coefficient_score
+ * education_level.note* education_level.sum_subjects/100)
+ and (exam_total <= matrix.range_end *
+ education_level.coefficient_score *
+ education_level.note * education_level.sum_subjects/100)):
+ return matrix.refer_to
+ break
+
+ else:
+ result = ALPAssignmentMatrix.objects.get(level=level, range_start__gt=exam_total,
+ range_end__lte=exam_total)
+ return result.refer_to
except ALPAssignmentMatrix.DoesNotExist:
return None
diff --git a/student_registration/alp/views.py b/student_registration/alp/views.py
index 9a5d80643..b3c6b00c6 100644
--- a/student_registration/alp/views.py
+++ b/student_registration/alp/views.py
@@ -17,10 +17,10 @@
from django_tables2.export.views import ExportMixin
from .models import Outreach, ALPRound
-from .forms import RegistrationForm, PreTestGradingForm, PostTestGradingForm, OutreachForm, PreTestForm
+from .forms import RegistrationForm, PreTestGradingForm, PostTestGradingForm, OutreachForm, PreTestForm, PreTest_allForm
from .serializers import OutreachSerializer, GeneralSerializer, OutreachSmallSerializer, GradingSerializer
from .tables import BootstrapTable, OutreachTable, PreTestTable, PostTestTable, SchoolTable
-from .filters import OutreachFilter, PreTestFilter, PostTestFilter, SchoolFilter
+from .filters import OutreachFilter, PreTestFilter, PostTestFilter, SchoolFilter, PreTest_allFilter
from student_registration.outreach.models import Child
from student_registration.outreach.serializers import ChildSerializer
from student_registration.users.utils import force_default_language
@@ -224,7 +224,7 @@ def get_queryset(self):
return Outreach.objects.filter(alp_round=alp_round, school=self.request.user.school_id)
-class PreTestView(LoginRequiredMixin,
+class PreTest_allView(LoginRequiredMixin,
GroupRequiredMixin,
FilterView,
ExportMixin,
@@ -237,7 +237,7 @@ class PreTestView(LoginRequiredMixin,
template_name = 'alp/pre_test.html'
table = BootstrapTable(Outreach.objects.all(), order_by='id')
- filterset_class = PreTestFilter
+ filterset_class = PreTest_allFilter
def get_queryset(self):
force_default_language(self.request)
@@ -245,6 +245,26 @@ def get_queryset(self):
return Outreach.objects.filter(alp_round=alp_round)
+class PreTestView(LoginRequiredMixin,
+ GroupRequiredMixin,
+ FilterView,
+ ExportMixin,
+ SingleTableView,
+ RequestConfig):
+
+ group_required = [u"TEST_MANAGER", u"CERD"]
+ table_class = PreTestTable
+ model = Outreach
+ template_name = 'alp/pre_test.html'
+ table = BootstrapTable(Outreach.objects.all(), order_by='id')
+ filterset_class = PreTestFilter
+
+ def get_queryset(self):
+ force_default_language(self.request)
+ alp_round = ALPRound.objects.get(current_pre_test=True)
+ return Outreach.objects.filter(alp_round=alp_round, school_id=self.request.user.school)
+
+
class PreTestAddView(LoginRequiredMixin,
GroupRequiredMixin,
FormView):
@@ -271,6 +291,32 @@ def form_valid(self, form):
return super(PreTestAddView, self).form_valid(form)
+class PreTestAdd_allView(LoginRequiredMixin,
+ GroupRequiredMixin,
+ FormView):
+
+ template_name = 'bootstrap4/common_form.html'
+ form_class = PreTest_allForm
+ success_url = '/alp/pre-test/'
+ group_required = [u"TEST_MANAGER", u"CERD"]
+
+ def get_success_url(self):
+ if self.request.POST.get('save_add_another', None):
+ return '/alp/pre-test-add-all/'
+ return self.success_url
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(PreTestAdd_allView, self).get_context_data(**kwargs)
+
+ def form_valid(self, form):
+ form.save(request=self.request)
+ return super(PreTestAdd_allView, self).form_valid(form)
+
+
class PreTestEditView(LoginRequiredMixin,
GroupRequiredMixin,
FormView):
@@ -290,10 +336,20 @@ def get_context_data(self, **kwargs):
def get_form(self, form_class=None):
instance = Outreach.objects.get(id=self.kwargs['pk'])
if self.request.method == "POST":
- return PreTestForm(self.request.POST, instance=instance)
+
+ if has_group(self.request.user, 'ALP_PRE_SCHL_ALL'):
+ return PreTest_allForm(self.request.POST, instance=instance)
+ else:
+ return PreTestForm(self.request.POST, instance=instance)
else:
data = OutreachSmallSerializer(instance).data
- return PreTestForm(data, instance=instance)
+ data['student_nationality'] = data['student_nationality_id']
+ data['student_mother_nationality'] = data['student_mother_nationality_id']
+ data['student_id_type'] = data['student_id_type_id']
+ if has_group(self.request.user, 'ALP_PRE_SCHL_ALL'):
+ return PreTest_allForm(data, instance=instance)
+ else:
+ return PreTestForm(data, instance=instance)
def form_valid(self, form):
instance = Outreach.objects.get(id=self.kwargs['pk'])
diff --git a/student_registration/attendances/admin.py b/student_registration/attendances/admin.py
index d7fe67a5e..b88370bc1 100644
--- a/student_registration/attendances/admin.py
+++ b/student_registration/attendances/admin.py
@@ -1,14 +1,13 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
-
from django.db import models
from django.contrib import admin
from import_export.admin import ImportExportModelAdmin
-from rangefilter.filter import DateRangeFilter, DateTimeRangeFilter
+# from rangefilter.filter import DateRangeFilter, DateTimeRangeFilter
from django.utils.translation import ugettext as _
-
+from student_registration.attendances.forms import AttendanceDtdAdminForm
from import_export.admin import ExportMixin
-from import_export import resources, fields, widgets
+from import_export import resources
from django.contrib.postgres.fields import JSONField
from prettyjson import PrettyJSONWidget
@@ -25,6 +24,8 @@
BySchoolByDay,
Absentee,
AttendanceSyncLog,
+ AttendanceDt,
+ Student,
)
@@ -303,16 +304,16 @@ def queryset(self, request, queryset):
class AbsenteeResource(resources.ModelResource):
- governorate = fields.Field(
- column_name='governorate',
- attribute='school',
- widget=widgets.ForeignKeyWidget(School, 'location_parent_name')
- )
- district = fields.Field(
- column_name='district',
- attribute='school',
- widget=widgets.ForeignKeyWidget(School, 'location_name')
- )
+ # governorate = fields.Field(
+ # column_name='governorate',
+ # attribute='school',
+ # widget=widgets.ForeignKeyWidget(School, 'location_parent_name')
+ # )
+ # district = fields.Field(
+ # column_name='district',
+ # attribute='school',
+ # widget=widgets.ForeignKeyWidget(School, 'location_name')
+ # )
class Meta:
model = Absentee
@@ -358,6 +359,55 @@ class Meta:
)
+class AttendanceDtResource(resources.ModelResource):
+ class Meta:
+ model = AttendanceDt
+ fields = (
+ 'school__location',
+ 'school__number',
+ 'school__name',
+ 'levelname',
+ 'classroom_id',
+ 'classlevel_name',
+ 'section_id',
+ 'student__first_name',
+ 'student__father_name',
+ 'student__last_name',
+ 'student__mother_fullname',
+ 'student__birthday_day',
+ 'student__birthday_month',
+ 'student__birthday_year',
+ 'student__id_number',
+ 'student__number',
+ 'student__sex',
+ 'attendance_date',
+ 'is_present',
+ )
+
+
+class AttendanceDtAdmin(ExportMixin, admin.ModelAdmin):
+ resource_class = AttendanceDtResource
+ list_display = (
+ 'school',
+ 'levelname',
+ 'classlevel',
+ 'section',
+ 'student',
+ 'attendance_date',
+ 'is_present',
+ )
+ list_filter = (
+ 'is_present',
+ 'attendance_date',
+ 'school_id',
+ 'classroom_id',
+ 'section',
+ SchoolTypeFilter,
+ LocationFilter,
+ GovernorateFilter,
+ )
+
+
class AbsenteeAdmin(ExportMixin, admin.ModelAdmin):
resource_class = AbsenteeResource
list_display = (
@@ -605,3 +655,4 @@ def get_export_formats(self):
admin.site.register(Absentee, AbsenteeAdmin)
admin.site.register(AttendedDays, AttendedDaysAdmin)
admin.site.register(AttendanceByStudent, AttendanceByStudentAdmin)
+admin.site.register(AttendanceDt, AttendanceDtAdmin)
diff --git a/student_registration/attendances/forms.py b/student_registration/attendances/forms.py
index e69de29bb..eac5aa440 100644
--- a/student_registration/attendances/forms.py
+++ b/student_registration/attendances/forms.py
@@ -0,0 +1,9 @@
+from django import forms
+from student_registration.attendances.models import AttendanceDt
+
+
+class AttendanceDtdAdminForm(forms.ModelForm):
+
+ class Meta:
+ model = AttendanceDt
+ fields = '__all__'
diff --git a/student_registration/attendances/migrations/0034_auto_20190528_2250.py b/student_registration/attendances/migrations/0034_auto_20190528_2250.py
new file mode 100644
index 000000000..e7ce9f2ce
--- /dev/null
+++ b/student_registration/attendances/migrations/0034_auto_20190528_2250.py
@@ -0,0 +1,37 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-05-28 19:50
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('students', '0042_auto_20171201_1630'),
+ ('schools', '0037_auto_20190328_1416'),
+ ('attendances', '0033_auto_20180329_0935'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='AttendanceDt',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('is_present', models.BooleanField(default=False)),
+ ('attendance_date', models.DateField(blank=True, db_index=True, null=True)),
+ ('levelname', models.CharField(blank=True, default=None, max_length=100, null=True)),
+ ('attendance', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='attendances', to='attendances.Attendance')),
+ ('classlevel', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='schools.EducationLevel')),
+ ('classroom', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='schools.ClassRoom')),
+ ('school', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='schools.School')),
+ ('section', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='schools.Section')),
+ ('student', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='students.Student')),
+ ],
+ ),
+ migrations.AlterIndexTogether(
+ name='attendancedt',
+ index_together=set([('attendance_date', 'school')]),
+ ),
+ ]
diff --git a/student_registration/attendances/models.py b/student_registration/attendances/models.py
index 4c7cddfdb..bc86552f1 100644
--- a/student_registration/attendances/models.py
+++ b/student_registration/attendances/models.py
@@ -226,6 +226,42 @@ def student_number(self):
return self.student.number
+class AttendanceDt(models.Model):
+ attendance = models.ForeignKey(
+ Attendance,
+ blank=True, null=True,
+ related_name='attendances',
+ )
+ school = models.ForeignKey(
+ School,
+ blank=False, null=True,
+ )
+ classroom = models.ForeignKey(
+ ClassRoom,
+ blank=True, null=True,
+ )
+ classlevel = models.ForeignKey(
+ EducationLevel,
+ blank=True, null=True,
+ )
+ section = models.ForeignKey(
+ Section,
+ blank=True, null=True,
+ )
+ student = models.ForeignKey(
+ Student,
+ blank=False, null=True,
+ )
+ is_present = models.BooleanField(default=False)
+ attendance_date = models.DateField(blank=True, null=True, db_index=True)
+ levelname = models.CharField(max_length=100, blank=True, null=True, default=None)
+
+ class Meta:
+ index_together = (
+ ('attendance_date', 'school'),
+ )
+
+
class AttendanceSyncLog(models.Model):
school = models.ForeignKey(School)
diff --git a/student_registration/attendances/tasks.py b/student_registration/attendances/tasks.py
index c8d15e45e..3c274b5a2 100644
--- a/student_registration/attendances/tasks.py
+++ b/student_registration/attendances/tasks.py
@@ -3,6 +3,7 @@
from datetime import date
from student_registration.taskapp.celery import app
+import requests as req
@app.task
@@ -107,8 +108,27 @@ def find_attendances_gap_grouped(days):
@app.task
def calculate_last_attendance_date():
from .models import Absentee
+ from student_registration.schools.models import EducationYear
- queryset = Absentee.objects.all()
+ current_year = EducationYear.objects.get(current_year=True)
+ queryset = Absentee.objects.filter(education_year_id=current_year)
+ #queryset = Absentee.objects.filter(school_id=123)
+
+ for line in queryset:
+ registry = line.student.current_secondshift_registration()
+ if not registry:
+ continue
+ registry.update(last_attendance_date=line.last_attendance_date,
+ last_absent_date=line.last_absent_date)
+
+
+def geo_calculate_last_attendance_date(from_school, to_school):
+ from .models import Absentee
+ from student_registration.schools.models import EducationYear
+
+ #current_year = EducationYear.objects.get(current_year=True)
+ queryset = Absentee.objects.all().order_by('school__number')#education_year_id=current_year
+ queryset = queryset.filter(school__number__gte=from_school, school__number__lte=to_school)
for line in queryset:
registry = line.student.current_secondshift_registration()
@@ -151,11 +171,11 @@ def reset_absentees():
@app.task
def calculate_attendances_by_student(from_date=None, to_date=None):
from .utils import calculate_absentees
- from .models import Attendance, Absentee
+ from .models import Attendance
queryset = Attendance.objects.exclude(close_reason__isnull=False)\
.exclude(students__isnull=True).order_by('attendance_date')
- # queryset = queryset.filter(school__number='340')
+ #queryset = queryset.filter(school__id='123')
# if not from_date:
# Absentee.objects.all().delete()
@@ -190,3 +210,58 @@ def split_attendance(school_type='2nd-shift'):
queryset.update(education_year=education_year)
queryset.update(school_type=school_type)
+
+
+def geo_calculate_attendances_per_day(from_school, to_school, from_date, to_date, txt_std):
+ from .models import Attendance, Student
+ from .utils import add_attendance
+
+ queryset = Attendance.objects.exclude(close_reason__isnull=False).exclude(students__isnull=True)
+ queryset = queryset.filter(attendance_date__gte=from_date, attendance_date__lte=to_date,
+ school__number__gte=from_school, school__number__lte=to_school).\
+ order_by('attendance_date', 'school__number')
+ std_id = list()
+ if txt_std:
+ std = Student.objects.filter(number=txt_std)
+ for st in std:
+ std_id.append(st.id)
+ for line in queryset:
+ if not line.students:
+ continue
+ for level_section in line.students:
+ attendances = line.students[level_section]
+ students = attendances['students']
+ if std_id:
+ for student_in in students:
+ for st in std_id:
+ if str(st) == str(student_in['student_id']):
+ add_attendance(attendance=line, students=students, std_id=str(st))
+ else:
+ add_attendance(attendance=line, students=students, std_id=txt_std)
+
+
+def geo_calculate_attendances_by_student(from_school, to_school, from_date, to_date):
+ from .utils import calculate_absentees
+ from .models import Attendance
+ from student_registration.schools.models import EducationYear
+
+ # current_year = EducationYear.objects.get(current_year=True)
+ queryset = Attendance.objects.exclude(close_reason__isnull=False)\
+ .exclude(students__isnull=True).order_by('school__number', 'attendance_date')
+ # queryset = queryset.filter(education_year_id=current_year)
+ if from_date:
+ queryset = queryset.filter(attendance_date__gte=from_date)
+ if to_date:
+ queryset = queryset.filter(attendance_date__lte=to_date)
+ if from_school:
+ queryset = queryset.filter(school__number__gte=from_school)
+ if to_school:
+ queryset = queryset.filter(school__number__lte=to_school)
+
+ for line in queryset:
+ if not line.students:
+ continue
+ for level_section in line.students:
+ attendances = line.students[level_section]
+ students = attendances['students']
+ calculate_absentees(attendance=line, students=students)
diff --git a/student_registration/attendances/utils.py b/student_registration/attendances/utils.py
index 45fffe137..dd6bdd5a3 100644
--- a/student_registration/attendances/utils.py
+++ b/student_registration/attendances/utils.py
@@ -94,6 +94,106 @@ def find_attendances(governorate=None, student_id=None, from_date=None, to_date=
return data
+def fill_attendancedt(attendance, students):
+ from .models import AttendanceDt, EducationYear
+ from student_registration.enrollments.models import Enrollment
+ for student in students:
+ attendance_dt = AttendanceDt.objects.filter(attendance_date=attendance.attendance_date,
+ student_id=student['student_id'])
+ v_count_attendancedt = AttendanceDt.objects.filter(attendance_date=attendance.attendance_date,
+ student_id=student['student_id']).count()
+ if v_count_attendancedt == 0:
+ attendance_dt = AttendanceDt.objects.create(
+ student_id=student['student_id'],
+ attendance_date=attendance.attendance_date,
+ is_present=student['status'],
+ school_id=attendance.school_id,
+ section_id=student['section'],
+ classlevel_id=student['level'],
+ attendance_id=attendance.id,
+ levelname=student['level_name']
+ )
+ attendance_dt.save()
+ else:
+ attendance_dt.update(is_present=student['status'])
+ current_year = EducationYear.objects.get(current_year=True)
+ if student['status'] == 'True':
+ try:
+ Enr = Enrollment.objects.filter(education_year=current_year, school_id=attendance.school_id,
+ student_id=student['student_id'], section_id=student['section'],
+ classroom_id=student['level'])
+ for enr in Enr:
+ if not enr.last_attendance_date:
+ enr.last_attendance_date = attendance.attendance_date
+ enr.nb_consecutiveabsences = 0
+ enr.save()
+ else:
+ if attendance.attendance_date > enr.last_attendance_date:
+ enr.last_attendance_date = attendance.attendance_date
+ enr.nb_consecutiveabsences = 0
+ enr.save()
+ except Enrollment.DoesNotExist:
+ enr = ''
+ else:
+ try:
+ Enr = Enrollment.objects.filter(education_year=current_year, school_id=attendance.school_id,
+ student_id=student['student_id'], section_id=student['section'],
+ classroom_id=student['level'])
+ for enr in Enr:
+ if not enr.last_absent_date:
+ enr.last_absent_date = attendance.attendance_date
+ enr.save()
+ else:
+ if attendance.attendance_date > enr.last_absent_date:
+ enr.last_absent_date = attendance.attendance_date
+ if enr.nb_consecutiveabsences:
+ enr.nb_consecutiveabsences += 1
+ else:
+ enr.nb_consecutiveabsences = 1
+ enr.save()
+ except Enrollment.DoesNotExist:
+ enr = ''
+
+
+def add_attendance(attendance, students, std_id):
+ from .models import AttendanceDt
+
+ for student in students:
+ if std_id != "":
+ if std_id == student['student_id']:
+ try:
+ AttendanceDt.objects.get(student_id=std_id, attendance_date=attendance.attendance_date)
+ except AttendanceDt.DoesNotExist:
+ attendance_dt = AttendanceDt.objects.create(
+ student_id=student['student_id'],
+ attendance_date=attendance.attendance_date,
+ is_present=student['status'],
+ school_id=attendance.school_id,
+ section_id=student['section'],
+ classlevel_id=student['level'],
+ classroom_id=attendance.classroom_id,
+ attendance_id=attendance.id,
+ levelname=student['level_name'],
+ )
+ attendance_dt.save()
+ else:
+ try:
+ AttendanceDt.objects.get(student_id=student['student_id'], attendance_date=attendance.attendance_date)
+ except AttendanceDt.DoesNotExist:
+ attendance_dt = AttendanceDt.objects.create(
+ student_id=student['student_id'],
+ attendance_date=attendance.attendance_date,
+ is_present=student['status'],
+ school_id=attendance.school_id,
+ section_id=student['section'],
+ classlevel_id=student['level'],
+ classroom_id=attendance.classroom_id,
+ attendance_id=attendance.id,
+ levelname=student['level_name'],
+ )
+ attendance_dt.save()
+
+
def calculate_absentees(attendance, students):
from .models import Absentee
diff --git a/student_registration/attendances/views.py b/student_registration/attendances/views.py
index ea1216aa0..61b554fa7 100644
--- a/student_registration/attendances/views.py
+++ b/student_registration/attendances/views.py
@@ -27,7 +27,7 @@
from student_registration.alp.models import Outreach, ALPRound
from student_registration.backends.tasks import export_attendance
from student_registration.users.utils import force_default_language
-from .utils import find_attendances, calculate_absentees
+from .utils import find_attendances, fill_attendancedt #calculate_absentees
from .models import Attendance, Absentee
from .serializers import AttendanceSerializer, AbsenteeSerializer, AttendanceExportSerializer
@@ -93,6 +93,8 @@ def update(self, request, *args, **kwargs):
elif level_section:
instance.students[level_section] = data[level_section]
instance.save()
+ if instance.students:
+ fill_attendancedt(instance, data[level_section]['students'])
# calculate_absentees(instance, data[level_section]['students'])
return JsonResponse({'status': status.HTTP_200_OK, 'data': instance.id})
@@ -132,7 +134,6 @@ class AttendanceView(LoginRequiredMixin,
model = Attendance
template_name = 'attendances/school_day.html'
group_required = [u"ATTENDANCE"]
-
def get_context_data(self, **kwargs):
force_default_language(self.request)
level = 0
@@ -178,7 +179,8 @@ def get_context_data(self, **kwargs):
# education_year = EducationYear.objects.get(current_year=True)
queryset = Enrollment.objects.exclude(last_moved_date__lt=selected_date,
- moved=True).filter(school_id=school, education_year__current_year=True)
+ moved=True).filter(school_id=school, education_year__current_year=True,
+ dropout_status=False)
# queryset = Enrollment.objects.exclude(moved=True).filter(school_id=school, education_year=education_year)
registrations = queryset.filter(
classroom__isnull=False,
diff --git a/student_registration/backends/gistfile.py b/student_registration/backends/gistfile.py
new file mode 100644
index 000000000..98ab7607a
--- /dev/null
+++ b/student_registration/backends/gistfile.py
@@ -0,0 +1,76 @@
+import csv, codecs, cStringIO
+
+from django.http import HttpResponse
+
+# also include UnicodeWriter from the Python docs http://docs.python.org/library/csv.html
+
+
+class UTF8Recoder:
+ """
+ Iterator that reads an encoded stream and reencodes the input to UTF-8
+ """
+ def __init__(self, f, encoding):
+ self.reader = codecs.getreader(encoding)(f)
+
+ def __iter__(self):
+ return self
+
+ def next(self):
+ return self.reader.next().encode("utf-8")
+
+
+class UnicodeWriter:
+ """
+ A CSV writer which will write rows to CSV file "f",
+ which is encoded in the given encoding.
+ """
+
+ def __init__(self, f, dialect=csv.excel, encoding="utf-8", **kwds):
+ # Redirect output to a queue
+ self.queue = cStringIO.StringIO()
+ self.writer = csv.writer(self.queue, dialect=dialect, **kwds)
+ self.stream = f
+ self.encoder = codecs.getincrementalencoder(encoding)()
+
+ def writerow(self, row):
+ self.writer.writerow([s.encode("utf-8") for s in row])
+ data = self.queue.getvalue()
+ data = data.decode("utf-8")
+ data = self.encoder.encode(data)
+ self.stream.write(data)
+ self.queue.truncate(0)
+
+ def writerows(self, rows):
+ for row in rows:
+ self.writerow(row)
+
+
+class ExportModel(object):
+
+ @staticmethod
+ def as_csv(meta):
+
+ with open(meta['file'], 'w+') as f:
+ writer = UnicodeWriter(f, meta['fields'], encoding='utf-8')
+ writer.writerow(meta['header'])
+ for obj in meta['queryset']:
+ if isinstance(obj, dict):
+ row = [unicode(obj[field]) for field in meta['fields']]
+ # row = [obj[field] for field in meta['fields']]
+ else:
+ row = [unicode(getattr(obj, field)) for field in meta['fields']]
+ # row = [getattr(obj, field) for field in meta['fields']]
+ writer.writerow(row)
+ path = f.name
+ return path
+
+
+def get_model_as_csv_file_response(meta, content_type, filename):
+ """
+ Call this function from your model admin
+ """
+ with open(ExportModel.as_csv(meta), 'r') as f:
+ response = HttpResponse(f.read(), content_type=content_type)
+ # response['Content-Disposition'] = 'attachment; filename=Extraction.csv;'
+ response['Content-Disposition'] = 'attachment; filename=%s;' % filename
+ return response
diff --git a/student_registration/backends/tasks.py b/student_registration/backends/tasks.py
index 96f7e757d..e997618c8 100644
--- a/student_registration/backends/tasks.py
+++ b/student_registration/backends/tasks.py
@@ -15,12 +15,15 @@ def export_2ndshift(params=None, return_data=False):
from student_registration.enrollments.models import Enrollment
title = '2nd-shit-all'
- queryset = Enrollment.objects.all()
+ #queryset = Enrollment.objects.all()
+ queryset = Enrollment.objects.filter(moved=False, dropout_status=False)
+
if 'current' in params:
title = '2nd-shit-current'
queryset = queryset.filter(education_year__current_year=True)
if 'year' in params:
queryset = queryset.filter(education_year_id=params['year'])
+
if 'classroom' in params and params['classroom']:
queryset = queryset.filter(classroom_id=params['classroom'])
if 'school' in params:
@@ -85,8 +88,13 @@ def export_2ndshift(params=None, return_data=False):
'created': 'created',
'modified': 'modified',
'dropout_status': 'dropout_status',
+ 'dropout_date': _('dropout date'),
'disabled': 'disabled',
'moved': 'moved',
+ 'last_moved_date': _('last moved date'),
+ 'student__number': 'student number',
+ 'student__id': 'student id',
+ 'id': 'enrollment id',
}
queryset = queryset.values(
@@ -146,8 +154,13 @@ def export_2ndshift(params=None, return_data=False):
'created',
'modified',
'dropout_status',
+ 'dropout_date',
'disabled',
'moved',
+ 'last_moved_date',
+ 'student__number',
+ 'student__id',
+ 'id',
)
return render_to_csv_response(queryset, field_header_map=headers)
@@ -166,9 +179,15 @@ def export_2ndshift_gradings(params=None, return_data=False):
from student_registration.enrollments.models import EnrollmentGrading
from student_registration.schools.models import EducationYear
current = EducationYear.objects.get(current_year=True)
-
title = '2nd-shift-grading-current'
- queryset = EnrollmentGrading.objects.exclude(enrollment__isnull=True).filter(enrollment__education_year=current)
+ if 'current' in params and params['current']:
+ if params['current'] == 'true':
+ queryset = EnrollmentGrading.objects.exclude(enrollment__isnull=True).filter(enrollment__education_year=current)
+ if params['current'] == 'false':
+ current = EducationYear.objects.filter(current_year=False).order_by('-id')[0]
+ queryset = EnrollmentGrading.objects.exclude(enrollment__isnull=True).filter(enrollment__education_year=current)
+ else:
+ queryset = EnrollmentGrading.objects.exclude(enrollment__isnull=True).filter(enrollment__education_year=current)
if 'school' in params:
queryset = queryset.filter(enrollment__school_id=params['school'])
if 'classroom' in params and params['classroom']:
@@ -224,6 +243,8 @@ def export_2ndshift_gradings(params=None, return_data=False):
'exam_result_education': _('Education'),
'exam_result_language': _('Foreign language'),
'exam_result_arabic': _('Arabic'),
+ 'enrollment__dropout_status': _('dropout_status'),
+ 'enrollment__dropout_date': _('dropout date'),
}
queryset = queryset.values(
@@ -269,6 +290,8 @@ def export_2ndshift_gradings(params=None, return_data=False):
'exam_result_education',
'exam_result_language',
'exam_result_arabic',
+ 'enrollment__dropout_status',
+ 'enrollment__dropout_date',
)
return render_to_csv_response(queryset, field_header_map=headers)
@@ -285,6 +308,7 @@ def export_2ndshift_gradings(params=None, return_data=False):
@app.task
def export_alp(params=None, return_data=False):
from student_registration.alp.models import Outreach, ALPRound
+ from django.db.models import F
title = 'alp-all'
queryset = Outreach.objects.all()
@@ -322,6 +346,12 @@ def export_alp(params=None, return_data=False):
if 'school' in params:
queryset = queryset.filter(school_id=params['school'])
+ #for line in queryset:
+ # if line.student.phone:
+ # if not line.student.std_phone:
+ # line.student.std_phone = line.student.phone_prefix+'-'+line.student.phone
+ # line.save()
+
headers = {
'school__number': _('School number'),
'school__name': _('School'),
@@ -337,8 +367,7 @@ def export_alp(params=None, return_data=False):
'student__birthday_year': _('year'),
'student__birthday_month': _('month'),
'student__birthday_day': _('day'),
- 'student__phone': _('Phone number'),
- 'student__phone_prefix': _('Phone prefix'),
+ 'student_phone': _('Phone number'),
'student__registered_in_unhcr': _('Registered in UNHCR'),
'student__id_type__name': _('Student ID Type'),
'student__id_number': _('Student ID Number'),
@@ -388,9 +417,12 @@ def export_alp(params=None, return_data=False):
'modified_by__username': 'modified_by',
'created': 'created',
'modified': 'modified',
+ 'student__number': _('student number'),
}
- queryset = queryset.values(
+ queryset = queryset.extra(select={
+ 'student_phone': " concat(phone_prefix,phone) "
+ }).values(
'school__number',
'school__name',
'school__location__name',
@@ -405,8 +437,7 @@ def export_alp(params=None, return_data=False):
'student__birthday_year',
'student__birthday_month',
'student__birthday_day',
- 'student__phone',
- 'student__phone_prefix',
+ 'student_phone',
'student__registered_in_unhcr',
'student__id_type__name',
'student__id_number',
@@ -455,6 +486,7 @@ def export_alp(params=None, return_data=False):
'student_outreached',
'have_barcode',
'outreach_barcode',
+ 'student__number',
)
return render_to_csv_response(queryset, field_header_map=headers)
@@ -856,3 +888,74 @@ def export_winterization(return_data=False):
return data
store_file(data, timestamp)
return True
+
+@app.task
+def export_last_attendance(params=None, return_data=False):
+ from student_registration.attendances.tasks import geo_calculate_attendances_by_student, calculate_last_attendance_date
+ from student_registration.enrollments.models import Enrollment
+
+ calculate_last_attendance_date()
+ title = 'Last_Attendance'
+
+ queryset = Enrollment.objects.filter(education_year__current_year=True)
+
+ headers = {
+ 'school__number': _('School number'),
+ 'school__name': _('School'),
+ 'school__location__name': _('District'),
+ 'school__location__parent__name': _('Governorate'),
+ 'student__number': 'student number',
+ 'student__first_name': _('Student first name'),
+ 'student__father_name': _('Student father name'),
+ 'student__last_name': _('Student last name'),
+ 'student__mother_fullname': _('Mother fullname'),
+ 'student__sex': _('Sex'),
+ 'student__birthday_year': _('year'),
+ 'student__birthday_month': _('month'),
+ 'student__birthday_day': _('day'),
+ 'student__place_of_birth': _('Place of birth'),
+ 'student__phone': _('Phone number'),
+ 'student__phone_prefix': _('Phone prefix'),
+
+ 'student__id_number': _('Student ID Number'),
+ 'student__nationality__name': _('Student nationality'),
+
+ 'section__name': _('Current Section'),
+ 'classroom__name': _('Current Class'),
+
+ 'last_attendance_date': _('Last attendance date'),
+ 'last_absent_date': _('Last absent date'),
+
+ }
+
+ queryset = queryset.values(
+ 'school__number',
+ 'school__name',
+ 'school__location__name',
+ 'school__location__parent__name',
+ 'student__number',
+ 'student__first_name',
+ 'student__father_name',
+ 'student__last_name',
+ 'student__mother_fullname',
+ 'student__sex',
+ 'student__birthday_year',
+ 'student__birthday_month',
+ 'student__birthday_day',
+ 'student__place_of_birth',
+ 'student__phone',
+ 'student__phone_prefix',
+
+ 'student__id_number',
+ 'student__nationality__name',
+
+ 'section__name',
+ 'classroom__name',
+
+ 'last_attendance_date',
+ 'last_absent_date',
+
+ )
+
+ return render_to_csv_response(queryset, field_header_map=headers)
+
diff --git a/student_registration/backends/utils.py b/student_registration/backends/utils.py
index 084990aa0..369b8ab3f 100644
--- a/student_registration/backends/utils.py
+++ b/student_registration/backends/utils.py
@@ -27,20 +27,20 @@ def post_data(protocol, url, apifunc, token, data):
headers = {"Content-type": "application/json", "Authorization": token, "HTTP_REFERER": url, "Cookie": "token="+token}
- if protocol == 'HTTPS':
- conn = httplib.HTTPSConnection(url)
- else:
- conn = httplib.HTTPConnection(url)
- conn.request('POST', apifunc, params, headers)
- response = conn.getresponse()
- result = response.read()
-
- if not response.status == 201:
- if response.status == 400:
- raise Exception(str(response.status) + response.reason + response.read())
- else:
- raise Exception(str(response.status) + response.reason)
-
- conn.close()
-
- return result
+ # if protocol == 'HTTPS':
+ # conn = httplib.HTTPSConnection(url)
+ # else:
+ # conn = httplib.HTTPConnection(url)
+ # conn.request('POST', apifunc, params, headers)
+ # response = conn.getresponse()
+ # result = response.read()
+ #
+ # if not response.status == 201:
+ # if response.status == 400:
+ # raise Exception(str(response.status) + response.reason + response.read())
+ # else:
+ # raise Exception(str(response.status) + response.reason)
+ #
+ # conn.close()
+ #
+ # return result
diff --git a/student_registration/cache_control_middleware.py b/student_registration/cache_control_middleware.py
new file mode 100755
index 000000000..47073ca68
--- /dev/null
+++ b/student_registration/cache_control_middleware.py
@@ -0,0 +1,11 @@
+class CacheControlMiddleware:
+ def __init__(self, get_response):
+ self.get_response = get_response
+
+ def __call__(self, request):
+ response = self.get_response(request)
+
+ if request.is_secure:
+ response['Cache-Control'] = 'no-cache'
+
+ return response
diff --git a/student_registration/clm/admin.py b/student_registration/clm/admin.py
index 413201099..29d77b6d3 100644
--- a/student_registration/clm/admin.py
+++ b/student_registration/clm/admin.py
@@ -6,7 +6,7 @@
from import_export import fields
from import_export.admin import ImportExportModelAdmin
-from .forms import BLNAdminForm, RSAdminForm, CBECEAdminForm
+from .forms import BLNAdminForm, ABLNAdminForm, RSAdminForm, CBECEAdminForm
from .models import (
Assessment,
Cycle,
@@ -14,6 +14,7 @@
Referral,
Disability,
BLN,
+ ABLN,
RS,
CBECE
)
@@ -570,12 +571,166 @@ def get_export_formats(self):
return get_default_export_formats()
+class ABLNResource(resources.ModelResource):
+ arabic_improvement = fields.Field(
+ column_name='arabic improvement',
+ attribute='arabic_improvement',
+ )
+ english_improvement = fields.Field(
+ column_name='english_improvement',
+ attribute='english_improvement',
+ )
+ french_improvement = fields.Field(
+ column_name='french_improvement',
+ attribute='french_improvement',
+ )
+ math_improvement = fields.Field(
+ column_name='math_improvement',
+ attribute='math_improvement',
+ )
+ assessment_improvement = fields.Field(
+ column_name='assessment_improvement',
+ attribute='assessment_improvement',
+ )
+
+ pre_test_arabic = fields.Field(column_name='pre test arabic')
+ pre_test_foreign_language = fields.Field(column_name='pre_test_foreign_language')
+ pre_test_math = fields.Field(column_name='pre_test_math')
+
+ post_test_arabic = fields.Field(column_name='post_test_arabic')
+ post_test_foreign_language = fields.Field(column_name='post_test_foreign_language')
+ post_test_math = fields.Field(column_name='post_test_math')
+
+ class Meta:
+ fields = (
+ 'id',
+ 'partner__name',
+ 'new_registry',
+ 'student_outreached',
+ 'have_barcode',
+ 'outreach_barcode',
+ 'round__name',
+ 'governorate__name',
+ 'district__name',
+ 'location',
+ 'language',
+ 'student__id',
+ 'student__id_type',
+ 'student__id_number',
+ 'student__number',
+ 'student__first_name',
+ 'student__father_name',
+ 'student__last_name',
+ 'student__mother_fullname',
+ 'student__birthday_year',
+ 'student__birthday_month',
+ 'student__birthday_day',
+ 'student__nationality__name',
+ 'student__sex',
+ 'student__p_code',
+ 'disability__name',
+ 'internal_number',
+ 'comments',
+ 'hh_educational_level',
+ 'student__family_status',
+ 'student__have_children',
+ 'have_labour',
+ 'labours',
+ 'labour_hours',
+ 'pre_test_arabic',
+ 'pre_test_foreign_language',
+ 'pre_test_math',
+ 'pre_test_score',
+ 'post_test_arabic',
+ 'post_test_foreign_language',
+ 'post_test_math',
+ 'post_test_score',
+ 'arabic_improvement',
+ 'english_improvement',
+ 'french_improvement',
+ 'math_improvement',
+ 'assessment_improvement',
+ 'participation',
+ 'barriers',
+ 'learning_result',
+ 'created',
+ 'modified'
+ )
+ model = ABLN
+ export_order = fields
+
+ def dehydrate_pre_test_arabic(self, obj):
+ return obj.get_assessment_value('arabic', 'pre_test')
+
+ def dehydrate_pre_test_foreign_language(self, obj):
+ return obj.get_assessment_value('foreign_language', 'pre_test')
+
+ def dehydrate_pre_test_math(self, obj):
+ return obj.get_assessment_value('math', 'pre_test')
+
+ def dehydrate_post_test_arabic(self, obj):
+ return obj.get_assessment_value('arabic', 'post_test')
+
+ def dehydrate_post_test_foreign_language(self, obj):
+ return obj.get_assessment_value('foreign_language', 'post_test')
+
+ def dehydrate_post_test_math(self, obj):
+ return obj.get_assessment_value('math', 'post_test')
+
+
+class ABLNAdmin(ImportExportModelAdmin):
+ resource_class = ABLNResource
+ form = ABLNAdminForm
+ # fields = '__all__'
+
+ list_display = (
+ 'student',
+ 'governorate',
+ 'district',
+ 'partner',
+ 'created',
+ 'modified',
+ )
+ list_filter = (
+ 'round',
+ 'governorate',
+ 'district',
+ 'partner',
+ 'language',
+ 'student__sex',
+ 'student__nationality',
+ 'disability',
+ 'hh_educational_level',
+ 'student__family_status',
+ 'student__have_children',
+ 'have_labour',
+ 'labours',
+ 'labour_hours',
+ 'participation',
+ 'barriers',
+ 'learning_result',
+ 'created',
+ 'modified',
+ )
+ search_fields = (
+ 'student__first_name',
+ 'student__father_name',
+ 'student__last_name',
+ 'student__mother_fullname',
+ )
+
+ def get_export_formats(self):
+ from student_registration.users.utils import get_default_export_formats
+ return get_default_export_formats()
+
+
class DisabilityResource(resources.ModelResource):
class Meta:
model = Disability
fields = (
'id',
'name',
+ 'name_en',
)
export_order = fields
@@ -591,5 +746,6 @@ class DisabilityAdmin(ImportExportModelAdmin):
admin.site.register(Disability, DisabilityAdmin)
admin.site.register(BLN, BLNAdmin)
+admin.site.register(ABLN, ABLNAdmin)
admin.site.register(RS, RSAdmin)
admin.site.register(CBECE, CBECEAdmin)
diff --git a/student_registration/clm/filters.py b/student_registration/clm/filters.py
index b5d1d8873..9ea21a6b9 100644
--- a/student_registration/clm/filters.py
+++ b/student_registration/clm/filters.py
@@ -5,7 +5,13 @@
from student_registration.locations.models import Location
from student_registration.schools.models import CLMRound, School, Section, ClassRoom
from student_registration.students.models import Nationality
-from .models import BLN, RS, CBECE, Cycle
+from .models import (
+ BLN,
+ ABLN,
+ RS,
+ CBECE,
+ Cycle,
+ Disability)
class CommonFilter(FilterSet):
@@ -13,6 +19,7 @@ class CommonFilter(FilterSet):
governorate = ModelChoiceFilter(queryset=Location.objects.filter(parent__isnull=True), empty_label=_('Governorate'))
district = ModelChoiceFilter(queryset=Location.objects.filter(parent__isnull=False), empty_label=_('District'))
student__nationality = ModelChoiceFilter(queryset=Nationality.objects.all(), empty_label=_('Nationality'))
+ disability = ModelChoiceFilter(queryset=Disability.objects.filter(active=True), empty_label=_('Disability'))
class BLNFilter(CommonFilter):
@@ -22,6 +29,30 @@ class Meta:
fields = {
'round': ['exact'],
'student__id_number': ['contains'],
+ 'student__number': ['contains'],
+ 'internal_number': ['contains'],
+ 'student__first_name': ['contains'],
+ 'student__father_name': ['contains'],
+ 'student__last_name': ['contains'],
+ 'student__mother_fullname': ['contains'],
+ 'student__nationality': ['exact'],
+ 'governorate': ['exact'],
+ 'district': ['exact'],
+ # 'participation': ['exact'],
+ 'learning_result': ['exact'],
+ 'owner__username': ['contains'],
+ 'disability': ['exact'],
+ }
+
+
+class ABLNFilter(CommonFilter):
+
+ class Meta:
+ model = ABLN
+ fields = {
+ 'round': ['exact'],
+ 'student__id_number': ['contains'],
+ 'student__number': ['contains'],
'internal_number': ['contains'],
'student__first_name': ['contains'],
'student__father_name': ['contains'],
@@ -33,6 +64,7 @@ class Meta:
'participation': ['exact'],
'learning_result': ['exact'],
'owner__username': ['contains'],
+ 'disability': ['exact'],
}
@@ -47,6 +79,7 @@ class Meta:
fields = {
'round': ['exact'],
'student__id_number': ['contains'],
+ 'student__number': ['contains'],
'internal_number': ['contains'],
'student__first_name': ['contains'],
'student__father_name': ['contains'],
@@ -65,6 +98,7 @@ class Meta:
'participation': ['exact'],
'learning_result': ['exact'],
'owner__username': ['contains'],
+ 'disability': ['exact'],
}
@@ -77,6 +111,7 @@ class Meta:
fields = {
'round': ['exact'],
'student__id_number': ['contains'],
+ 'student__number': ['contains'],
'internal_number': ['contains'],
'student__first_name': ['contains'],
'student__father_name': ['contains'],
@@ -91,4 +126,5 @@ class Meta:
'participation': ['exact'],
'learning_result': ['exact'],
'owner__username': ['contains'],
+ 'disability': ['exact'],
}
diff --git a/student_registration/clm/forms.py b/student_registration/clm/forms.py
index 06893850a..fa77c3c54 100644
--- a/student_registration/clm/forms.py
+++ b/student_registration/clm/forms.py
@@ -14,6 +14,7 @@
Student,
Person,
Nationality,
+ IDType,
)
from student_registration.schools.models import (
School,
@@ -25,6 +26,7 @@
from .models import (
CLM,
BLN,
+ ABLN,
RS,
CBECE,
Cycle,
@@ -32,7 +34,7 @@
Assessment,
CLMRound,
)
-from .serializers import BLNSerializer, RSSerializer, CBECESerializer
+from .serializers import BLNSerializer, RSSerializer, CBECESerializer, ABLNSerializer
YES_NO_CHOICE = ((1, _("Yes")), (0, _("No")))
@@ -72,17 +74,18 @@
('less_than_5days', _('Less than 5 absence days')),
('5_10_days', _('5 to 10 absence days')),
('10_15_days', _('10 to 15 absence days')),
- ('more_than_15days', _('More than 15 absence days'))
+ ('more_than_15days', _('More than 15 absence days')),
+ ('no_absence', _('No Absence'))
)
LEARNING_RESULT = (
('', '----------'),
('repeat_level', _('Repeat level')),
- ('graduated_next_level', _('Graduated to the next level')),
- ('graduated_to_formal_kg', _('Graduated to formal education - KG')),
- ('graduated_to_formal_level1', _('Graduated to formal education - Level 1')),
+ ('graduated_next_level', _('Referred to the next level')),
+ ('graduated_to_formal_kg', _('Referred to formal education - KG')),
+ ('graduated_to_formal_level1', _('Referred to formal education - Level 1')),
('referred_to_another_program', _('Referred to another program')),
- # ('dropout', _('Dropout from school'))
+ ('dropout', _('Dropout, referral not possible'))
)
@@ -97,14 +100,14 @@ class CommonForm(forms.ModelForm):
student_outreached = forms.ChoiceField(
label=_("Student outreached?"),
widget=forms.Select, required=True,
- choices=(('yes', _("Yes")), ('no', _("No"))),
- initial='yes'
+ choices=(('no', _("No")), ('yes', _("Yes"))),
+ initial='no'
)
have_barcode = forms.ChoiceField(
label=_("Have barcode with him?"),
widget=forms.Select, required=True,
- choices=(('yes', _("Yes")), ('no', _("No"))),
- initial='yes'
+ choices=(('no', _("No")), ('yes', _("Yes"))),
+ initial='no'
)
search_clm_student = forms.CharField(
label=_("Search a student"),
@@ -122,14 +125,14 @@ class CommonForm(forms.ModelForm):
label=_('Governorate'),
empty_label='-------',
required=True, to_field_name='id',
- initial=0
+ # initial=0
)
district = forms.ModelChoiceField(
queryset=Location.objects.filter(parent__isnull=False), widget=forms.Select,
label=_('District'),
empty_label='-------',
required=True, to_field_name='id',
- initial=0
+ # initial=0
)
round = forms.ModelChoiceField(
queryset=CLMRound.objects.all(), widget=forms.Select,
@@ -209,31 +212,19 @@ class CommonForm(forms.ModelForm):
)
disability = forms.ModelChoiceField(
- queryset=Disability.objects.all(), widget=forms.Select,
+ queryset=Disability.objects.filter(active=True), widget=forms.Select,
label=_('Does the child have any disability or special need?'),
required=True, to_field_name='id',
initial=1
)
-
- have_labour = forms.MultipleChoiceField(
- label=_('Does the child participate in work?'),
- choices=CLM.HAVE_LABOUR,
- widget=forms.CheckboxSelectMultiple,
- required=False, initial='no'
- )
- labours = forms.MultipleChoiceField(
- label=_('What is the type of work ?'),
- choices=CLM.LABOURS,
- widget=forms.CheckboxSelectMultiple,
- required=False
- )
- labour_hours = forms.CharField(
- label=_('How many hours does this child work in a day?'),
- widget=forms.TextInput, required=False
- )
hh_educational_level = forms.ModelChoiceField(
- queryset=EducationalLevel.objects.all(), widget=forms.Select,
- label=_('What is the educational level of a person who is valuable to the child?'),
+ queryset=EducationalLevel.objects.exclude(id=3), widget=forms.Select,
+ label=_('What is the educational level of the mother?'),
+ required=False, to_field_name='id',
+ )
+ father_educational_level = forms.ModelChoiceField(
+ queryset=EducationalLevel.objects.exclude(id=3), widget=forms.Select,
+ label=_('What is the educational level of the father?'),
required=False, to_field_name='id',
)
@@ -242,32 +233,32 @@ class CommonForm(forms.ModelForm):
student_outreach_child = forms.CharField(widget=forms.HiddenInput, required=False)
clm_type = forms.CharField(widget=forms.HiddenInput, required=False)
- participation = forms.ChoiceField(
- label=_('How was the level of child participation in the program?'),
- widget=forms.Select, required=False,
- choices=PARTICIPATION,
- initial=''
- )
- barriers = forms.MultipleChoiceField(
- label=_('The main barriers affecting the daily attendance and performance of the child or drop out of school?'),
- choices=CLM.BARRIERS,
- widget=forms.CheckboxSelectMultiple,
- required=False
- )
- learning_result = forms.ChoiceField(
- label=_('Based on the overall score, what is the recommended learning path?'),
- widget=forms.Select, required=False,
- choices=(
- ('', '----------'),
- ('repeat_level', _('Repeat level')),
- ('graduated_next_level', _('Graduated to the next level')),
- ('graduated_to_formal_kg', _('Graduated to formal education - KG')),
- ('graduated_to_formal_level1', _('Graduated to formal education - Level 1')),
- ('referred_to_another_program', _('Referred to another program')),
- # ('dropout', _('Dropout from school'))
- ),
- initial=''
- )
+ # participation = forms.ChoiceField(
+ # label=_('How was the level of child participation in the program?'),
+ # widget=forms.Select, required=False,
+ # choices=PARTICIPATION,
+ # initial=''
+ # )
+ # barriers = forms.MultipleChoiceField(
+ # label=_('The main barriers affecting the daily attendance and performance of the child or drop out of programme? (Select more than one if applicable)'),
+ # choices=CLM.BARRIERS,
+ # widget=forms.CheckboxSelectMultiple,
+ # required=False
+ # )
+ # learning_result = forms.ChoiceField(
+ # label=_('Based on the overall score, what is the recommended learning path?'),
+ # widget=forms.Select, required=False,
+ # choices=(
+ # ('', '----------'),
+ # ('repeat_level', _('Repeat level')),
+ # ('graduated_next_level', _('Referred to the next level')),
+ # ('graduated_to_formal_kg', _('Referred to formal education - KG')),
+ # ('graduated_to_formal_level1', _('Referred to formal education - Level 1')),
+ # ('referred_to_another_program', _('Referred to another program')),
+ # # ('dropout', _('Dropout from school'))
+ # ),
+ # initial=''
+ # )
def __init__(self, *args, **kwargs):
super(CommonForm, self).__init__(*args, **kwargs)
@@ -291,6 +282,7 @@ def save(self, request=None, instance=None, serializer=None):
instance = serializer.update(validated_data=serializer.validated_data, instance=instance)
instance.modified_by = request.user
instance.save()
+ request.session['instance_id'] = instance.id
messages.success(request, _('Your data has been sent successfully to the server'))
else:
messages.warning(request, serializer.errors)
@@ -302,6 +294,7 @@ def save(self, request=None, instance=None, serializer=None):
instance.modified_by = request.user
instance.partner = request.user.partner
instance.save()
+ request.session['instance_id'] = instance.id
messages.success(request, _('Your data has been sent successfully to the server'))
else:
messages.warning(request, serializer.errors)
@@ -311,6 +304,7 @@ def save(self, request=None, instance=None, serializer=None):
class Meta:
model = CLM
fields = (
+ 'first_attendance_date',
'round',
'new_registry',
'student_outreached',
@@ -332,25 +326,27 @@ class Meta:
'student_id_number',
'internal_number',
'disability',
- 'have_labour',
- 'labours',
- 'labour_hours',
+ # 'have_labour',
+ # 'labours',
+ # 'labour_hours',
'hh_educational_level',
- 'participation',
- 'barriers',
- 'learning_result',
+ 'father_educational_level',
+ # 'participation',
+ # 'barriers',
+ # 'learning_result',
'student_id',
'enrollment_id',
'student_outreach_child',
'comments',
- 'unsuccessful_posttest_reason',
+ 'unsuccessful_pretest_reason',
+ # 'unsuccessful_posttest_reason',
)
initial_fields = fields
widgets = {}
class Media:
js = (
- # 'js/jquery-1.12.3.min.js',
+ # 'js/jquery-3.3.1.min.js',
# 'js/jquery-ui-1.12.1.js',
# 'js/validator.js',
# 'js/registrations.js',
@@ -359,22 +355,35 @@ class Media:
class BLNForm(CommonForm):
- # cycle = forms.ModelChoiceField(
- # empty_label='----------',
- # queryset=Cycle.objects.all(), widget=forms.Select,
- # label=_('In which cycle is this child registered?'),
- # required=True, to_field_name='id',
- # initial=0
- # )
- # referral = forms.MultipleChoiceField(
- # label=_('Where was the child referred?'),
- # choices=CLM.REFERRAL,
- # widget=forms.CheckboxSelectMultiple,
- # required=True,
- # )
YEARS_BLN = list(((str(x), x) for x in range(Person.CURRENT_YEAR - 16, Person.CURRENT_YEAR)))
YEARS_BLN.insert(0, ('', '---------'))
+ # participation = forms.ChoiceField(
+ # label=_('How was the level of child participation in the program?'),
+ # widget=forms.Select, required=False,
+ # choices=(
+ # ('', '----------'),
+ # ('less_than_10days', _('Less than 10 absence days')),
+ # ('10_15_days', _('10 to 15 absence days')),
+ # ('15_20_days', _('15 to 20 absence days')),
+ # ('more_than_20days', _('More than 20 absence days'))
+ # ),
+ # initial=''
+ # )
+
+ first_attendance_date = forms.DateField(
+ label=_("First attendance date"),
+ required=True
+ )
+
+ round = forms.ModelChoiceField(
+ # queryset=CLMRound.objects.filter(current_round_bln=True), widget=forms.Select,
+ queryset=CLMRound.objects.all(), widget=forms.Select,
+ label=_('Round'),
+ empty_label='-------',
+ required=True, to_field_name='id',
+ # initial=CLMRound.objects.filter(current_round_bln=True).first().id
+ )
student_birthday_year = forms.ChoiceField(
label=_("Birthday year"),
widget=forms.Select, required=True,
@@ -392,20 +401,213 @@ class BLNForm(CommonForm):
choices=YES_NO_CHOICE,
coerce=lambda x: bool(int(x)),
widget=forms.RadioSelect,
+ required=True,
+ )
+ have_labour = forms.MultipleChoiceField(
+ label=_('Does the child participate in work?'),
+ choices=CLM.HAVE_LABOUR,
+ widget=forms.CheckboxSelectMultiple,
+ required=True, initial='no'
+ )
+ labours = forms.MultipleChoiceField(
+ label=_('What is the type of work ?'),
+ choices=CLM.LABOURS,
+ widget=forms.CheckboxSelectMultiple,
+ required=False
+ )
+ labour_hours = forms.CharField(
+ label=_('How many hours does this child work in a day?'),
+ widget=forms.TextInput, required=False
+ )
+ # learning_result = forms.ChoiceField(
+ # label=_('Based on the overall score, what is the recommended learning path?'),
+ # widget=forms.Select, required=False,
+ # choices=(
+ # ('', '----------'),
+ # ('graduated_to_bln_next_round_same_level', _('Graduated to the next round, same level')),
+ # ('graduated_to_bln_next_round_higher_level', _('Graduated to the next round, higher level')),
+ # ('referred_to_alp', _('referred to ALP')),
+ # ('referred_public_school', _('Referred to public school')),
+ # ('referred_to_tvet', _('Referred to TVET')),
+ # ('referred_to_ybln', _('Referred to YBLN')),
+ # ('dropout', _('Dropout, referral not possible')),
+ # ),
+ # initial=''
+ # )
+
+ education_status = forms.ChoiceField(
+ label=_('Education status'),
+ widget=forms.Select, required=True,
+ choices=(
+ ('', '----------'),
+ ('out of school', _('Out of school')),
+ ('enrolled in formal education but did not continue', _("Enrolled in formal education but did not continue")),
+ ('enrolled in BLN', _("Enrolled in BLN")),
+ ),
+ initial=''
+ )
+
+ other_nationality = forms.CharField(
+ label=_('Specify the nationality'),
+ widget=forms.TextInput, required=False
+ )
+
+ phone_number = forms.RegexField(
+ regex=r'^((03)|(70)|(71)|(76)|(78)|(79)|(81))-\d{6}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: XX-XXXXXX'}),
+ required=True,
+ label=_('Phone number (own or closest relative)')
+ )
+ phone_number_confirm = forms.RegexField(
+ regex=r'^((03)|(70)|(71)|(76)|(78)|(79)|(81))-\d{6}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: XX-XXXXXX'}),
+ required=True,
+ label=_('Phone number confirm')
+ )
+
+ id_type = forms.ChoiceField(
+ label=_("ID type of the caretaker"),
+ widget=forms.Select(attrs=({'translation': _('Child no ID confirmation popup message')})),
+ required=True,
+ choices=(
+ ('', '----------'),
+ ('UNHCR Registered', _('UNHCR Registered')),
+ ('UNHCR Recorded', _("UNHCR Recorded")),
+ ('Syrian national ID', _("Syrian national ID")),
+ ('Palestinian national ID', _("Palestinian national ID")),
+ ('Lebanese national ID', _("Lebanese national ID")),
+ ('Child have no ID', _("Child have no ID"))
+ ),
+ initial=''
+ )
+ case_number = forms.RegexField(
+ regex=r'^((245)|(380)|(568)|(705)|(781)|(909)|(947)|(954)|(LEB)|(leb))-[0-9][0-9][C]\d{5}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: XXX-XXCXXXXX'}),
required=False,
+ label=_('UNHCR Case Number')
)
- learning_result = forms.ChoiceField(
- label=_('Based on the overall score, what is the recommended learning path?'),
- widget=forms.Select, required=False,
+ case_number_confirm = forms.RegexField(
+ regex=r'^((245)|(380)|(568)|(705)|(781)|(909)|(947)|(954)|(LEB)|(leb))-[0-9][0-9][C]\d{5}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: XXX-XXCXXXXX'}),
+ required=False,
+ label=_('Confirm UNHCR Case Number')
+ )
+ parent_individual_case_number = forms.RegexField(
+ regex=r'^((245)|(380)|(568)|(705)|(781)|(909)|(947)|(954)|(LEB)|(leb))-[0-9]{8}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: XXX-XXXXXXXX'}),
+ required=False,
+ label=_(
+ 'Caretaker Individual ID from the certificate (Optional, in case not listed in the certificate)')
+ )
+ parent_individual_case_number_confirm = forms.RegexField(
+ regex=r'^((245)|(380)|(568)|(705)|(781)|(909)|(947)|(954)|(LEB)|(leb))-[0-9]{8}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: XXX-XXXXXXXX'}),
+ required=False,
+ label=_(
+ 'Confirm Caretaker Individual ID from the certificate (Optional, in case not listed in the certificate)')
+ )
+ individual_case_number = forms.RegexField(
+ regex=r'^((245)|(380)|(568)|(705)|(781)|(909)|(947)|(954)|(LEB)|(leb))-[0-9]{8}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: XXX-XXXXXXXX'}),
+ required=False,
+ label=_(
+ 'Individual ID of the Child from the certificate (Optional, in case not listed in the certificate)')
+ )
+ individual_case_number_confirm = forms.RegexField(
+ regex=r'^((245)|(380)|(568)|(705)|(781)|(909)|(947)|(954)|(LEB)|(leb))-[0-9]{8}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: XXX-XXXXXXXX'}),
+ required=False,
+ label=_(
+ 'Confirm Individual ID of the Child from the certificate (Optional, in case not listed in the certificate)')
+ )
+ recorded_number = forms.RegexField(
+ regex=r'^((245)|(380)|(568)|(705)|(781)|(909)|(947)|(954)|(LEB)|(leb))-[0-9][0-9][C]\d{5}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: LEB-XXCXXXXX'}),
+ required=False,
+ label=_('UNHCR Barcode number (Shifra number)')
+ )
+ recorded_number_confirm = forms.RegexField(
+ regex=r'^((245)|(380)|(568)|(705)|(781)|(909)|(947)|(954)|(LEB)|(leb))-[0-9][0-9][C]\d{5}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: LEB-XXCXXXXX'}),
+ required=False,
+ label=_('Confirm UNHCR Barcode number (Shifra number)')
+ )
+
+ national_number = forms.RegexField(
+ regex=r'^\d{12}$',
+ required=False,
+ label=_('Lebanese ID number of the child (Optional)')
+ )
+ national_number_confirm = forms.RegexField(
+ regex=r'^\d{12}$',
+ required=False,
+ label=_('Confirm Lebanese ID number of the child (optional)')
+ )
+ syrian_national_number = forms.RegexField(
+ regex=r'^\d{11}$',
+ required=False,
+ label=_('National ID number of the child (Optional)')
+ )
+ syrian_national_number_confirm = forms.RegexField(
+ regex=r'^\d{11}$',
+ required=False,
+ label=_('Confirm National ID number of the child (Optional)')
+ )
+ sop_national_number = forms.CharField(
+ required=False,
+ label=_('Palestinian ID number of the child (Optional)')
+ )
+ sop_national_number_confirm = forms.CharField(
+ required=False,
+ label=_('Confirm Palestinian ID number of the child (optional)')
+ )
+ parent_national_number = forms.RegexField(
+ regex=r'^\d{12}$',
+ required=False,
+ label=_('Lebanese ID number of the caretaker (Mandatory)')
+ )
+ parent_national_number_confirm = forms.RegexField(
+ regex=r'^\d{12}$',
+ required=False,
+ label=_('Confirm Lebanese ID number of the caretaker (Mandatory)')
+ )
+ parent_syrian_national_number = forms.RegexField(
+ regex=r'^\d{11}$',
+ required=False,
+ label=_('National ID number of the Caretaker (Mandatory)')
+ )
+ parent_syrian_national_number_confirm = forms.RegexField(
+ regex=r'^\d{11}$',
+ required=False,
+ label=_('Confirm National ID number of the Caretaker (Mandatory)')
+ )
+ parent_sop_national_number = forms.CharField(
+ # regex=r'^\d{11}$',
+ required=False,
+ label=_('Palestinian ID number of the Caretaker (Mandatory)')
+ )
+ parent_sop_national_number_confirm = forms.CharField(
+ # regex=r'^\d{11}$',
+ required=False,
+ label=_('Confirm Palestinian ID number of the Caretaker (Mandatory)')
+ )
+
+ no_child_id_confirmation = forms.CharField(widget=forms.HiddenInput, required=False)
+ no_parent_id_confirmation = forms.CharField(widget=forms.HiddenInput, required=False)
+
+ source_of_identification = forms.ChoiceField(
+ label=_("Source of identification of the child to BLN"),
+ widget=forms.Select,
+ required=True,
choices=(
('', '----------'),
- ('repeat_level', _('Repeat level')),
- ('attended_public_school', _('Attended public school')),
- ('referred_to_alp', _('referred to ALP')),
- ('ready_to_alp_but_not_possible', _('Ready for ALP but referral is not possible')),
- ('reenrolled_in_alp', _('Re-register on another round of BLN')),
- ('not_enrolled_any_program', _('Not enrolled in any educational program')),
- # ('dropout', _('Dropout from school'))
+ ('Referred by CP partner', _('Referred by CP partner')),
+ ('Referred by youth partner', _('Referred by youth partner')),
+ ('Family walked in to NGO', _('Family walked in to NGO')),
+ ('Referral from another NGO', _('Referral from another NGO')),
+ ('Referral from another Municipality', _('Referral from Municipality')),
+ ('Direct outreach', _('Direct outreach')),
+ ('List database', _('List database'))
),
initial=''
)
@@ -436,14 +638,14 @@ def __init__(self, *args, **kwargs):
)
if instance.pre_test:
pre_test_button = ' btn-success '
- post_test_button = ' btn-outline-success '
- post_test = instance.assessment_form(
- stage='post_test',
- assessment_slug='bln_post_test',
- callback=self.request.build_absolute_uri(reverse('clm:bln_edit', kwargs={'pk': instance.id}))
- )
- if instance.post_test:
- post_test_button = ' btn-success '
+ # post_test_button = ' btn-outline-success '
+ # post_test = instance.assessment_form(
+ # stage='post_test',
+ # assessment_slug='bln_post_test',
+ # callback=self.request.build_absolute_uri(reverse('clm:bln_edit', kwargs={'pk': instance.id}))
+ # )
+ # if instance.post_test:
+ # post_test_button = ' btn-success '
self.helper = FormHelper()
self.helper.form_show_labels = True
@@ -500,20 +702,27 @@ def __init__(self, *args, **kwargs):
),
Div(
HTML('1'),
- Div('round', css_class='col-md-3'),
+ Div('first_attendance_date', css_class='col-md-3'),
css_class='row',
),
Div(
HTML('2'),
- Div('governorate', css_class='col-md-3'),
+ Div('round', css_class='col-md-3'),
HTML('3'),
- Div('district', css_class='col-md-3'),
+ Div('source_of_identification', css_class='col-md-3'),
css_class='row',
),
Div(
HTML('4'),
- Div('location', css_class='col-md-3'),
+ Div('governorate', css_class='col-md-3'),
HTML('5'),
+ Div('district', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('6'),
+ Div('location', css_class='col-md-3'),
+ HTML('7'),
Div('language', css_class='col-md-3'),
css_class='row',
),
@@ -545,6 +754,7 @@ def __init__(self, *args, **kwargs):
Div('student_sex', css_class='col-md-3'),
HTML('7'),
Div('student_nationality', css_class='col-md-3'),
+ Div('other_nationality', css_class='col-md-3'),
css_class='row',
),
Div(
@@ -563,14 +773,16 @@ def __init__(self, *args, **kwargs):
Div('student_p_code', css_class='col-md-3'),
HTML('12'),
Div('disability', css_class='col-md-3'),
+ HTML('13'),
+ Div('education_status', css_class='col-md-3'),
css_class='row',
),
Div(
- HTML('13'),
- Div('student_id_number', css_class='col-md-3'),
- HTML('14'),
- Div('internal_number', css_class='col-md-3'),
+ HTML('14'),
+ Div('student_id_number', css_class='col-md-3 d-none'),
HTML('15'),
+ Div('internal_number', css_class='col-md-3'),
+ HTML('16'),
Div('comments', css_class='col-md-3'),
css_class='row',
),
@@ -579,75 +791,338 @@ def __init__(self, *args, **kwargs):
Fieldset(
None,
Div(
- HTML('' + _('Family Status') + '
')
+ HTML('' + _('Parent/Caregiver Information') + '
')
),
Div(
HTML('1'),
Div('hh_educational_level', css_class='col-md-4'),
HTML('2'),
- Div('student_family_status', css_class='col-md-3'),
- HTML('3'),
- Div('student_have_children', css_class='col-md-3', css_id='student_have_children'),
+ Div('father_educational_level', css_class='col-md-4'),
css_class='row',
),
Div(
+ HTML('3'),
+ Div('phone_number', css_class='col-md-4'),
HTML('4'),
- Div('have_labour', css_class='col-md-4'),
+ Div('phone_number_confirm', css_class='col-md-4'),
+ css_class='row',
+ ),
+ Div(
HTML('5'),
- Div('labours', css_class='col-md-3', css_id='labours'),
+ Div('caretaker_first_name', css_class='col-md-4'),
HTML('6'),
- Div('labour_hours', css_class='col-md-3', css_id='labour_hours'),
+ Div('caretaker_middle_name', css_class='col-md-4'),
css_class='row',
),
- css_class='bd-callout bd-callout-warning child_data'
- ),
- Fieldset(
- None,
Div(
- HTML('' + _('Assessment data') + '
')
+ HTML('7'),
+ Div('caretaker_last_name', css_class='col-md-4'),
+ HTML('8'),
+ Div('caretaker_mother_name', css_class='col-md-4'),
+ css_class='row',
),
Div(
- HTML(''),
- HTML(
- ''),
+ HTML('9'),
+ Div('id_type', css_class='col-md-4'),
css_class='row',
),
Div(
- HTML(''),
- css_class='row'
+ HTML('10'),
+ Div('case_number', css_class='col-md-4'),
+ HTML('11'),
+ Div('case_number_confirm', css_class='col-md-4'),
+ HTML('' +
+ '' +
+ '
'),
+ css_class='row child_id child_id1',
),
- css_class='bd-callout bd-callout-warning' + display_assessment
+ Div(
+ HTML('12'),
+ Div('parent_individual_case_number', css_class='col-md-4'),
+ HTML('13'),
+ Div('parent_individual_case_number_confirm', css_class='col-md-4'),
+ HTML('' +
+ '' +
+ '
'),
+ css_class='row child_id child_id1',
+ ),
+ Div(
+ HTML('14'),
+ Div('individual_case_number', css_class='col-md-4'),
+ HTML('15'),
+ Div('individual_case_number_confirm', css_class='col-md-4'),
+ HTML('' +
+ '' +
+ '
'),
+ css_class='row child_id child_id1',
+ ),
+ Div(
+ HTML('10'),
+ Div('recorded_number', css_class='col-md-4'),
+ HTML('11'),
+ Div('recorded_number_confirm', css_class='col-md-4'),
+ HTML('' +
+ '' +
+ '
'),
+ css_class='row child_id child_id2',
+ ),
+ Div(
+ HTML('10'),
+ Div('parent_national_number', css_class='col-md-4'),
+ HTML('11'),
+ Div('parent_national_number_confirm', css_class='col-md-4'),
+ HTML('' +
+ '' +
+ '
'),
+ css_class='row child_id child_id3',
+ ),
+ Div(
+ HTML('12'),
+ Div('national_number', css_class='col-md-4'),
+ HTML('13'),
+ Div('national_number_confirm', css_class='col-md-4'),
+ HTML('' +
+ '' +
+ '
'),
+ css_class='row child_id child_id3',
+ ),
+ Div(
+ HTML('10'),
+ Div('parent_syrian_national_number', css_class='col-md-4'),
+ HTML('11'),
+ Div('parent_syrian_national_number_confirm', css_class='col-md-4'),
+ HTML('' +
+ '' +
+ '
'),
+ css_class='row child_id child_id4',
+ ),
+ Div(
+ HTML('12'),
+ Div('syrian_national_number', css_class='col-md-4'),
+ HTML('13'),
+ Div('syrian_national_number_confirm', css_class='col-md-4'),
+ HTML('' +
+ '' +
+ '
'),
+ css_class='row child_id child_id4',
+ ),
+ Div(
+ HTML('10'),
+ Div('parent_sop_national_number', css_class='col-md-4'),
+ HTML('11'),
+ Div('parent_sop_national_number_confirm', css_class='col-md-4'),
+ HTML('' +
+ '' +
+ '
'),
+ css_class='row child_id child_id5',
+ ),
+ Div(
+ HTML('12'),
+ Div('sop_national_number', css_class='col-md-4'),
+ HTML('13'),
+ Div('sop_national_number_confirm', css_class='col-md-4'),
+ HTML('' +
+ '' +
+ '
'),
+ css_class='row child_id child_id5',
+ ),
+ css_class='bd-callout bd-callout-warning child_data'
),
Fieldset(
None,
Div(
- HTML('' + _('School evaluation') + '
')
+ HTML('' + _('Family Status') + '
')
),
Div(
HTML('1'),
- Div('unsuccessful_posttest_reason', css_class='col-md-3'),
+ Div('student_family_status', css_class='col-md-3'),
+ HTML('2'),
+ Div('student_have_children', css_class='col-md-3', css_id='student_have_children'),
css_class='row',
),
Div(
- HTML('2'),
- Div('participation', css_class='col-md-3'),
HTML('3'),
- Div('barriers', css_class='col-md-3'),
+ Div('have_labour', css_class='col-md-4'),
HTML('4'),
- Div('learning_result', css_class='col-md-3'),
+ Div('labours', css_class='col-md-3', css_id='labours'),
+ HTML('5'),
+ Div('labour_hours', css_class='col-md-3', css_id='labour_hours'),
css_class='row',
),
- css_class='bd-callout bd-callout-warning'+display_assessment
+ css_class='bd-callout bd-callout-warning child_data'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Assessment data') + '
')
+ ),
+ Div(
+ HTML('1'),
+ HTML(''),
+ HTML('2'),
+ Div('unsuccessful_pretest_reason', css_class='col-md-3'),
+ # HTML(
+ # ''),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ css_class='row'
+ ),
+ css_class='bd-callout bd-callout-warning' + display_assessment
),
+ # Fieldset(
+ # None,
+ # Div(
+ # HTML('' + _('School evaluation') + '
')
+ # ),
+ # Div(
+ # HTML('1'),
+ # Div('unsuccessful_pretest_reason', css_class='col-md-3'),
+ # HTML('2'),
+ # Div('unsuccessful_posttest_reason', css_class='col-md-3'),
+ # css_class='row',
+ # ),
+ # Div(
+ # HTML('3'),
+ # Div('participation', css_class='col-md-3'),
+ # HTML('4'),
+ # Div('barriers', css_class='col-md-3'),
+ # HTML('5'),
+ # Div('learning_result', css_class='col-md-3'),
+ # css_class='row',
+ # ),
+ # css_class='bd-callout bd-callout-warning'+display_assessment
+ # ),
FormActions(
- Submit('save', _('Save')),
- Submit('save_add_another', _('Save and add another'), css_class='child_data'),
+ Submit('save', _('Save'), css_class='col-md-2'),
+ Submit('save_add_another', _('Save and add another'), css_class='col-md-2 child_data'),
+ Submit('save_and_continue', _('Save and continue'), css_class='col-md-2 child_data'),
+ Submit('save_and_pretest', _('Save and Fill pre-test'), css_class='col-md-2 child_data'),
HTML('' + _('Back to list') + ''),
)
)
+ def clean(self):
+ cleaned_data = super(BLNForm, self).clean()
+
+ phone_number = cleaned_data.get("phone_number")
+ phone_number_confirm = cleaned_data.get("phone_number_confirm")
+ id_type = cleaned_data.get("id_type")
+ case_number = cleaned_data.get("case_number")
+ case_number_confirm = cleaned_data.get("case_number_confirm")
+ individual_case_number = cleaned_data.get("individual_case_number")
+ individual_case_number_confirm = cleaned_data.get("individual_case_number_confirm")
+ recorded_number = cleaned_data.get("recorded_number")
+ recorded_number_confirm = cleaned_data.get("recorded_number_confirm")
+ national_number = cleaned_data.get("national_number")
+ national_number_confirm = cleaned_data.get("national_number_confirm")
+ syrian_national_number = cleaned_data.get("syrian_national_number")
+ syrian_national_number_confirm = cleaned_data.get("syrian_national_number_confirm")
+ sop_national_number = cleaned_data.get("sop_national_number")
+ sop_national_number_confirm = cleaned_data.get("sop_national_number_confirm")
+
+ parent_individual_case_number = cleaned_data.get("parent_individual_case_number")
+ parent_individual_case_number_confirm = cleaned_data.get("parent_individual_case_number_confirm")
+ parent_national_number = cleaned_data.get("parent_national_number")
+ parent_national_number_confirm = cleaned_data.get("parent_national_number_confirm")
+ sop_parent_national_number = cleaned_data.get("parent_sop_national_number")
+ sop_parent_national_number_confirm = cleaned_data.get("parent_sop_national_number_confirm")
+ parent_syrian_national_number = cleaned_data.get("parent_syrian_national_number")
+ parent_syrian_national_number_confirm = cleaned_data.get("parent_syrian_national_number_confirm")
+
+ if phone_number != phone_number_confirm:
+ msg = "The phone numbers are not matched"
+ self.add_error('phone_number_confirm', msg)
+
+ if id_type == 'UNHCR Registered':
+ if not case_number:
+ self.add_error('case_number', 'This field is required')
+
+ if case_number != case_number_confirm:
+ msg = "The case numbers are not matched"
+ self.add_error('case_number_confirm', msg)
+
+ if parent_individual_case_number != parent_individual_case_number_confirm:
+ msg = "The individual case numbers are not matched"
+ self.add_error('parent_individual_case_number_confirm', msg)
+
+ if individual_case_number != individual_case_number_confirm:
+ msg = "The individual case numbers are not matched"
+ self.add_error('individual_case_number_confirm', msg)
+
+ if id_type == 'UNHCR Recorded':
+ if not recorded_number:
+ self.add_error('recorded_number', 'This field is required')
+
+ if recorded_number != recorded_number_confirm:
+ msg = "The recorded numbers are not matched"
+ self.add_error('recorded_number_confirm', msg)
+
+ if id_type == 'Syrian national ID':
+
+ if not parent_syrian_national_number:
+ self.add_error('parent_syrian_national_number', 'This field is required')
+
+ if not parent_syrian_national_number_confirm:
+ self.add_error('parent_syrian_national_number_confirm', 'This field is required')
+
+ if parent_syrian_national_number_confirm and not len(parent_syrian_national_number_confirm) == 11:
+ msg = "Please enter a valid number (11 digits)"
+ self.add_error('parent_syrian_national_number_confirm', msg)
+
+ if parent_syrian_national_number and not len(parent_syrian_national_number) == 11:
+ msg = "Please enter a valid number (11 digits)"
+ self.add_error('parent_syrian_national_number', msg)
+
+ if parent_syrian_national_number != parent_syrian_national_number_confirm:
+ msg = "The national numbers are not matched"
+ self.add_error('parent_syrian_national_number_confirm', msg)
+
+ if syrian_national_number != syrian_national_number_confirm:
+ msg = "The national numbers are not matched"
+ self.add_error('syrian_national_number_confirm', msg)
+
+ if id_type == 'Lebanese national ID':
+ if not parent_national_number:
+ self.add_error('parent_national_number', 'This field is required')
+
+ if not parent_national_number_confirm:
+ self.add_error('parent_national_number_confirm', 'This field is required')
+
+ if parent_national_number and not len(parent_national_number) == 12:
+ msg = "Please enter a valid number (12 digits)"
+ self.add_error('parent_national_number', msg)
+
+ if parent_national_number_confirm and not len(parent_national_number_confirm) == 12:
+ msg = "Please enter a valid number (12 digits)"
+ self.add_error('parent_national_number_confirm', msg)
+
+ if parent_national_number != parent_national_number_confirm:
+ msg = "The national numbers are not matched"
+ self.add_error('parent_national_number_confirm', msg)
+
+ if national_number != national_number_confirm:
+ msg = "The national numbers are not matched"
+ self.add_error('national_number_confirm', msg)
+
+ if id_type == 'Palestinian national ID':
+ if not sop_parent_national_number:
+ self.add_error('parent_sop_national_number', 'This field is required')
+
+ if not sop_parent_national_number_confirm:
+ self.add_error('parent_sop_national_number_confirm', 'This field is required')
+
+ if sop_parent_national_number != sop_parent_national_number_confirm:
+ msg = "The national numbers are not matched"
+ self.add_error('parent_sop_national_number_confirm', msg)
+
+ if sop_national_number != sop_national_number_confirm:
+ msg = "The national numbers are not matched"
+ self.add_error('sop_national_number_confirm', msg)
+
def save(self, request=None, instance=None, serializer=None):
super(BLNForm, self).save(request=request, instance=instance, serializer=BLNSerializer)
@@ -656,14 +1131,49 @@ class Meta:
fields = CommonForm.Meta.fields + (
# 'cycle',
# 'referral',
+ 'first_attendance_date',
'student_birthday_year',
'student_family_status',
'student_have_children',
+ 'have_labour',
+ 'labours',
+ 'labour_hours',
+ 'phone_number',
+ 'phone_number_confirm',
+ 'id_type',
+ 'case_number',
+ 'case_number_confirm',
+ 'individual_case_number',
+ 'individual_case_number_confirm',
+ 'parent_individual_case_number',
+ 'parent_individual_case_number_confirm',
+ 'recorded_number',
+ 'recorded_number_confirm',
+ 'national_number',
+ 'national_number_confirm',
+ 'syrian_national_number',
+ 'syrian_national_number_confirm',
+ 'sop_national_number',
+ 'sop_national_number_confirm',
+ 'parent_national_number',
+ 'parent_national_number_confirm',
+ 'parent_syrian_national_number',
+ 'parent_syrian_national_number_confirm',
+ 'parent_sop_national_number',
+ 'parent_sop_national_number_confirm',
+ 'no_child_id_confirmation',
+ 'source_of_identification',
+ 'other_nationality',
+ 'education_status',
+ 'caretaker_first_name',
+ 'caretaker_middle_name',
+ 'caretaker_last_name',
+ 'caretaker_mother_name',
)
class Media:
js = (
- # 'js/jquery-1.12.3.min.js',
+ # 'js/jquery-3.3.1.min.js',
# 'js/jquery-ui-1.12.1.js',
# 'js/validator.js',
# 'js/registrations.js',
@@ -693,7 +1203,22 @@ class RSForm(CommonForm):
choices=(('no', _("No")), ),
initial='no'
)
-
+ have_labour = forms.MultipleChoiceField(
+ label=_('Does the child participate in work?'),
+ choices=CLM.HAVE_LABOUR,
+ widget=forms.CheckboxSelectMultiple,
+ required=False, initial='no'
+ )
+ labours = forms.MultipleChoiceField(
+ label=_('What is the type of work ?'),
+ choices=CLM.LABOURS,
+ widget=forms.CheckboxSelectMultiple,
+ required=False
+ )
+ labour_hours = forms.CharField(
+ label=_('How many hours does this child work in a day?'),
+ widget=forms.TextInput, required=False
+ )
type = forms.ChoiceField(
widget=forms.Select, required=True,
label=_('Select the program type'),
@@ -798,7 +1323,7 @@ class RSForm(CommonForm):
('', '----------'),
('repeat_level', _('Repeat level')),
# ('dropout', _('Dropout from school')),
- ('graduated_next_level', _('Graduated to the next level')),
+ ('graduated_next_level', _('Referred to the next level')),
),
initial=''
)
@@ -1048,17 +1573,22 @@ def __init__(self, *args, **kwargs):
HTML('1'),
Div('hh_educational_level', css_class='col-md-4'),
HTML('2'),
- Div('student_family_status', css_class='col-md-3'),
+ Div('father_educational_level', css_class='col-md-4'),
+ css_class='row',
+ ),
+ Div(
HTML('3'),
+ Div('student_family_status', css_class='col-md-3'),
+ HTML('4'),
Div('student_have_children', css_class='col-md-3', css_id='student_have_children'),
css_class='row',
),
Div(
- HTML('4'),
- Div('have_labour', css_class='col-md-4'),
HTML('5'),
- Div('labours', css_class='col-md-3', css_id='labours'),
+ Div('have_labour', css_class='col-md-4'),
HTML('6'),
+ Div('labours', css_class='col-md-3', css_id='labours'),
+ HTML('7'),
Div('labour_hours', css_class='col-md-3', css_id='labour_hours'),
css_class='row',
),
@@ -1215,23 +1745,27 @@ def __init__(self, *args, **kwargs):
),
Div(
HTML('1'),
+ Div('unsuccessful_pretest_reason', css_class='col-md-3'),
+ HTML('2'),
Div('unsuccessful_posttest_reason', css_class='col-md-3'),
css_class='row',
),
Div(
- HTML('2'),
- Div('participation', css_class='col-md-3'),
HTML('3'),
- Div('barriers', css_class='col-md-3'),
+ Div('participation', css_class='col-md-3'),
HTML('4'),
+ Div('barriers', css_class='col-md-3'),
+ HTML('5'),
Div('learning_result', css_class='col-md-3'),
css_class='row',
),
css_class='bd-callout bd-callout-warning'+display_assessment
),
FormActions(
- Submit('save', _('Save')),
- Submit('save_add_another', _('Save and add another'), css_class='child_data'),
+ Submit('save', _('Save'), css_class='col-md-2'),
+ Submit('save_add_another', _('Save and add another'), css_class='col-md-2 child_data'),
+ Submit('save_and_continue', _('Save and continue'), css_class='col-md-2 child_data'),
+ Submit('save_and_pretest', _('Save and Fill pre-test'), css_class='col-md-2 child_data'),
HTML('' + _('Back to list') + ''),
)
)
@@ -1250,6 +1784,9 @@ class Meta:
'grade',
'section',
'referral',
+ 'have_labour',
+ 'labours',
+ 'labour_hours',
'registered_in_school',
'student_family_status',
'student_have_children',
@@ -1278,7 +1815,7 @@ class CBECEForm(CommonForm):
cycle = forms.ModelChoiceField(
queryset=Cycle.objects.all(), widget=forms.Select,
label=_('In which cycle is this child registered?'),
- required=False, to_field_name='id',
+ required=True, to_field_name='id',
initial=0
)
site = forms.ChoiceField(
@@ -1317,6 +1854,30 @@ class CBECEForm(CommonForm):
widget=forms.NumberInput,
min_value=0, max_value=80
)
+ # learning_result = forms.ChoiceField(
+ # label=_('Based on the overall score, what is the recommended learning path?'),
+ # widget=forms.Select, required=False,
+ # choices=(
+ # ('', '----------'),
+ # ('repeat_level', _('Repeat level')),
+ # ('graduated_next_level', _('Referred to the next level')),
+ # ('graduated_to_formal_education_level1', _('Referred to formal education - Level 1')),
+ # ('referred_to_another_program', _('Referred to another program')),
+ # ),
+ # initial=''
+ # )
+ round = forms.ModelChoiceField(
+ queryset=CLMRound.objects.all(), widget=forms.Select,
+ label=_('Round'),
+ empty_label='-------',
+ required=True, to_field_name='id',
+ # initial=CLMRound.objects.filter(current_round_cbece=True).first().id
+ )
+
+ first_attendance_date = forms.DateField(
+ label=_("First attendance date"),
+ required=True
+ )
def __init__(self, *args, **kwargs):
self.request = kwargs.pop('request', None)
@@ -1346,14 +1907,14 @@ def __init__(self, *args, **kwargs):
if instance.pre_test:
pre_test_button = ' btn-success '
- post_test_button = ' btn-outline-success '
- post_test = instance.assessment_form(
- stage='post_test',
- assessment_slug='cbece_post_test',
- callback=self.request.build_absolute_uri(reverse('clm:cbece_edit', kwargs={'pk': instance.id}))
- )
- if instance.post_test:
- post_test_button = ' btn-success '
+ # post_test_button = ' btn-outline-success '
+ # post_test = instance.assessment_form(
+ # stage='post_test',
+ # assessment_slug='cbece_post_test',
+ # callback=self.request.build_absolute_uri(reverse('clm:cbece_edit', kwargs={'pk': instance.id}))
+ # )
+ # if instance.post_test:
+ # post_test_button = ' btn-success '
if instance.cycle_id == 3:
display_final_grade = ''
@@ -1414,28 +1975,30 @@ def __init__(self, *args, **kwargs):
Div(
HTML('1'),
Div('round', css_class='col-md-3'),
+ HTML('2'),
+ Div('first_attendance_date', css_class='col-md-3'),
css_class='row',
),
Div(
- HTML('2'),
- Div('cycle', css_class='col-md-3'),
HTML('3'),
- Div('site', css_class='col-md-3'),
+ Div('cycle', css_class='col-md-3'),
HTML('4'),
+ Div('site', css_class='col-md-3'),
+ HTML('5'),
Div('school', css_class='col-md-4'),
css_class='row',
),
Div(
- HTML('5'),
- Div('governorate', css_class='col-md-3'),
HTML('6'),
- Div('district', css_class='col-md-3'),
+ Div('governorate', css_class='col-md-3'),
HTML('7'),
+ Div('district', css_class='col-md-3'),
+ HTML('8'),
Div('location', css_class='col-md-3'),
css_class='row',
),
Div(
- HTML('8'),
+ HTML('9'),
Div('language', css_class='col-md-3'),
css_class='row',
),
@@ -1511,17 +2074,19 @@ def __init__(self, *args, **kwargs):
Div(
HTML('1'),
Div('hh_educational_level', css_class='col-md-3'),
- css_class='row',
- ),
- Div(
HTML('2'),
- Div('have_labour', css_class='col-md-3'),
- HTML('3'),
- Div('labours', css_class='col-md-3', css_id='labours'),
- HTML('4'),
- Div('labour_hours', css_class='col-md-3', css_id='labour_hours'),
+ Div('father_educational_level', css_class='col-md-3'),
css_class='row',
),
+ # Div(
+ # HTML('2'),
+ # Div('have_labour', css_class='col-md-3'),
+ # HTML('3'),
+ # Div('labours', css_class='col-md-3', css_id='labours'),
+ # HTML('4'),
+ # Div('labour_hours', css_class='col-md-3', css_id='labour_hours'),
+ # css_class='row',
+ # ),
css_class='bd-callout bd-callout-warning child_data'
),
Fieldset(
@@ -1530,11 +2095,14 @@ def __init__(self, *args, **kwargs):
HTML('' + _('Assessment') + '
')
),
Div(
+ HTML('1'),
HTML(''),
- HTML(''),
- css_class='row',
+ HTML('2'),
+ Div('unsuccessful_pretest_reason', css_class='col-md-3'),
+ # HTML(''),
+ # css_class='row',
),
Div(
HTML(''),
@@ -1542,32 +2110,36 @@ def __init__(self, *args, **kwargs):
),
css_class='bd-callout bd-callout-warning'+display_assessment
),
- Fieldset(
- None,
- Div(
- HTML('' + _('School evaluation') + '
')
- ),
- Div(
- HTML('1'),
- Div('unsuccessful_posttest_reason', css_class='col-md-3'),
- HTML('2'),
- Div('final_grade', css_class='col-md-3'+display_final_grade),
- css_class='row',
- ),
- Div(
- HTML('3'),
- Div('participation', css_class='col-md-3'),
- HTML('4'),
- Div('barriers', css_class='col-md-3'),
- HTML('5'),
- Div('learning_result', css_class='col-md-3'),
- css_class='row',
- ),
- css_class='bd-callout bd-callout-warning'+display_assessment
- ),
+ # Fieldset(
+ # None,
+ # Div(
+ # HTML('' + _('School evaluation') + '
')
+ # ),
+ # Div(
+ # HTML('1'),
+ # Div('unsuccessful_pretest_reason', css_class='col-md-3'),
+ # HTML('2'),
+ # Div('unsuccessful_posttest_reason', css_class='col-md-3'),
+ # HTML('3'),
+ # Div('final_grade', css_class='col-md-3'+display_final_grade),
+ # css_class='row',
+ # ),
+ # Div(
+ # HTML('4'),
+ # Div('participation', css_class='col-md-3'),
+ # HTML('5'),
+ # Div('barriers', css_class='col-md-3'),
+ # HTML('6'),
+ # Div('learning_result', css_class='col-md-3'),
+ # css_class='row',
+ # ),
+ # css_class='bd-callout bd-callout-warning'+display_assessment
+ # ),
FormActions(
- Submit('save', _('Save')),
- Submit('save_add_another', _('Save and add another'), css_class='child_data'),
+ Submit('save', _('Save'), css_class='col-md-2'),
+ Submit('save_add_another', _('Save and add another'), css_class='col-md-2 child_data'),
+ Submit('save_and_continue', _('Save and continue'), css_class='col-md-2 child_data'),
+ Submit('save_and_pretest', _('Save and Fill pre-test'), css_class='col-md-2 child_data'),
HTML('' + _('Back to list') + ''),
)
)
@@ -1584,50 +2156,1970 @@ class Meta:
'school',
'referral',
'child_muac',
- 'final_grade',
+ # 'final_grade',
)
-class BLNAdminForm(forms.ModelForm):
-
- student = forms.ModelChoiceField(
- queryset=Student.objects.all(),
- widget=autocomplete.ModelSelect2(url='student_autocomplete')
- )
-
- def __init__(self, *args, **kwargs):
- super(BLNAdminForm, self).__init__(*args, **kwargs)
-
- class Meta:
- model = BLN
- fields = '__all__'
-
+class ABLNForm(CommonForm):
-class RSAdminForm(forms.ModelForm):
+ YEARS_BLN = list(((str(x), x) for x in range(Person.CURRENT_YEAR - 16, Person.CURRENT_YEAR)))
+ YEARS_BLN.insert(0, ('', '---------'))
- student = forms.ModelChoiceField(
- queryset=Student.objects.all(),
- widget=autocomplete.ModelSelect2(url='student_autocomplete')
+ # participation = forms.ChoiceField(
+ # label=_('How was the level of child participation in the program?'),
+ # widget=forms.Select, required=False,
+ # choices=(
+ # ('', '----------'),
+ # ('less_than_3days', _('Less than 3 absence days')),
+ # ('3_7_days', _('3 to 7 absence days')),
+ # ('7_12_days', _('7 to 12 absence days')),
+ # ('more_than_12days', _('More than 12 absence days'))
+ # ),
+ # initial=''
+ # )
+ first_attendance_date = forms.DateField(
+ label=_("First attendance date"),
+ required=True
)
- def __init__(self, *args, **kwargs):
- super(RSAdminForm, self).__init__(*args, **kwargs)
-
- class Meta:
- model = RS
- fields = '__all__'
+ round = forms.ModelChoiceField(
+ queryset=CLMRound.objects.filter(current_round_abln=True), widget=forms.Select,
+ label=_('Round'),
+ empty_label='-------',
+ required=True, to_field_name='id',
+ # initial=8
+ )
+ student_birthday_year = forms.ChoiceField(
+ label=_("Birthday year"),
+ widget=forms.Select, required=True,
+ choices=YEARS_BLN
+ )
+ student_family_status = forms.ChoiceField(
+ label=_('What is the family status of the child?'),
+ widget=forms.Select, required=True,
+ choices=Student.FAMILY_STATUS,
+ initial='single'
+ )
+ student_have_children = forms.TypedChoiceField(
+ label=_("Does the child have children?"),
+ choices=YES_NO_CHOICE,
+ coerce=lambda x: bool(int(x)),
+ widget=forms.RadioSelect,
+ required=True,
+ )
+ have_labour = forms.MultipleChoiceField(
+ label=_('Does the child participate in work?'),
+ choices=CLM.HAVE_LABOUR,
+ widget=forms.CheckboxSelectMultiple,
+ required=True, initial='no'
+ )
+ labours = forms.MultipleChoiceField(
+ label=_('What is the type of work ?'),
+ choices=CLM.LABOURS,
+ widget=forms.CheckboxSelectMultiple,
+ required=False
+ )
+ labour_hours = forms.CharField(
+ label=_('How many hours does this child work in a day?'),
+ widget=forms.TextInput, required=False
+ )
+ # learning_result = forms.ChoiceField(
+ # label=_('Based on the overall score, what is the recommended learning path?'),
+ # widget=forms.Select, required=False,
+ # choices=(
+ # ('', '----------'),
+ # ('graduated_to_abln_next_round_same_level', _('Graduated to the next round, same level')),
+ # ('graduated_to_abln_next_round_higher_level', _('Graduated to the next round, higher level')),
+ # ('referred_to_bln', _('Referred to BLN')),
+ # ('referred_to_ybln', _('Referred to YBLN')),
+ # ('referred_to_alp', _('Referred to ALP')),
+ # ('referred_to_cbt', _('Referred to CBT')),
+ # ('dropout', _('Dropout, referral not possible')),
+ # ),
+ # initial=''
+ # )
-class CBECEAdminForm(forms.ModelForm):
+ education_status = forms.ChoiceField(
+ label=_('Education status'),
+ widget=forms.Select, required=True,
+ choices=(
+ ('', '----------'),
+ ('out of school', _('Out of school')),
+ ('enrolled in formal education but did not continue', _("Enrolled in formal education but did not continue")),
+ ('enrolled in ABLN', _("Enrolled in ABLN")),
+ ),
+ initial=''
+ )
- student = forms.ModelChoiceField(
- queryset=Student.objects.all(),
- widget=autocomplete.ModelSelect2(url='student_autocomplete')
+ other_nationality = forms.CharField(
+ label=_('Specify the nationality'),
+ widget=forms.TextInput, required=False
)
- def __init__(self, *args, **kwargs):
- super(CBECEAdminForm, self).__init__(*args, **kwargs)
+ phone_number = forms.RegexField(
+ regex=r'^((03)|(70)|(71)|(76)|(78)|(79)|(81))-\d{6}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: XX-XXXXXX'}),
+ required=True,
+ label=_('Phone number (own or closest relative)')
+ )
+ phone_number_confirm = forms.RegexField(
+ regex=r'^((03)|(70)|(71)|(76)|(78)|(79)|(81))-\d{6}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: XX-XXXXXX'}),
+ required=True,
+ label=_('Phone number confirm')
+ )
+
+ id_type = forms.ChoiceField(
+ label=_("ID type of the caretaker"),
+ widget=forms.Select(attrs=({'translation': _('Child no ID confirmation popup message')})),
+ required=True,
+ choices=(
+ ('', '----------'),
+ ('UNHCR Registered', _('UNHCR Registered')),
+ ('UNHCR Recorded', _("UNHCR Recorded")),
+ ('Syrian national ID', _("Syrian national ID")),
+ ('Palestinian national ID', _("Palestinian national ID")),
+ ('Lebanese national ID', _("Lebanese national ID")),
+ ('Child have no ID', _("Child have no ID"))
+ ),
+ initial=''
+ )
+ case_number = forms.RegexField(
+ regex=r'^((245)|(380)|(568)|(705)|(781)|(909)|(947)|(954)|(LEB)|(leb))-[0-9][0-9][C]\d{5}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: XXX-XXCXXXXX'}),
+ required=False,
+ label=_('UNHCR Case Number')
+ )
+ case_number_confirm = forms.RegexField(
+ regex=r'^((245)|(380)|(568)|(705)|(781)|(909)|(947)|(954)|(LEB)|(leb))-[0-9][0-9][C]\d{5}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: XXX-XXCXXXXX'}),
+ required=False,
+ label=_('Confirm UNHCR Case Number')
+ )
+ parent_individual_case_number = forms.RegexField(
+ regex=r'^((245)|(380)|(568)|(705)|(781)|(909)|(947)|(954)|(LEB)|(leb))-[0-9]{8}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: XXX-XXXXXXXX'}),
+ required=False,
+ label=_(
+ 'Caretaker Individual ID from the certificate (Optional, in case not listed in the certificate)')
+ )
+ parent_individual_case_number_confirm = forms.RegexField(
+ regex=r'^((245)|(380)|(568)|(705)|(781)|(909)|(947)|(954)|(LEB)|(leb))-[0-9]{8}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: XXX-XXXXXXXX'}),
+ required=False,
+ label=_(
+ 'Confirm Caretaker Individual ID from the certificate (Optional, in case not listed in the certificate)')
+ )
+ individual_case_number = forms.RegexField(
+ regex=r'^((245)|(380)|(568)|(705)|(781)|(909)|(947)|(954)|(LEB)|(leb))-[0-9]{8}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: XXX-XXXXXXXX'}),
+ required=False,
+ label=_(
+ 'Individual ID of the Child from the certificate (Optional, in case not listed in the certificate)')
+ )
+ individual_case_number_confirm = forms.RegexField(
+ regex=r'^((245)|(380)|(568)|(705)|(781)|(909)|(947)|(954)|(LEB)|(leb))-[0-9]{8}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: XXX-XXXXXXXX'}),
+ required=False,
+ label=_(
+ 'Confirm Individual ID of the Child from the certificate (Optional, in case not listed in the certificate)')
+ )
+ recorded_number = forms.RegexField(
+ regex=r'^((245)|(380)|(568)|(705)|(781)|(909)|(947)|(954)|(LEB)|(leb))-[0-9][0-9][C]\d{5}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: LEB-XXCXXXXX'}),
+ required=False,
+ label=_('UNHCR Barcode number (Shifra number)')
+ )
+ recorded_number_confirm = forms.RegexField(
+ regex=r'^((245)|(380)|(568)|(705)|(781)|(909)|(947)|(954)|(LEB)|(leb))-[0-9][0-9][C]\d{5}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: LEB-XXCXXXXX'}),
+ required=False,
+ label=_('Confirm UNHCR Barcode number (Shifra number)')
+ )
+
+ national_number = forms.RegexField(
+ regex=r'^\d{12}$',
+ required=False,
+ label=_('Lebanese ID number of the child (Optional)')
+ )
+ national_number_confirm = forms.RegexField(
+ regex=r'^\d{12}$',
+ required=False,
+ label=_('Confirm Lebanese ID number of the child (optional)')
+ )
+ syrian_national_number = forms.RegexField(
+ regex=r'^\d{11}$',
+ required=False,
+ label=_('National ID number of the child (Optional)')
+ )
+ syrian_national_number_confirm = forms.RegexField(
+ regex=r'^\d{11}$',
+ required=False,
+ label=_('Confirm National ID number of the child (Optional)')
+ )
+ sop_national_number = forms.CharField(
+ required=False,
+ label=_('Palestinian ID number of the child (Optional)')
+ )
+ sop_national_number_confirm = forms.CharField(
+ required=False,
+ label=_('Confirm Palestinian ID number of the child (optional)')
+ )
+ parent_national_number = forms.RegexField(
+ regex=r'^\d{12}$',
+ required=False,
+ label=_('Lebanese ID number of the caretaker (Mandatory)')
+ )
+ parent_national_number_confirm = forms.RegexField(
+ regex=r'^\d{12}$',
+ required=False,
+ label=_('Confirm Lebanese ID number of the caretaker (Mandatory)')
+ )
+ parent_syrian_national_number = forms.RegexField(
+ regex=r'^\d{11}$',
+ required=False,
+ label=_('National ID number of the Caretaker (Mandatory)')
+ )
+ parent_syrian_national_number_confirm = forms.RegexField(
+ regex=r'^\d{11}$',
+ required=False,
+ label=_('Confirm National ID number of the Caretaker (Mandatory)')
+ )
+ parent_sop_national_number = forms.CharField(
+ # regex=r'^\d{11}$',
+ required=False,
+ label=_('Palestinian ID number of the Caretaker (Mandatory)')
+ )
+ parent_sop_national_number_confirm = forms.CharField(
+ # regex=r'^\d{11}$',
+ required=False,
+ label=_('Confirm Palestinian ID number of the Caretaker (Mandatory)')
+ )
+
+ no_child_id_confirmation = forms.CharField(widget=forms.HiddenInput, required=False)
+ no_parent_id_confirmation = forms.CharField(widget=forms.HiddenInput, required=False)
+
+ source_of_identification = forms.ChoiceField(
+ label=_("Source of identification of the child"),
+ widget=forms.Select,
+ required=True,
+ choices=(
+ ('', '----------'),
+ ('Referred by CP partner', _('Referred by CP partner')),
+ ('Referred by youth partner', _('Referred by youth partner')),
+ ('Family walked in to NGO', _('Family walked in to NGO')),
+ ('Referral from another NGO', _('Referral from another NGO')),
+ ('Referral from another Municipality', _('Referral from Municipality')),
+ ('Direct outreach', _('Direct outreach')),
+ ('List database', _('List database'))
+ ),
+ initial=''
+ )
+
+ def __init__(self, *args, **kwargs):
+ self.request = kwargs.pop('request', None)
+ super(ABLNForm, self).__init__(*args, **kwargs)
+
+ pre_test = ''
+ # post_test = ''
+ pre_test_button = ' btn-outline-success '
+ # post_test_button = ' btn-outline-secondary disabled'
+ display_assessment = ' d-none'
+ display_registry = ''
+ instance = kwargs['instance'] if 'instance' in kwargs else ''
+ form_action = reverse('clm:abln_add')
+ self.fields['clm_type'].initial = 'ABLN'
+
+ if instance:
+ display_assessment = ''
+ display_registry = ' d-none'
+ form_action = reverse('clm:abln_edit', kwargs={'pk': instance.id})
+
+ pre_test = instance.assessment_form(
+ stage='pre_test',
+ assessment_slug='abln_pre_test',
+ callback=self.request.build_absolute_uri(reverse('clm:abln_edit', kwargs={'pk': instance.id}))
+ )
+ if instance.pre_test:
+ pre_test_button = ' btn-success '
+ # post_test_button = ' btn-outline-success '
+ # post_test = instance.assessment_form(
+ # stage='post_test',
+ # assessment_slug='abln_post_test',
+ # callback=self.request.build_absolute_uri(reverse('clm:abln_edit', kwargs={'pk': instance.id}))
+ # )
+ # if instance.post_test:
+ # post_test_button = ' btn-success '
+
+ self.helper = FormHelper()
+ self.helper.form_show_labels = True
+ self.helper.form_action = form_action
+ self.helper.layout = Layout(
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Registry') + '
')
+ ),
+ Div(
+ 'clm_type',
+ 'student_id',
+ 'enrollment_id',
+ 'student_outreach_child',
+ HTML('1'),
+ Div('new_registry', css_class='col-md-3'),
+ HTML('2'),
+ Div('student_outreached', css_class='col-md-3'),
+ HTML('3'),
+ Div('have_barcode', css_class='col-md-3', css_id='have_barcode_option'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'+display_registry, css_id='registry_block'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML(''+_('Register by Barcode')+'
')
+ ),
+ Div(
+ Div('search_barcode', css_class='col-md-4'),
+ css_class='row',
+ ),
+ css_id='register_by_barcode', css_class='bd-callout bd-callout-warning'+display_registry
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _(
+ 'Search CLM student') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('search_clm_student', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_id='search_options', css_class='bd-callout bd-callout-warning' + display_registry
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Program Information') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('first_attendance_date', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('2'),
+ Div('round', css_class='col-md-3'),
+ HTML('3'),
+ Div('source_of_identification', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('4'),
+ Div('governorate', css_class='col-md-3'),
+ HTML('5'),
+ Div('district', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('6'),
+ Div('location', css_class='col-md-3'),
+ HTML('7'),
+ Div('language', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning child_data'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Child Information') + '
')
+ ),
+ # Div(
+ # HTML('1'),
+ # Div('referral', css_class='col-md-9'),
+ # css_class='row',
+ # ),
+ Div(
+ HTML('2'),
+ Div('student_first_name', css_class='col-md-3'),
+ HTML('3'),
+ Div('student_father_name', css_class='col-md-3'),
+ HTML('4'),
+ Div('student_mother_fullname', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('5'),
+ Div('student_last_name', css_class='col-md-3'),
+ HTML('6'),
+ Div('student_sex', css_class='col-md-3'),
+ HTML('7'),
+ Div('student_nationality', css_class='col-md-3'),
+ Div('other_nationality', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('8'),
+ Div('student_birthday_year', css_class='col-md-3'),
+ HTML('9'),
+ Div('student_birthday_month', css_class='col-md-3'),
+ HTML('10'),
+ Div('student_birthday_day', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ # HTML('11'),
+ # Div('student_address', css_class='col-md-3'),
+ HTML('11'),
+ Div('student_p_code', css_class='col-md-3'),
+ HTML('12'),
+ Div('disability', css_class='col-md-3'),
+ HTML('13'),
+ Div('education_status', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('14'),
+ Div('student_id_number', css_class='col-md-3 d-none'),
+ HTML('15'),
+ Div('internal_number', css_class='col-md-3'),
+ HTML('16'),
+ Div('comments', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning child_data'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Parent/Caregiver Information') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('hh_educational_level', css_class='col-md-4'),
+ HTML('2'),
+ Div('father_educational_level', css_class='col-md-4'),
+ css_class='row',
+ ),
+ Div(
+ HTML('3'),
+ Div('phone_number', css_class='col-md-4'),
+ HTML('4'),
+ Div('phone_number_confirm', css_class='col-md-4'),
+ css_class='row',
+ ),
+ Div(
+ HTML('5'),
+ Div('caretaker_first_name', css_class='col-md-4'),
+ HTML('6'),
+ Div('caretaker_middle_name', css_class='col-md-4'),
+ css_class='row',
+ ),
+ Div(
+ HTML('7'),
+ Div('caretaker_last_name', css_class='col-md-4'),
+ HTML('8'),
+ Div('caretaker_mother_name', css_class='col-md-4'),
+ css_class='row',
+ ),
+ Div(
+ HTML('9'),
+ Div('id_type', css_class='col-md-4'),
+ css_class='row',
+ ),
+ Div(
+ HTML('10'),
+ Div('case_number', css_class='col-md-4'),
+ HTML('11'),
+ Div('case_number_confirm', css_class='col-md-4'),
+ HTML('' +
+ '' +
+ '
'),
+ css_class='row child_id child_id1',
+ ),
+ Div(
+ HTML('12'),
+ Div('parent_individual_case_number', css_class='col-md-4'),
+ HTML('13'),
+ Div('parent_individual_case_number_confirm', css_class='col-md-4'),
+ HTML('' +
+ '' +
+ '
'),
+ css_class='row child_id child_id1',
+ ),
+ Div(
+ HTML('14'),
+ Div('individual_case_number', css_class='col-md-4'),
+ HTML('15'),
+ Div('individual_case_number_confirm', css_class='col-md-4'),
+ HTML('' +
+ '' +
+ '
'),
+ css_class='row child_id child_id1',
+ ),
+ Div(
+ HTML('10'),
+ Div('recorded_number', css_class='col-md-4'),
+ HTML('11'),
+ Div('recorded_number_confirm', css_class='col-md-4'),
+ HTML('' +
+ '' +
+ '
'),
+ css_class='row child_id child_id2',
+ ),
+ Div(
+ HTML('10'),
+ Div('parent_national_number', css_class='col-md-4'),
+ HTML('11'),
+ Div('parent_national_number_confirm', css_class='col-md-4'),
+ HTML('' +
+ '' +
+ '
'),
+ css_class='row child_id child_id3',
+ ),
+ Div(
+ HTML('12'),
+ Div('national_number', css_class='col-md-4'),
+ HTML('13'),
+ Div('national_number_confirm', css_class='col-md-4'),
+ HTML('' +
+ '' +
+ '
'),
+ css_class='row child_id child_id3',
+ ),
+ Div(
+ HTML('10'),
+ Div('parent_syrian_national_number', css_class='col-md-4'),
+ HTML('11'),
+ Div('parent_syrian_national_number_confirm', css_class='col-md-4'),
+ HTML('' +
+ '' +
+ '
'),
+ css_class='row child_id child_id4',
+ ),
+ Div(
+ HTML('12'),
+ Div('syrian_national_number', css_class='col-md-4'),
+ HTML('13'),
+ Div('syrian_national_number_confirm', css_class='col-md-4'),
+ HTML('' +
+ '' +
+ '
'),
+ css_class='row child_id child_id4',
+ ),
+ Div(
+ HTML('10'),
+ Div('parent_sop_national_number', css_class='col-md-4'),
+ HTML('11'),
+ Div('parent_sop_national_number_confirm', css_class='col-md-4'),
+ HTML('' +
+ '' +
+ '
'),
+ css_class='row child_id child_id5',
+ ),
+ Div(
+ HTML('12'),
+ Div('sop_national_number', css_class='col-md-4'),
+ HTML('13'),
+ Div('sop_national_number_confirm', css_class='col-md-4'),
+ HTML('' +
+ '' +
+ '
'),
+ css_class='row child_id child_id5',
+ ),
+ css_class='bd-callout bd-callout-warning child_data'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Family Status') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('student_family_status', css_class='col-md-3'),
+ HTML('2'),
+ Div('student_have_children', css_class='col-md-3', css_id='student_have_children'),
+ css_class='row',
+ ),
+ Div(
+ HTML('3'),
+ Div('have_labour', css_class='col-md-4'),
+ HTML('4'),
+ Div('labours', css_class='col-md-3', css_id='labours'),
+ HTML('5'),
+ Div('labour_hours', css_class='col-md-3', css_id='labour_hours'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning child_data'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Assessment data') + '
')
+ ),
+ Div(
+ HTML('1'),
+ HTML(''),
+ HTML('2'),
+ Div('unsuccessful_pretest_reason', css_class='col-md-3'),
+ # HTML(
+ # ''),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ css_class='row'
+ ),
+ css_class='bd-callout bd-callout-warning' + display_assessment
+ ),
+ # Fieldset(
+ # None,
+ # Div(
+ # HTML('' + _('School evaluation') + '
')
+ # ),
+ # Div(
+ # HTML('1'),
+ # Div('unsuccessful_pretest_reason', css_class='col-md-3'),
+ # HTML('2'),
+ # Div('unsuccessful_posttest_reason', css_class='col-md-3'),
+ # css_class='row',
+ # ),
+ # Div(
+ # HTML('3'),
+ # Div('participation', css_class='col-md-3'),
+ # HTML('4'),
+ # Div('barriers', css_class='col-md-3'),
+ # HTML('5'),
+ # Div('learning_result', css_class='col-md-3'),
+ # css_class='row',
+ # ),
+ # css_class='bd-callout bd-callout-warning'+display_assessment
+ # ),
+ FormActions(
+ Submit('save', _('Save'), css_class='col-md-2'),
+ Submit('save_add_another', _('Save and add another'), css_class='col-md-2 child_data'),
+ Submit('save_and_continue', _('Save and continue'), css_class='col-md-2 child_data'),
+ Submit('save_and_pretest', _('Save and Fill pre-test'), css_class='col-md-2 child_data'),
+ HTML('' + _('Back to list') + ''),
+ )
+ )
+
+ def clean(self):
+ cleaned_data = super(ABLNForm, self).clean()
+
+ phone_number = cleaned_data.get("phone_number")
+ phone_number_confirm = cleaned_data.get("phone_number_confirm")
+ id_type = cleaned_data.get("id_type")
+ case_number = cleaned_data.get("case_number")
+ case_number_confirm = cleaned_data.get("case_number_confirm")
+ individual_case_number = cleaned_data.get("individual_case_number")
+ individual_case_number_confirm = cleaned_data.get("individual_case_number_confirm")
+ recorded_number = cleaned_data.get("recorded_number")
+ recorded_number_confirm = cleaned_data.get("recorded_number_confirm")
+ national_number = cleaned_data.get("national_number")
+ national_number_confirm = cleaned_data.get("national_number_confirm")
+ syrian_national_number = cleaned_data.get("syrian_national_number")
+ syrian_national_number_confirm = cleaned_data.get("syrian_national_number_confirm")
+ sop_national_number = cleaned_data.get("sop_national_number")
+ sop_national_number_confirm = cleaned_data.get("sop_national_number_confirm")
+
+ parent_individual_case_number = cleaned_data.get("parent_individual_case_number")
+ parent_individual_case_number_confirm = cleaned_data.get("parent_individual_case_number_confirm")
+ parent_national_number = cleaned_data.get("parent_national_number")
+ parent_national_number_confirm = cleaned_data.get("parent_national_number_confirm")
+ sop_parent_national_number = cleaned_data.get("parent_sop_national_number")
+ sop_parent_national_number_confirm = cleaned_data.get("parent_sop_national_number_confirm")
+ parent_syrian_national_number = cleaned_data.get("parent_syrian_national_number")
+ parent_syrian_national_number_confirm = cleaned_data.get("parent_syrian_national_number_confirm")
+
+ if phone_number != phone_number_confirm:
+ msg = "The phone numbers are not matched"
+ self.add_error('phone_number_confirm', msg)
+
+ if id_type == 'UNHCR Registered':
+ if not case_number:
+ self.add_error('case_number', 'This field is required')
+
+ if case_number != case_number_confirm:
+ msg = "The case numbers are not matched"
+ self.add_error('case_number_confirm', msg)
+
+ if parent_individual_case_number != parent_individual_case_number_confirm:
+ msg = "The individual case numbers are not matched"
+ self.add_error('parent_individual_case_number_confirm', msg)
+
+ if individual_case_number != individual_case_number_confirm:
+ msg = "The individual case numbers are not matched"
+ self.add_error('individual_case_number_confirm', msg)
+
+ if id_type == 'UNHCR Recorded':
+ if not recorded_number:
+ self.add_error('recorded_number', 'This field is required')
+
+ if recorded_number != recorded_number_confirm:
+ msg = "The recorded numbers are not matched"
+ self.add_error('recorded_number_confirm', msg)
+
+ if id_type == 'Syrian national ID':
+
+ if not parent_syrian_national_number:
+ self.add_error('parent_syrian_national_number', 'This field is required')
+
+ if not parent_syrian_national_number_confirm:
+ self.add_error('parent_syrian_national_number_confirm', 'This field is required')
+
+ if parent_syrian_national_number_confirm and not len(parent_syrian_national_number_confirm) == 11:
+ msg = "Please enter a valid number (11 digits)"
+ self.add_error('parent_syrian_national_number_confirm', msg)
+
+ if parent_syrian_national_number and not len(parent_syrian_national_number) == 11:
+ msg = "Please enter a valid number (11 digits)"
+ self.add_error('parent_syrian_national_number', msg)
+
+ if parent_syrian_national_number != parent_syrian_national_number_confirm:
+ msg = "The national numbers are not matched"
+ self.add_error('parent_syrian_national_number_confirm', msg)
+
+ if syrian_national_number != syrian_national_number_confirm:
+ msg = "The national numbers are not matched"
+ self.add_error('syrian_national_number_confirm', msg)
+
+ if id_type == 'Lebanese national ID':
+ if not parent_national_number:
+ self.add_error('parent_national_number', 'This field is required')
+
+ if not parent_national_number_confirm:
+ self.add_error('parent_national_number_confirm', 'This field is required')
+
+ if parent_national_number and not len(parent_national_number) == 12:
+ msg = "Please enter a valid number (12 digits)"
+ self.add_error('parent_national_number', msg)
+
+ if parent_national_number_confirm and not len(parent_national_number_confirm) == 12:
+ msg = "Please enter a valid number (12 digits)"
+ self.add_error('parent_national_number_confirm', msg)
+
+ if parent_national_number != parent_national_number_confirm:
+ msg = "The national numbers are not matched"
+ self.add_error('parent_national_number_confirm', msg)
+
+ if national_number != national_number_confirm:
+ msg = "The national numbers are not matched"
+ self.add_error('national_number_confirm', msg)
+
+ if id_type == 'Palestinian national ID':
+ if not sop_parent_national_number:
+ self.add_error('parent_sop_national_number', 'This field is required')
+
+ if not sop_parent_national_number_confirm:
+ self.add_error('parent_sop_national_number_confirm', 'This field is required')
+
+ if sop_parent_national_number != sop_parent_national_number_confirm:
+ msg = "The national numbers are not matched"
+ self.add_error('parent_sop_national_number_confirm', msg)
+
+ if sop_national_number != sop_national_number_confirm:
+ msg = "The national numbers are not matched"
+ self.add_error('sop_national_number_confirm', msg)
+
+ def save(self, request=None, instance=None, serializer=None):
+ super(ABLNForm, self).save(request=request, instance=instance, serializer=ABLNSerializer)
+
+ class Meta:
+ model = ABLN
+ fields = CommonForm.Meta.fields + (
+ # 'cycle',
+ # 'referral',
+ 'first_attendance_date',
+ 'student_birthday_year',
+ 'student_family_status',
+ 'student_have_children',
+ 'have_labour',
+ 'labours',
+ 'labour_hours',
+ 'phone_number',
+ 'phone_number_confirm',
+ 'id_type',
+ 'case_number',
+ 'case_number_confirm',
+ 'individual_case_number',
+ 'individual_case_number_confirm',
+ 'parent_individual_case_number',
+ 'parent_individual_case_number_confirm',
+ 'recorded_number',
+ 'recorded_number_confirm',
+ 'national_number',
+ 'national_number_confirm',
+ 'syrian_national_number',
+ 'syrian_national_number_confirm',
+ 'sop_national_number',
+ 'sop_national_number_confirm',
+ 'parent_national_number',
+ 'parent_national_number_confirm',
+ 'parent_syrian_national_number',
+ 'parent_syrian_national_number_confirm',
+ 'parent_sop_national_number',
+ 'parent_sop_national_number_confirm',
+ 'no_child_id_confirmation',
+ 'source_of_identification',
+ 'other_nationality',
+ 'education_status',
+ 'caretaker_first_name',
+ 'caretaker_middle_name',
+ 'caretaker_last_name',
+ 'caretaker_mother_name',
+ )
+
+ class Media:
+ js = (
+ # 'js/jquery-3.3.1.min.js',
+ # 'js/jquery-ui-1.12.1.js',
+ # 'js/validator.js',
+ # 'js/registrations.js',
+ )
+
+
+class ABLNAssessmentForm(forms.ModelForm):
+
+ participation = forms.ChoiceField(
+ label=_('How was the level of child participation in the program?'),
+ widget=forms.Select, required=True,
+ choices=(
+ ('', '----------'),
+ ('less_than_3days', _('Less than 3 absence days')),
+ ('3_7_days', _('3 to 7 absence days')),
+ ('7_12_days', _('7 to 12 absence days')),
+ ('more_than_12days', _('More than 12 absence days')),
+ ('no_absence', _('No Absence'))
+ ),
+ initial=''
+ )
+ learning_result = forms.ChoiceField(
+ label=_('Based on the overall score, what is the recommended learning path?'),
+ widget=forms.Select, required=True,
+ choices=(
+ ('', '----------'),
+ ('graduated_to_abln_next_round_same_level', _('Graduated to the next round, same level')),
+ ('graduated_to_abln_next_round_higher_level', _('Graduated to the next round, higher level')),
+ ('referred_to_bln', _('Referred to BLN')),
+ ('referred_to_ybln', _('Referred to YBLN')),
+ # ('referred_to_alp', _('Referred to ALP')),
+ ('referred_to_cbt', _('Referred to CBT')),
+ ('dropout', _('Dropout, referral not possible')),
+ ),
+ initial=''
+ )
+ barriers = forms.MultipleChoiceField(
+ label=_('The main barriers affecting the daily attendance and performance '
+ 'of the child or drop out of programme? (Select more than one if applicable)'),
+ choices=CLM.BARRIERS,
+ widget=forms.CheckboxSelectMultiple,
+ required=True
+ )
+
+ # cycle_completed = forms.TypedChoiceField(
+ # label=_("Completed the cycle?"),
+ # choices=YES_NO_CHOICE,
+ # coerce=lambda x: bool(int(x)),
+ # widget=forms.RadioSelect,
+ # required=True,
+ # initial=False,
+ # )
+ # enrolled_at_school = forms.TypedChoiceField(
+ # label=_("Enrolled at school?"),
+ # choices=YES_NO_CHOICE,
+ # coerce=lambda x: bool(int(x)),
+ # widget=forms.RadioSelect,
+ # required=True,
+ # initial=False,
+ # )
+ clm_type = forms.CharField(widget=forms.HiddenInput, required=False)
+
+ def __init__(self, *args, **kwargs):
+ self.request = kwargs.pop('request', None)
+ super(ABLNAssessmentForm, self).__init__(*args, **kwargs)
+
+ post_test = ''
+ post_test_button = ' btn-outline-secondary disabled'
+ instance = kwargs['instance'] if 'instance' in kwargs else ''
+ self.fields['clm_type'].initial = 'ABLN'
+
+ display_assessment = ''
+ form_action = reverse('clm:abln_post_assessment', kwargs={'pk': instance.id})
+
+ if instance.pre_test:
+ post_test_button = ' btn-outline-success '
+ post_test = instance.assessment_form(
+ stage='post_test',
+ assessment_slug='abln_post_test',
+ callback=self.request.build_absolute_uri(reverse('clm:abln_post_assessment', kwargs={'pk': instance.id}))
+ )
+ if instance.post_test:
+ post_test_button = ' btn-success '
+
+ self.helper = FormHelper()
+ self.helper.form_show_labels = True
+ self.helper.form_action = form_action
+ self.helper.layout = Layout(
+ Fieldset(
+ None,
+ Div(
+ 'clm_type',
+ HTML('' + _('Assessment data') + '
')
+ ),
+ Div(
+ HTML(
+ ''),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ css_class='row'
+ ),
+ css_class='bd-callout bd-callout-warning' + display_assessment
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('School evaluation') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('unsuccessful_posttest_reason', css_class='col-md-4'),
+ HTML('2'),
+ Div('participation', css_class='col-md-4'),
+ css_class='row',
+ ),
+ Div(
+ HTML('3'),
+ Div('barriers', css_class='col-md-4'),
+ HTML('4'),
+ Div('learning_result', css_class='col-md-4'),
+ css_class='row',
+ ),
+ Div(
+ HTML('5'),
+ Div('cycle_completed', css_class='col-md-4'),
+ HTML('6'),
+ Div('enrolled_at_school', css_class='col-md-4'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'+display_assessment
+ ),
+ FormActions(
+ Submit('save', _('Save'), css_class='col-md-2'),
+ HTML('' + _('Back to list') + ''),
+ )
+ )
+
+ def save(self, instance=None, request=None):
+ instance = super(ABLNAssessmentForm, self).save()
+ instance.modified_by = request.user
+ instance.save()
+ messages.success(request, _('Your data has been sent successfully to the server'))
+
+ class Meta:
+ model = ABLN
+ fields = (
+ 'participation',
+ 'barriers',
+ 'learning_result',
+ 'unsuccessful_posttest_reason',
+ 'cycle_completed',
+ 'enrolled_at_school',
+ )
+
+
+class BLNAssessmentForm(forms.ModelForm):
+
+ participation = forms.ChoiceField(
+ label=_('How was the level of child participation in the program?'),
+ widget=forms.Select, required=True,
+ choices=(
+ ('', '----------'),
+ ('less_than_10days', _('Less than 10 absence days')),
+ ('10_15_days', _('10 to 15 absence days')),
+ ('15_20_days', _('15 to 20 absence days')),
+ ('more_than_20days', _('More than 20 absence days')),
+ ('no_absence', _('No Absence'))
+ ),
+ initial=''
+ )
+ learning_result = forms.ChoiceField(
+ label=_('Based on the overall score, what is the recommended learning path?'),
+ widget=forms.Select, required=True,
+ choices=(
+ ('', '----------'),
+ ('graduated_to_bln_next_level', _('Graduated to the next level')),
+ ('graduated_to_bln_next_round_same_level', _('Graduated to the next round, same level')),
+ ('graduated_to_bln_next_round_higher_level', _('Graduated to the next round, higher level')),
+ ('referred_to_alp', _('referred to ALP')),
+ ('referred_public_school', _('Referred to public school')),
+ ('referred_to_tvet', _('Referred to TVET')),
+ ('referred_to_ybln', _('Referred to YBLN')),
+ ('dropout', _('Dropout, referral not possible')),
+ ),
+ initial=''
+ )
+ barriers = forms.MultipleChoiceField(
+ label=_('The main barriers affecting the daily attendance and performance '
+ 'of the child or drop out of programme? (Select more than one if applicable)'),
+ choices=CLM.BARRIERS,
+ widget=forms.CheckboxSelectMultiple,
+ required=True
+ )
+
+ clm_type = forms.CharField(widget=forms.HiddenInput, required=False)
+
+ def __init__(self, *args, **kwargs):
+ self.request = kwargs.pop('request', None)
+ super(BLNAssessmentForm, self).__init__(*args, **kwargs)
+
+ post_test = ''
+ post_test_button = ' btn-outline-secondary disabled'
+ instance = kwargs['instance'] if 'instance' in kwargs else ''
+ self.fields['clm_type'].initial = 'BLN'
+
+ display_assessment = ''
+ form_action = reverse('clm:bln_post_assessment', kwargs={'pk': instance.id})
+
+ if instance.pre_test:
+ post_test_button = ' btn-outline-success '
+ post_test = instance.assessment_form(
+ stage='post_test',
+ assessment_slug='bln_post_test',
+ callback=self.request.build_absolute_uri(reverse('clm:bln_post_assessment', kwargs={'pk': instance.id}))
+ )
+ if instance.post_test:
+ post_test_button = ' btn-success '
+
+ self.helper = FormHelper()
+ self.helper.form_show_labels = True
+ self.helper.form_action = form_action
+ self.helper.layout = Layout(
+ Fieldset(
+ None,
+ Div(
+ 'clm_type',
+ HTML('' + _('Assessment data') + '
')
+ ),
+ Div(
+ HTML(
+ ''),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ css_class='row'
+ ),
+ css_class='bd-callout bd-callout-warning' + display_assessment
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('School evaluation') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('unsuccessful_posttest_reason', css_class='col-md-4'),
+ HTML('2'),
+ Div('participation', css_class='col-md-4'),
+ css_class='row',
+ ),
+ Div(
+ HTML('3'),
+ Div('barriers', css_class='col-md-4'),
+ HTML('4'),
+ Div('learning_result', css_class='col-md-4'),
+ css_class='row',
+ ),
+ Div(
+ HTML('5'),
+ Div('cycle_completed', css_class='col-md-4'),
+ HTML('6'),
+ Div('enrolled_at_school', css_class='col-md-4'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'+display_assessment
+ ),
+ FormActions(
+ Submit('save', _('Save'), css_class='col-md-2'),
+ HTML('' + _('Back to list') + ''),
+ )
+ )
+
+ def save(self, instance=None, request=None):
+ instance = super(BLNAssessmentForm, self).save()
+ instance.modified_by = request.user
+ instance.save()
+ messages.success(request, _('Your data has been sent successfully to the server'))
+
+ class Meta:
+ model = BLN
+ fields = (
+ 'participation',
+ 'barriers',
+ 'learning_result',
+ 'unsuccessful_posttest_reason',
+ 'cycle_completed',
+ 'enrolled_at_school',
+ )
+
+
+class CBECEAssessmentForm(forms.ModelForm):
+
+ participation = forms.ChoiceField(
+ label=_('How was the level of child participation in the program?'),
+ widget=forms.Select, required=True,
+ choices=(
+ ('', '----------'),
+ ('less_than_5days', _('Less than 5 absence days')),
+ ('5_10_days', _('5 to 10 absence days')),
+ ('10_15_days', _('10 to 15 absence days')),
+ ('more_than_15days', _('More than 15 absence days')),
+ ('no_absence', _('No Absence'))
+ ),
+ initial=''
+ )
+ learning_result = forms.ChoiceField(
+ label=_('Based on the overall score, what is the recommended learning path?'),
+ widget=forms.Select, required=True,
+ choices=(
+ ('', '----------'),
+ ('repeat_level', _('Repeat level')),
+ ('graduated_next_level', _('Graduated to the next level')),
+ ('graduated_to_formal_kg', _('Graduated to formal education - KG')),
+ ('graduated_to_formal_education_level1', _('Graduated to formal education - Level 1')),
+ ('referred_to_another_program', _('Referred to another program')),
+ ('dropout', _('Dropout, referral not possible'))
+ ),
+ initial=''
+ )
+ barriers = forms.MultipleChoiceField(
+ label=_('The main barriers affecting the daily attendance and performance '
+ 'of the child or drop out of programme? (Select more than one if applicable)'),
+ choices=CLM.BARRIERS,
+ widget=forms.CheckboxSelectMultiple,
+ required=True
+ )
+ final_grade = forms.FloatField(
+ label=_('Final grade') + ' (/80)', required=False,
+ widget=forms.NumberInput,
+ min_value=0, max_value=80
+ )
+ # cycle_completed = forms.TypedChoiceField(
+ # label=_("Completed the cycle?"),
+ # choices=YES_NO_CHOICE,
+ # coerce=lambda x: bool(int(x)),
+ # widget=forms.RadioSelect,
+ # required=True,
+ # initial=False,
+ # )
+ # enrolled_at_school = forms.TypedChoiceField(
+ # label=_("Enrolled at school?"),
+ # choices=YES_NO_CHOICE,
+ # coerce=lambda x: bool(int(x)),
+ # widget=forms.RadioSelect,
+ # required=True,
+ # initial=False,
+ # )
+ clm_type = forms.CharField(widget=forms.HiddenInput, required=False)
+
+ def __init__(self, *args, **kwargs):
+ self.request = kwargs.pop('request', None)
+ super(CBECEAssessmentForm, self).__init__(*args, **kwargs)
+
+ post_test = ''
+ post_test_button = ' btn-outline-secondary disabled'
+ instance = kwargs['instance'] if 'instance' in kwargs else ''
+ self.fields['clm_type'].initial = 'CBECE'
+
+ display_assessment = ''
+ form_action = reverse('clm:cbece_post_assessment', kwargs={'pk': instance.id})
+
+ if instance.pre_test:
+ post_test_button = ' btn-outline-success '
+ post_test = instance.assessment_form(
+ stage='post_test',
+ assessment_slug='cbece_post_test',
+ callback=self.request.build_absolute_uri(reverse('clm:cbece_post_assessment', kwargs={'pk': instance.id}))
+ )
+ if instance.post_test:
+ post_test_button = ' btn-success '
+
+ self.helper = FormHelper()
+ self.helper.form_show_labels = True
+ self.helper.form_action = form_action
+ self.helper.layout = Layout(
+ Fieldset(
+ None,
+ Div(
+ 'clm_type',
+ HTML('' + _('Assessment data') + '
')
+ ),
+ Div(
+ HTML(
+ ''),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ css_class='row'
+ ),
+ css_class='bd-callout bd-callout-warning' + display_assessment
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('School evaluation') + '
')
+ ),
+ Div(
+ HTML('3'),
+ Div('final_grade', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('1'),
+ Div('unsuccessful_posttest_reason', css_class='col-md-4'),
+ HTML('2'),
+ Div('participation', css_class='col-md-4'),
+ css_class='row',
+ ),
+ Div(
+ HTML('3'),
+ Div('barriers', css_class='col-md-4'),
+ HTML('4'),
+ Div('learning_result', css_class='col-md-4'),
+ css_class='row',
+ ),
+ Div(
+ HTML('5'),
+ Div('cycle_completed', css_class='col-md-4'),
+ HTML('6'),
+ Div('enrolled_at_school', css_class='col-md-4'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'+display_assessment
+ ),
+ FormActions(
+ Submit('save', _('Save'), css_class='col-md-2'),
+ HTML('' + _('Back to list') + ''),
+ )
+ )
+
+ def save(self, instance=None, request=None):
+ instance = super(CBECEAssessmentForm, self).save()
+ instance.modified_by = request.user
+ instance.save()
+ messages.success(request, _('Your data has been sent successfully to the server'))
+
+ class Meta:
+ model = CBECE
+ fields = (
+ 'final_grade',
+ 'participation',
+ 'barriers',
+ 'learning_result',
+ 'unsuccessful_posttest_reason',
+ 'cycle_completed',
+ 'enrolled_at_school',
+ )
+
+
+class BLNAdminForm(forms.ModelForm):
+
+ student = forms.ModelChoiceField(
+ queryset=Student.objects.all(),
+ widget=autocomplete.ModelSelect2(url='student_autocomplete')
+ )
+
+ def __init__(self, *args, **kwargs):
+ super(BLNAdminForm, self).__init__(*args, **kwargs)
+
+ class Meta:
+ model = BLN
+ fields = '__all__'
+
+
+class ABLNAdminForm(forms.ModelForm):
+
+ student = forms.ModelChoiceField(
+ queryset=Student.objects.all(),
+ widget=autocomplete.ModelSelect2(url='student_autocomplete')
+ )
+
+ def __init__(self, *args, **kwargs):
+ super(ABLNAdminForm, self).__init__(*args, **kwargs)
+
+ class Meta:
+ model = ABLN
+ fields = '__all__'
+
+
+class RSAdminForm(forms.ModelForm):
+
+ student = forms.ModelChoiceField(
+ queryset=Student.objects.all(),
+ widget=autocomplete.ModelSelect2(url='student_autocomplete')
+ )
+
+ def __init__(self, *args, **kwargs):
+ super(RSAdminForm, self).__init__(*args, **kwargs)
+
+ class Meta:
+ model = RS
+ fields = '__all__'
+
+
+class CBECEAdminForm(forms.ModelForm):
+
+ student = forms.ModelChoiceField(
+ queryset=Student.objects.all(),
+ widget=autocomplete.ModelSelect2(url='student_autocomplete')
+ )
+
+ def __init__(self, *args, **kwargs):
+ super(CBECEAdminForm, self).__init__(*args, **kwargs)
+
+ class Meta:
+ model = CBECE
+ fields = '__all__'
+
+
+class BLNReferralForm(forms.ModelForm):
+
+ def __init__(self, *args, **kwargs):
+ super(BLNReferralForm, self).__init__(*args, **kwargs)
+
+ instance = kwargs['instance']
+
+ self.helper = FormHelper()
+ self.helper.form_show_labels = True
+ self.helper.form_action = reverse('clm:bln_referral', kwargs={'pk': instance.id})
+ self.helper.layout = Layout(
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Referral 1') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('referral_programme_type_1', css_class='col-md-3'),
+ HTML('2'),
+ Div('referral_partner_1', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('3'),
+ Div('referral_date_1', css_class='col-md-3'),
+ HTML('4'),
+ Div('confirmation_date_1', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Referral 2') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('referral_programme_type_2', css_class='col-md-3'),
+ HTML('2'),
+ Div('referral_partner_2', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('3'),
+ Div('referral_date_2', css_class='col-md-3'),
+ HTML('4'),
+ Div('confirmation_date_2', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Referral 3') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('referral_programme_type_3', css_class='col-md-3'),
+ HTML('2'),
+ Div('referral_partner_3', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('3'),
+ Div('referral_date_3', css_class='col-md-3'),
+ HTML('4'),
+ Div('confirmation_date_3', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ FormActions(
+ Submit('save', _('Save')),
+ HTML('' + _('Back to list') + ''),
+ )
+ )
+
+ def save(self, instance=None, request=None):
+ instance = super(BLNReferralForm, self).save()
+ instance.modified_by = request.user
+ instance.save()
+ messages.success(request, _('Your data has been sent successfully to the server'))
+
+ class Meta:
+ model = BLN
+ fields = (
+ 'referral_programme_type_1',
+ 'referral_partner_1',
+ 'referral_date_1',
+ 'confirmation_date_1',
+ 'referral_programme_type_2',
+ 'referral_partner_2',
+ 'referral_date_2',
+ 'confirmation_date_2',
+ 'referral_programme_type_3',
+ 'referral_partner_3',
+ 'referral_date_3',
+ 'confirmation_date_3',
+ )
+
+ class Media:
+ js = (
+ # 'js/validator.js',
+ )
+
+
+class BLNFollowupForm(forms.ModelForm):
+
+ def __init__(self, *args, **kwargs):
+ super(BLNFollowupForm, self).__init__(*args, **kwargs)
+
+ instance = kwargs['instance']
+
+ self.helper = FormHelper()
+ self.helper.form_show_labels = True
+ self.helper.form_action = reverse('clm:bln_followup', kwargs={'pk': instance.id})
+ self.helper.layout = Layout(
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Follow-up first call') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('followup_call_date_1', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('2'),
+ Div('followup_call_reason_1', css_class='col-md-3'),
+ HTML('3'),
+ Div('followup_call_result_1', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Follow-up second call') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('followup_call_date_2', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('2'),
+ Div('followup_call_reason_2', css_class='col-md-3'),
+ HTML('3'),
+ Div('followup_call_result_2', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Follow-up Household visit') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('followup_visit_date_1', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('2'),
+ Div('followup_visit_reason_1', css_class='col-md-3'),
+ HTML('3'),
+ Div('followup_visit_result_1', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ FormActions(
+ Submit('save', _('Save')),
+ HTML('' + _('Back to list') + ''),
+ )
+ )
+
+ def save(self, instance=None, request=None):
+ instance = super(BLNFollowupForm, self).save()
+ instance.modified_by = request.user
+ instance.save()
+ messages.success(request, _('Your data has been sent successfully to the server'))
+
+ class Meta:
+ model = BLN
+ fields = (
+ 'followup_call_date_1',
+ 'followup_call_reason_1',
+ 'followup_call_result_1',
+ 'followup_call_date_2',
+ 'followup_call_reason_2',
+ 'followup_call_result_2',
+ 'followup_visit_date_1',
+ 'followup_visit_reason_1',
+ 'followup_visit_result_1',
+ )
+
+ class Media:
+ js = (
+ # 'js/validator.js',
+ )
+
+
+class ABLNReferralForm(forms.ModelForm):
+
+ def __init__(self, *args, **kwargs):
+ super(ABLNReferralForm, self).__init__(*args, **kwargs)
+
+ instance = kwargs['instance']
+
+ self.helper = FormHelper()
+ self.helper.form_show_labels = True
+ self.helper.form_action = reverse('clm:abln_referral', kwargs={'pk': instance.id})
+ self.helper.layout = Layout(
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Referral 1') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('referral_programme_type_1', css_class='col-md-3'),
+ HTML('2'),
+ Div('referral_partner_1', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('3'),
+ Div('referral_date_1', css_class='col-md-3'),
+ HTML('4'),
+ Div('confirmation_date_1', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Referral 2') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('referral_programme_type_2', css_class='col-md-3'),
+ HTML('2'),
+ Div('referral_partner_2', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('3'),
+ Div('referral_date_2', css_class='col-md-3'),
+ HTML('4'),
+ Div('confirmation_date_2', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Referral 3') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('referral_programme_type_3', css_class='col-md-3'),
+ HTML('2'),
+ Div('referral_partner_3', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('3'),
+ Div('referral_date_3', css_class='col-md-3'),
+ HTML('4'),
+ Div('confirmation_date_3', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ FormActions(
+ Submit('save', _('Save')),
+ HTML('' + _('Back to list') + ''),
+ )
+ )
+
+ def save(self, instance=None, request=None):
+ instance = super(ABLNReferralForm, self).save()
+ instance.modified_by = request.user
+ instance.save()
+ messages.success(request, _('Your data has been sent successfully to the server'))
+
+ class Meta:
+ model = ABLN
+ fields = (
+ 'referral_programme_type_1',
+ 'referral_partner_1',
+ 'referral_date_1',
+ 'confirmation_date_1',
+ 'referral_programme_type_2',
+ 'referral_partner_2',
+ 'referral_date_2',
+ 'confirmation_date_2',
+ 'referral_programme_type_3',
+ 'referral_partner_3',
+ 'referral_date_3',
+ 'confirmation_date_3',
+ )
+
+ class Media:
+ js = (
+ # 'js/validator.js',
+ )
+
+
+class ABLNFollowupForm(forms.ModelForm):
+
+ def __init__(self, *args, **kwargs):
+ super(ABLNFollowupForm, self).__init__(*args, **kwargs)
+
+ instance = kwargs['instance']
+
+ self.helper = FormHelper()
+ self.helper.form_show_labels = True
+ self.helper.form_action = reverse('clm:abln_followup', kwargs={'pk': instance.id})
+ self.helper.layout = Layout(
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Follow-up first call') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('followup_call_date_1', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('2'),
+ Div('followup_call_reason_1', css_class='col-md-3'),
+ HTML('3'),
+ Div('followup_call_result_1', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Follow-up second call') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('followup_call_date_2', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('2'),
+ Div('followup_call_reason_2', css_class='col-md-3'),
+ HTML('3'),
+ Div('followup_call_result_2', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Follow-up Household visit') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('followup_visit_date_1', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('2'),
+ Div('followup_visit_reason_1', css_class='col-md-3'),
+ HTML('3'),
+ Div('followup_visit_result_1', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ FormActions(
+ Submit('save', _('Save')),
+ HTML('' + _('Back to list') + ''),
+ )
+ )
+
+ def save(self, instance=None, request=None):
+ instance = super(ABLNFollowupForm, self).save()
+ instance.modified_by = request.user
+ instance.save()
+ messages.success(request, _('Your data has been sent successfully to the server'))
+
+ class Meta:
+ model = ABLN
+ fields = (
+ 'followup_call_date_1',
+ 'followup_call_reason_1',
+ 'followup_call_result_1',
+ 'followup_call_date_2',
+ 'followup_call_reason_2',
+ 'followup_call_result_2',
+ 'followup_visit_date_1',
+ 'followup_visit_reason_1',
+ 'followup_visit_result_1',
+ )
+
+ class Media:
+ js = (
+ # 'js/validator.js',
+ )
+
+
+class CBECEReferralForm(forms.ModelForm):
+
+ def __init__(self, *args, **kwargs):
+ super(CBECEReferralForm, self).__init__(*args, **kwargs)
+
+ instance = kwargs['instance']
+
+ self.helper = FormHelper()
+ self.helper.form_show_labels = True
+ self.helper.form_action = reverse('clm:cbece_referral', kwargs={'pk': instance.id})
+ self.helper.layout = Layout(
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Referral 1') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('referral_programme_type_1', css_class='col-md-3'),
+ HTML('2'),
+ Div('referral_partner_1', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('3'),
+ Div('referral_date_1', css_class='col-md-3'),
+ HTML('4'),
+ Div('confirmation_date_1', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Referral 2') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('referral_programme_type_2', css_class='col-md-3'),
+ HTML('2'),
+ Div('referral_partner_2', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('3'),
+ Div('referral_date_2', css_class='col-md-3'),
+ HTML('4'),
+ Div('confirmation_date_2', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Referral 3') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('referral_programme_type_3', css_class='col-md-3'),
+ HTML('2'),
+ Div('referral_partner_3', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('3'),
+ Div('referral_date_3', css_class='col-md-3'),
+ HTML('4'),
+ Div('confirmation_date_3', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ FormActions(
+ Submit('save', _('Save')),
+ HTML('' + _('Back to list') + ''),
+ )
+ )
+
+ def save(self, instance=None, request=None):
+ instance = super(CBECEReferralForm, self).save()
+ instance.modified_by = request.user
+ instance.save()
+ messages.success(request, _('Your data has been sent successfully to the server'))
class Meta:
model = CBECE
- fields = '__all__'
+ fields = (
+ 'referral_programme_type_1',
+ 'referral_partner_1',
+ 'referral_date_1',
+ 'confirmation_date_1',
+ 'referral_programme_type_2',
+ 'referral_partner_2',
+ 'referral_date_2',
+ 'confirmation_date_2',
+ 'referral_programme_type_3',
+ 'referral_partner_3',
+ 'referral_date_3',
+ 'confirmation_date_3',
+ )
+
+ class Media:
+ js = (
+ # 'js/validator.js',
+ )
+
+
+class CBECEFollowupForm(forms.ModelForm):
+
+ def __init__(self, *args, **kwargs):
+ super(CBECEFollowupForm, self).__init__(*args, **kwargs)
+
+ instance = kwargs['instance']
+
+ self.helper = FormHelper()
+ self.helper.form_show_labels = True
+ self.helper.form_action = reverse('clm:cbece_followup', kwargs={'pk': instance.id})
+ self.helper.layout = Layout(
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Follow-up first call') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('followup_call_date_1', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('2'),
+ Div('followup_call_reason_1', css_class='col-md-3'),
+ HTML('3'),
+ Div('followup_call_result_1', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Follow-up second call') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('followup_call_date_2', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('2'),
+ Div('followup_call_reason_2', css_class='col-md-3'),
+ HTML('3'),
+ Div('followup_call_result_2', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Follow-up Household visit') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('followup_visit_date_1', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('2'),
+ Div('followup_visit_reason_1', css_class='col-md-3'),
+ HTML('3'),
+ Div('followup_visit_result_1', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ FormActions(
+ Submit('save', _('Save')),
+ HTML('' + _('Back to list') + ''),
+ )
+ )
+
+ def save(self, instance=None, request=None):
+ instance = super(CBECEFollowupForm, self).save()
+ instance.modified_by = request.user
+ instance.save()
+ messages.success(request, _('Your data has been sent successfully to the server'))
+
+ class Meta:
+ model = CBECE
+ fields = (
+ 'followup_call_date_1',
+ 'followup_call_reason_1',
+ 'followup_call_result_1',
+ 'followup_call_date_2',
+ 'followup_call_reason_2',
+ 'followup_call_result_2',
+ 'followup_visit_date_1',
+ 'followup_visit_reason_1',
+ 'followup_visit_result_1',
+ )
+
+ class Media:
+ js = (
+ # 'js/validator.js',
+ )
diff --git a/student_registration/clm/migrations/0045_disability_active.py b/student_registration/clm/migrations/0045_disability_active.py
new file mode 100644
index 000000000..cec260899
--- /dev/null
+++ b/student_registration/clm/migrations/0045_disability_active.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-03-14 21:13
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0044_auto_20180405_1035'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='disability',
+ name='active',
+ field=models.BooleanField(default=True),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0046_auto_20190314_2341.py b/student_registration/clm/migrations/0046_auto_20190314_2341.py
new file mode 100644
index 000000000..20d783603
--- /dev/null
+++ b/student_registration/clm/migrations/0046_auto_20190314_2341.py
@@ -0,0 +1,30 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-03-14 21:41
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0045_disability_active'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='bln',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629'), ('uncompleted_participation', '\u0644\u0645 \u064a\u0645\u0643\u0644 \u0627\u0644\u0646\u0633\u0628\u0629 \u0627\u0644\u0645\u0631\u062c\u0648\u0629 \u0645\u0646 \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a \u0627\u0644\u062f\u0648\u0631\u0629 ')], max_length=100, null=True, verbose_name='unsuccessful pre test reason'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629'), ('uncompleted_participation', '\u0644\u0645 \u064a\u0645\u0643\u0644 \u0627\u0644\u0646\u0633\u0628\u0629 \u0627\u0644\u0645\u0631\u062c\u0648\u0629 \u0645\u0646 \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a \u0627\u0644\u062f\u0648\u0631\u0629 ')], max_length=100, null=True, verbose_name='unsuccessful pre test reason'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629'), ('uncompleted_participation', '\u0644\u0645 \u064a\u0645\u0643\u0644 \u0627\u0644\u0646\u0633\u0628\u0629 \u0627\u0644\u0645\u0631\u062c\u0648\u0629 \u0645\u0646 \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a \u0627\u0644\u062f\u0648\u0631\u0629 ')], max_length=100, null=True, verbose_name='unsuccessful pre test reason'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0047_auto_20190320_1255.py b/student_registration/clm/migrations/0047_auto_20190320_1255.py
new file mode 100644
index 000000000..ee436082e
--- /dev/null
+++ b/student_registration/clm/migrations/0047_auto_20190320_1255.py
@@ -0,0 +1,30 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-03-20 10:55
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0046_auto_20190314_2341'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='bln',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629'), ('uncompleted_participation', '\u0644\u0645 \u064a\u0645\u0643\u0644 \u0627\u0644\u0646\u0633\u0628\u0629 \u0627\u0644\u0645\u0631\u062c\u0648\u0629 \u0645\u0646 \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a \u0627\u0644\u062f\u0648\u0631\u0629 ')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Pre-test'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629'), ('uncompleted_participation', '\u0644\u0645 \u064a\u0645\u0643\u0644 \u0627\u0644\u0646\u0633\u0628\u0629 \u0627\u0644\u0645\u0631\u062c\u0648\u0629 \u0645\u0646 \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a \u0627\u0644\u062f\u0648\u0631\u0629 ')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Pre-test'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629'), ('uncompleted_participation', '\u0644\u0645 \u064a\u0645\u0643\u0644 \u0627\u0644\u0646\u0633\u0628\u0629 \u0627\u0644\u0645\u0631\u062c\u0648\u0629 \u0645\u0646 \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a \u0627\u0644\u062f\u0648\u0631\u0629 ')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Pre-test'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0048_auto_20190328_1416.py b/student_registration/clm/migrations/0048_auto_20190328_1416.py
new file mode 100644
index 000000000..ad1a6db35
--- /dev/null
+++ b/student_registration/clm/migrations/0048_auto_20190328_1416.py
@@ -0,0 +1,41 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-03-28 12:16
+from __future__ import unicode_literals
+
+import django.contrib.postgres.fields
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0047_auto_20190320_1255'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='bln',
+ name='have_labour',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('no', '\u0643\u0644\u0627'), ('yes_morning', '\u0646\u0639\u0645 - \u0642\u0628\u0644 \u0627\u0644\u0638\u0647\u0631'), ('yes_afternoon', '\u0646\u0639\u0645 - \u0628\u0639\u062f \u0627\u0644\u0638\u0647\u0631'), ('yes_all_day', '\u0646\u0639\u0645 - \u0643\u0644 \u0627\u0644\u0646\u0647\u0627\u0631')], max_length=50, null=True), blank=True, null=True, size=None, verbose_name='\u0647\u0644 \u064a\u0634\u0627\u0631\u0643 \u0627\u0644\u0637\u0641\u0644 \u0641\u064a \u0639\u0645\u0644\u061f'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='learning_result',
+ field=models.CharField(blank=True, choices=[('', ' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'), ('attended_public_school', '\u0627\u062d\u064a\u0644 \u0627\u0644\u0649 \u0645\u062f\u0631\u0633\u0629 \u0631\u0633\u0645\u064a\u0629'), ('referred_to_alp', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c ALP'), ('referred_to_tvet', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c TVET'), ('ready_to_alp_but_not_possible', '\u062c\u0627\u0647\u0632 \u0644\u0628\u0631\u0646\u0627\u0645\u062c ALP \u0648\u0644\u0643\u0646 \u0627\u0644\u0625\u062d\u0627\u0644\u0629 \u0644\u064a\u0633\u062a \u0645\u0645\u0643\u0646\u0629'), ('reenrolled_in_alp', '\u0625\u0639\u0627\u062f\u0629 \u062a\u0633\u062c\u064a\u0644 \u0641\u064a \u062c\u0648\u0644\u0629 \u0623\u062e\u0631\u0649 \u0645\u0646 BLN'), ('not_enrolled_any_program', '\u063a\u064a\u0631 \u0645\u0644\u062a\u062d\u0642 \u0628\u0623\u064a \u0628\u0631\u0646\u0627\u0645\u062c \u062a\u0639\u0644\u064a\u0645\u064a'), ('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629\u060c \u0627\u062d\u0627\u0644\u0629 \u063a\u064a\u0631 \u0645\u0645\u0643\u0646\u0629')], max_length=100, null=True, verbose_name=' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='have_labour',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('no', '\u0643\u0644\u0627'), ('yes_morning', '\u0646\u0639\u0645 - \u0642\u0628\u0644 \u0627\u0644\u0638\u0647\u0631'), ('yes_afternoon', '\u0646\u0639\u0645 - \u0628\u0639\u062f \u0627\u0644\u0638\u0647\u0631'), ('yes_all_day', '\u0646\u0639\u0645 - \u0643\u0644 \u0627\u0644\u0646\u0647\u0627\u0631')], max_length=50, null=True), blank=True, null=True, size=None, verbose_name='\u0647\u0644 \u064a\u0634\u0627\u0631\u0643 \u0627\u0644\u0637\u0641\u0644 \u0641\u064a \u0639\u0645\u0644\u061f'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='learning_result',
+ field=models.CharField(blank=True, choices=[('', ' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'), ('repeat_level', '\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0645\u0633\u062a\u0648\u0649'), ('graduated_next_level', '\u0631\u0641\u0639 \u0625\u0644\u0649 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062a\u0627\u0644\u064a'), ('graduated_to_formal_kg', '\u0631\u0641\u0639 \u0625\u0644\u0649 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0646\u0638\u0627\u0645\u064a - \u0627\u0644\u0631\u0648\u0636\u0629'), ('graduated_to_formal_level1', '\u0631\u0641\u0639 \u0625\u0644\u0649 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0646\u0638\u0627\u0645\u064a - \u0627\u0644\u0635\u0641 \u0627\u0644\u0623\u0648\u0644'), ('referred_to_another_program', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c \u0622\u062e\u0631 \u062e\u0644\u0627\u0644 \u0627\u0644\u062f\u0648\u0631\u0629')], max_length=100, null=True, verbose_name=' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='have_labour',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('no', '\u0643\u0644\u0627'), ('yes_morning', '\u0646\u0639\u0645 - \u0642\u0628\u0644 \u0627\u0644\u0638\u0647\u0631'), ('yes_afternoon', '\u0646\u0639\u0645 - \u0628\u0639\u062f \u0627\u0644\u0638\u0647\u0631'), ('yes_all_day', '\u0646\u0639\u0645 - \u0643\u0644 \u0627\u0644\u0646\u0647\u0627\u0631')], max_length=50, null=True), blank=True, null=True, size=None, verbose_name='\u0647\u0644 \u064a\u0634\u0627\u0631\u0643 \u0627\u0644\u0637\u0641\u0644 \u0641\u064a \u0639\u0645\u0644\u061f'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0049_auto_20190403_1228.py b/student_registration/clm/migrations/0049_auto_20190403_1228.py
new file mode 100644
index 000000000..21e914308
--- /dev/null
+++ b/student_registration/clm/migrations/0049_auto_20190403_1228.py
@@ -0,0 +1,36 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-04-03 09:28
+from __future__ import unicode_literals
+
+import django.contrib.postgres.fields
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0048_auto_20190328_1416'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='bln',
+ name='barriers',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('seasonal_work', '\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0633\u0645\u064a'), ('transportation', '\u0627\u0644\u0646\u0642\u0644\u064a\u0627\u062a '), ('weather', '\u0627\u0644\u0637\u0642\u0633'), ('sickness', '\u0627\u0644\u0645\u0631\u0636'), ('security', '\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0645\u0646\u064a'), ('family moved', 'Family moved'), ('marriage engagement pregnancy', 'Marriage/Engagement/Pregnancy'), ('violence bullying', 'Violence/Bullying'), ('Full time job to support family financially', 'Full time job to support family financially'), ('No interest in pursuing the programme/No value', 'No interest in pursuing the programme/No value')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u062d\u0648\u0627\u062c\u0632'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='barriers',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('seasonal_work', '\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0633\u0645\u064a'), ('transportation', '\u0627\u0644\u0646\u0642\u0644\u064a\u0627\u062a '), ('weather', '\u0627\u0644\u0637\u0642\u0633'), ('sickness', '\u0627\u0644\u0645\u0631\u0636'), ('security', '\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0645\u0646\u064a'), ('family moved', 'Family moved'), ('marriage engagement pregnancy', 'Marriage/Engagement/Pregnancy'), ('violence bullying', 'Violence/Bullying'), ('Full time job to support family financially', 'Full time job to support family financially'), ('No interest in pursuing the programme/No value', 'No interest in pursuing the programme/No value')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u062d\u0648\u0627\u062c\u0632'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='learning_result',
+ field=models.CharField(blank=True, choices=[('', ' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'), ('repeat_level', '\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0645\u0633\u062a\u0648\u0649'), ('graduated_next_level', '\u0631\u0641\u0639 \u0625\u0644\u0649 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062a\u0627\u0644\u064a'), ('graduated_to_formal_kg', '\u0631\u0641\u0639 \u0625\u0644\u0649 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0646\u0638\u0627\u0645\u064a - \u0627\u0644\u0631\u0648\u0636\u0629'), ('graduated_to_formal_level1', '\u0631\u0641\u0639 \u0625\u0644\u0649 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0646\u0638\u0627\u0645\u064a - \u0627\u0644\u0635\u0641 \u0627\u0644\u0623\u0648\u0644'), ('referred_to_another_program', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c \u0622\u062e\u0631 \u062e\u0644\u0627\u0644 \u0627\u0644\u062f\u0648\u0631\u0629'), ('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629\u060c \u0627\u062d\u0627\u0644\u0629 \u063a\u064a\u0631 \u0645\u0645\u0643\u0646\u0629')], max_length=100, null=True, verbose_name=' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='barriers',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('seasonal_work', '\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0633\u0645\u064a'), ('transportation', '\u0627\u0644\u0646\u0642\u0644\u064a\u0627\u062a '), ('weather', '\u0627\u0644\u0637\u0642\u0633'), ('sickness', '\u0627\u0644\u0645\u0631\u0636'), ('security', '\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0645\u0646\u064a'), ('family moved', 'Family moved'), ('marriage engagement pregnancy', 'Marriage/Engagement/Pregnancy'), ('violence bullying', 'Violence/Bullying'), ('Full time job to support family financially', 'Full time job to support family financially'), ('No interest in pursuing the programme/No value', 'No interest in pursuing the programme/No value')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u062d\u0648\u0627\u062c\u0632'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0050_auto_20190521_1343.py b/student_registration/clm/migrations/0050_auto_20190521_1343.py
new file mode 100644
index 000000000..a8ed8f438
--- /dev/null
+++ b/student_registration/clm/migrations/0050_auto_20190521_1343.py
@@ -0,0 +1,61 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-05-21 10:43
+from __future__ import unicode_literals
+
+import django.contrib.postgres.fields
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0049_auto_20190403_1228'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='bln',
+ name='barriers',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('seasonal_work', '\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0633\u0645\u064a'), ('transportation', '\u0627\u0644\u0646\u0642\u0644\u064a\u0627\u062a '), ('weather', '\u0627\u0644\u0637\u0642\u0633'), ('sickness', '\u0627\u0644\u0645\u0631\u0636'), ('security', '\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0645\u0646\u064a'), ('family moved', '\u062a\u0628\u062f\u064a\u0644 \u0645\u0643\u0627\u0646 \u0627\u0644\u0633\u0643\u0646'), ('Moved back to Syria', 'Moved back to Syria'), ('Enrolled in formal education', 'Enrolled in formal education'), ('marriage engagement pregnancy', '\u0632\u0648\u0627\u062c/\u062e\u0637\u0648\u0628\u0629/\u062d\u0645\u0644'), ('violence bullying', '\u0628\u0644\u0637\u062c\u0629/\u0639\u0646\u0641'), ('Full time job to support family financially', '\u0627\u0644\u0639\u0645\u0644 \u0644\u0625\u0639\u0627\u0644\u0629 \u0627\u0644\u0639\u0627\u0626\u0644\u0629 \u0645\u0627\u062f\u064a\u0627\u064b'), ('No interest in pursuing the programme/No value', '\u0639\u062f\u0645 \u0627\u0644\u0631\u063a\u0628\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u0645/ \u0644\u0627 \u0642\u064a\u0645\u0629')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u062d\u0648\u0627\u062c\u0632'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='unsuccessful_posttest_reason',
+ field=models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629'), ('uncompleted_participation', '\u0644\u0645 \u064a\u0645\u0643\u0644 \u0627\u0644\u0646\u0633\u0628\u0629 \u0627\u0644\u0645\u0631\u062c\u0648\u0629 \u0645\u0646 \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a \u0627\u0644\u062f\u0648\u0631\u0629 ')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Post-test'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629'), ('enrolled in formal', 'Enrolled in formal education'), ('uncompleted_participation', '\u0644\u0645 \u064a\u0645\u0643\u0644 \u0627\u0644\u0646\u0633\u0628\u0629 \u0627\u0644\u0645\u0631\u062c\u0648\u0629 \u0645\u0646 \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a \u0627\u0644\u062f\u0648\u0631\u0629 ')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Pre-test'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='barriers',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('seasonal_work', '\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0633\u0645\u064a'), ('transportation', '\u0627\u0644\u0646\u0642\u0644\u064a\u0627\u062a '), ('weather', '\u0627\u0644\u0637\u0642\u0633'), ('sickness', '\u0627\u0644\u0645\u0631\u0636'), ('security', '\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0645\u0646\u064a'), ('family moved', '\u062a\u0628\u062f\u064a\u0644 \u0645\u0643\u0627\u0646 \u0627\u0644\u0633\u0643\u0646'), ('Moved back to Syria', 'Moved back to Syria'), ('Enrolled in formal education', 'Enrolled in formal education'), ('marriage engagement pregnancy', '\u0632\u0648\u0627\u062c/\u062e\u0637\u0648\u0628\u0629/\u062d\u0645\u0644'), ('violence bullying', '\u0628\u0644\u0637\u062c\u0629/\u0639\u0646\u0641'), ('Full time job to support family financially', '\u0627\u0644\u0639\u0645\u0644 \u0644\u0625\u0639\u0627\u0644\u0629 \u0627\u0644\u0639\u0627\u0626\u0644\u0629 \u0645\u0627\u062f\u064a\u0627\u064b'), ('No interest in pursuing the programme/No value', '\u0639\u062f\u0645 \u0627\u0644\u0631\u063a\u0628\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u0645/ \u0644\u0627 \u0642\u064a\u0645\u0629')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u062d\u0648\u0627\u062c\u0632'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='unsuccessful_posttest_reason',
+ field=models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629'), ('uncompleted_participation', '\u0644\u0645 \u064a\u0645\u0643\u0644 \u0627\u0644\u0646\u0633\u0628\u0629 \u0627\u0644\u0645\u0631\u062c\u0648\u0629 \u0645\u0646 \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a \u0627\u0644\u062f\u0648\u0631\u0629 ')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Post-test'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629'), ('enrolled in formal', 'Enrolled in formal education'), ('uncompleted_participation', '\u0644\u0645 \u064a\u0645\u0643\u0644 \u0627\u0644\u0646\u0633\u0628\u0629 \u0627\u0644\u0645\u0631\u062c\u0648\u0629 \u0645\u0646 \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a \u0627\u0644\u062f\u0648\u0631\u0629 ')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Pre-test'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='barriers',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('seasonal_work', '\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0633\u0645\u064a'), ('transportation', '\u0627\u0644\u0646\u0642\u0644\u064a\u0627\u062a '), ('weather', '\u0627\u0644\u0637\u0642\u0633'), ('sickness', '\u0627\u0644\u0645\u0631\u0636'), ('security', '\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0645\u0646\u064a'), ('family moved', '\u062a\u0628\u062f\u064a\u0644 \u0645\u0643\u0627\u0646 \u0627\u0644\u0633\u0643\u0646'), ('Moved back to Syria', 'Moved back to Syria'), ('Enrolled in formal education', 'Enrolled in formal education'), ('marriage engagement pregnancy', '\u0632\u0648\u0627\u062c/\u062e\u0637\u0648\u0628\u0629/\u062d\u0645\u0644'), ('violence bullying', '\u0628\u0644\u0637\u062c\u0629/\u0639\u0646\u0641'), ('Full time job to support family financially', '\u0627\u0644\u0639\u0645\u0644 \u0644\u0625\u0639\u0627\u0644\u0629 \u0627\u0644\u0639\u0627\u0626\u0644\u0629 \u0645\u0627\u062f\u064a\u0627\u064b'), ('No interest in pursuing the programme/No value', '\u0639\u062f\u0645 \u0627\u0644\u0631\u063a\u0628\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u0645/ \u0644\u0627 \u0642\u064a\u0645\u0629')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u062d\u0648\u0627\u062c\u0632'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='unsuccessful_posttest_reason',
+ field=models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629'), ('uncompleted_participation', '\u0644\u0645 \u064a\u0645\u0643\u0644 \u0627\u0644\u0646\u0633\u0628\u0629 \u0627\u0644\u0645\u0631\u062c\u0648\u0629 \u0645\u0646 \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a \u0627\u0644\u062f\u0648\u0631\u0629 ')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Post-test'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629'), ('enrolled in formal', 'Enrolled in formal education'), ('uncompleted_participation', '\u0644\u0645 \u064a\u0645\u0643\u0644 \u0627\u0644\u0646\u0633\u0628\u0629 \u0627\u0644\u0645\u0631\u062c\u0648\u0629 \u0645\u0646 \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a \u0627\u0644\u062f\u0648\u0631\u0629 ')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Pre-test'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0051_auto_20190521_1539.py b/student_registration/clm/migrations/0051_auto_20190521_1539.py
new file mode 100644
index 000000000..3b9861588
--- /dev/null
+++ b/student_registration/clm/migrations/0051_auto_20190521_1539.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-05-21 12:39
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0050_auto_20190521_1343'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='cbece',
+ name='learning_result',
+ field=models.CharField(blank=True, choices=[('', ' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'), ('repeat_level', '\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0645\u0633\u062a\u0648\u0649'), ('graduated_next_level', '\u0631\u0641\u0639 \u0625\u0644\u0649 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062a\u0627\u0644\u064a'), ('graduated_to_formal_kg', '\u0631\u0641\u0639 \u0625\u0644\u0649 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0646\u0638\u0627\u0645\u064a - \u0627\u0644\u0631\u0648\u0636\u0629'), ('graduated_to_formal_education_level1', '\u0631\u0641\u0639 \u0625\u0644\u0649 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0646\u0638\u0627\u0645\u064a - \u0627\u0644\u0635\u0641 \u0627\u0644\u0623\u0648\u0644'), ('referred_to_another_program', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c \u0622\u062e\u0631 \u062e\u0644\u0627\u0644 \u0627\u0644\u062f\u0648\u0631\u0629'), ('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629\u060c \u0627\u062d\u0627\u0644\u0629 \u063a\u064a\u0631 \u0645\u0645\u0643\u0646\u0629')], max_length=100, null=True, verbose_name=' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0052_auto_20190523_1227.py b/student_registration/clm/migrations/0052_auto_20190523_1227.py
new file mode 100644
index 000000000..0542a7054
--- /dev/null
+++ b/student_registration/clm/migrations/0052_auto_20190523_1227.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-05-23 09:27
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0051_auto_20190521_1539'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='bln',
+ name='learning_result',
+ field=models.CharField(blank=True, choices=[('', ' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'), ('repeat_level', '\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0645\u0633\u062a\u0648\u0649'), ('attended_public_school', '\u0627\u062d\u064a\u0644 \u0627\u0644\u0649 \u0645\u062f\u0631\u0633\u0629 \u0631\u0633\u0645\u064a\u0629'), ('referred_to_alp', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c ALP'), ('referred_to_tvet', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c TVET'), ('ready_to_alp_but_not_possible', '\u062c\u0627\u0647\u0632 \u0644\u0628\u0631\u0646\u0627\u0645\u062c ALP \u0648\u0644\u0643\u0646 \u0627\u0644\u0625\u062d\u0627\u0644\u0629 \u0644\u064a\u0633\u062a \u0645\u0645\u0643\u0646\u0629'), ('reenrolled_in_alp', '\u0625\u0639\u0627\u062f\u0629 \u062a\u0633\u062c\u064a\u0644 \u0641\u064a \u062c\u0648\u0644\u0629 \u0623\u062e\u0631\u0649 \u0645\u0646 BLN'), ('not_enrolled_any_program', '\u063a\u064a\u0631 \u0645\u0644\u062a\u062d\u0642 \u0628\u0623\u064a \u0628\u0631\u0646\u0627\u0645\u062c \u062a\u0639\u0644\u064a\u0645\u064a'), ('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629\u060c \u0627\u062d\u0627\u0644\u0629 \u063a\u064a\u0631 \u0645\u0645\u0643\u0646\u0629')], max_length=100, null=True, verbose_name=' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0053_auto_20190523_1330.py b/student_registration/clm/migrations/0053_auto_20190523_1330.py
new file mode 100644
index 000000000..449869263
--- /dev/null
+++ b/student_registration/clm/migrations/0053_auto_20190523_1330.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-05-23 10:30
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0052_auto_20190523_1227'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='bln',
+ name='learning_result',
+ field=models.CharField(blank=True, choices=[('', ' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'), ('repeat_level', '\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0645\u0633\u062a\u0648\u0649'), ('attended_public_school', '\u0627\u062d\u064a\u0644 \u0627\u0644\u0649 \u0645\u062f\u0631\u0633\u0629 \u0631\u0633\u0645\u064a\u0629'), ('referred_to_alp', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c ALP'), ('referred_to_tvet', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c TVET'), ('ready_to_alp_but_not_possible', '\u062c\u0627\u0647\u0632 \u0644\u0628\u0631\u0646\u0627\u0645\u062c ALP \u0648\u0644\u0643\u0646 \u0627\u0644\u0625\u062d\u0627\u0644\u0629 \u0644\u064a\u0633\u062a \u0645\u0645\u0643\u0646\u0629'), ('graduated_to_bln_next_level', '\u0631\u0641\u0639 \u0625\u0644\u0649 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062a\u0627\u0644\u064a'), ('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629\u060c \u0627\u062d\u0627\u0644\u0629 \u063a\u064a\u0631 \u0645\u0645\u0643\u0646\u0629')], max_length=100, null=True, verbose_name=' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0054_abln.py b/student_registration/clm/migrations/0054_abln.py
new file mode 100644
index 000000000..eda1eb860
--- /dev/null
+++ b/student_registration/clm/migrations/0054_abln.py
@@ -0,0 +1,75 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-06-25 10:46
+from __future__ import unicode_literals
+
+from django.conf import settings
+import django.contrib.postgres.fields
+import django.contrib.postgres.fields.jsonb
+from django.db import migrations, models
+import django.db.models.deletion
+import django.utils.timezone
+import model_utils.fields
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0039_auto_20190619_1028'),
+ ('students', '0042_auto_20171201_1630'),
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ('locations', '0005_auto_20170731_2134'),
+ ('clm', '0053_auto_20190523_1330'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='ABLN',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
+ ('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
+ ('location', models.CharField(blank=True, max_length=50, null=True, verbose_name='\u0627\u0644\u0645\u0648\u0642\u0639/\u0645\u0631\u0643\u0632')),
+ ('language', models.CharField(blank=True, choices=[('english_arabic', '\u0627\u0644\u0627\u0646\u0643\u0644\u064a\u0632\u064a\u0629/\u0627\u0644\u0639\u0631\u0628\u064a\u0629'), ('french_arabic', '\u0627\u0644\u0641\u0631\u0646\u0633\u064a\u0629/\u0627\u0644\u0639\u0631\u0628\u064a\u0629')], max_length=100, null=True, verbose_name='\u0627\u0644\u0644\u063a\u0629 \u0627\u0644\u0645\u0639\u062a\u0645\u062f\u0629 \u0641\u064a \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c')),
+ ('have_labour', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('no', '\u0643\u0644\u0627'), ('yes_morning', '\u0646\u0639\u0645 - \u0642\u0628\u0644 \u0627\u0644\u0638\u0647\u0631'), ('yes_afternoon', '\u0646\u0639\u0645 - \u0628\u0639\u062f \u0627\u0644\u0638\u0647\u0631'), ('yes_all_day', '\u0646\u0639\u0645 - \u0643\u0644 \u0627\u0644\u0646\u0647\u0627\u0631')], max_length=50, null=True), blank=True, null=True, size=None, verbose_name='\u0647\u0644 \u064a\u0634\u0627\u0631\u0643 \u0627\u0644\u0637\u0641\u0644 \u0641\u064a \u0639\u0645\u0644\u061f')),
+ ('labours', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('agriculture', '\u0627\u0644\u0632\u0631\u0627\u0639\u0629'), ('building', '\u0627\u0644\u0628\u0646\u0627\u0621'), ('manufacturing', '\u0627\u0644\u062a\u0635\u0646\u064a\u0639'), ('retail_store', '\u0627\u0644\u0628\u064a\u0639 \u0628\u0627\u0644\u0645\u0641\u0631\u0642 / \u0645\u062d\u0644'), ('begging', '\u062a\u0633\u0648\u0644'), ('other_many_other', '\u063a\u064a\u0631 \u0630\u0644\u0643 (\u0641\u0646\u062f\u0642\u060c \u0645\u0637\u0639\u0645\u060c \u0646\u0642\u0644\u060c \u062e\u062f\u0645\u0627\u062a \u0634\u062e\u0635\u064a\u0629 \u0645\u062b\u0644 \u0627\u0644\u062a\u0646\u0638\u064a\u0641\u060c \u0627\u0644\u0639\u0646\u0627\u064a\u0629 \u0628\u0627\u0644\u0634\u0639\u0631\u060c \u0627\u0644\u0637\u0628\u062e \u0648\u0627\u0644\u0625\u0639\u062a\u0646\u0627\u0621 \u0628\u0627\u0644\u0623\u0637\u0641\u0627\u0644)'), ('other', '\u0622\u062e\u0631')], max_length=50, null=True), blank=True, null=True, size=None, verbose_name='\u0645\u0627 \u0647\u0648 \u0646\u0648\u0639 \u0627\u0644\u0639\u0645\u0644 \u061f')),
+ ('labour_hours', models.IntegerField(blank=True, null=True, verbose_name='\u0643\u0645 \u0633\u0627\u0639\u0629 \u064a\u0639\u0645\u0644 \u0647\u0630\u0627 \u0627\u0644\u0637\u0641\u0644 \u0641\u064a \u0627\u0644\u064a\u0648\u0645\u061f')),
+ ('status', models.CharField(choices=[('enrolled', 'enrolled'), ('pre_test', 'pre_test'), ('post_test', 'post_test')], default='enrolled', max_length=50)),
+ ('pre_test', django.contrib.postgres.fields.jsonb.JSONField(blank=True, null=True)),
+ ('pre_test_score', models.CharField(blank=True, max_length=45, null=True, verbose_name='\u0627\u0644\u062a\u0642\u064a\u064a\u0645 \u0639\u0646\u062f \u0627\u0644\u062f\u062e\u0648\u0644 \u0627\u0644\u0649 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c')),
+ ('post_test', django.contrib.postgres.fields.jsonb.JSONField(blank=True, null=True)),
+ ('post_test_score', models.CharField(blank=True, max_length=45, null=True, verbose_name=' \u0627\u0644\u062a\u0642\u064a\u064a\u0645 \u0641\u064a \u0622\u062e\u0631 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c')),
+ ('scores', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default=dict, null=True)),
+ ('participation', models.CharField(blank=True, choices=[('', '\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 '), ('less_than_5days', '\u0623\u0642\u0644 \u0645\u0646 5 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('5_10_days', '5-10 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('10_15_days', '10-15 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('more_than_15days', '\u0623\u0643\u062b\u0631 \u0645\u0646 15 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628')], max_length=100, null=True, verbose_name='\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 ')),
+ ('barriers', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('seasonal_work', '\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0633\u0645\u064a'), ('transportation', '\u0627\u0644\u0646\u0642\u0644\u064a\u0627\u062a '), ('weather', '\u0627\u0644\u0637\u0642\u0633'), ('sickness', '\u0627\u0644\u0645\u0631\u0636'), ('security', '\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0645\u0646\u064a'), ('family moved', '\u062a\u0628\u062f\u064a\u0644 \u0645\u0643\u0627\u0646 \u0627\u0644\u0633\u0643\u0646'), ('Moved back to Syria', 'Moved back to Syria'), ('Enrolled in formal education', 'Enrolled in formal education'), ('marriage engagement pregnancy', '\u0632\u0648\u0627\u062c/\u062e\u0637\u0648\u0628\u0629/\u062d\u0645\u0644'), ('violence bullying', '\u0628\u0644\u0637\u062c\u0629/\u0639\u0646\u0641'), ('Full time job to support family financially', '\u0627\u0644\u0639\u0645\u0644 \u0644\u0625\u0639\u0627\u0644\u0629 \u0627\u0644\u0639\u0627\u0626\u0644\u0629 \u0645\u0627\u062f\u064a\u0627\u064b'), ('No interest in pursuing the programme/No value', '\u0639\u062f\u0645 \u0627\u0644\u0631\u063a\u0628\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u0645/ \u0644\u0627 \u0642\u064a\u0645\u0629')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u062d\u0648\u0627\u062c\u0632')),
+ ('deleted', models.BooleanField(default=False)),
+ ('dropout_status', models.BooleanField(default=False)),
+ ('moved', models.BooleanField(default=False)),
+ ('outreach_barcode', models.CharField(blank=True, max_length=50, null=True, verbose_name='\u0631\u0642\u0645 \u0627\u0644\u0628\u0627\u0631\u0643\u0648\u062f')),
+ ('new_registry', models.CharField(blank=True, choices=[('yes', '\u0646\u0639\u0645'), ('no', '\u0643\u0644\u0627')], max_length=50, null=True, verbose_name='\u064a\u062a\u0645 \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0644\u0623\u0648\u0644 \u0645\u0631\u0629\u061f')),
+ ('student_outreached', models.CharField(blank=True, choices=[('yes', '\u0646\u0639\u0645'), ('no', '\u0643\u0644\u0627')], max_length=50, null=True, verbose_name='\u062a\u0645 \u0627\u0644\u062a\u0648\u0627\u0635\u0644 \u0645\u0639 \u0627\u0644\u062a\u0644\u0645\u064a\u0630 \u0645\u0646 \u0642\u0628\u0644\u061f')),
+ ('have_barcode', models.CharField(blank=True, choices=[('yes', '\u0646\u0639\u0645'), ('no', '\u0643\u0644\u0627')], max_length=50, null=True, verbose_name='\u0644\u062f\u064a\u0647 \u0627\u0644\u0628\u0627\u0631\u0643\u0648\u062f\u061f')),
+ ('registration_date', models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u062a\u0633\u062c\u064a\u0644')),
+ ('internal_number', models.CharField(blank=True, max_length=50, null=True, verbose_name='\u0631\u0642\u0645 \u062a\u0633\u0644\u0633\u0644\u064a \u062e\u0627\u0635 \u0628\u0627\u0644\u062c\u0645\u0639\u064a\u0629')),
+ ('comments', models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0645\u0644\u0627\u062d\u0638\u0627\u062a')),
+ ('unsuccessful_pretest_reason', models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629'), ('enrolled in formal', 'Enrolled in formal education'), ('uncompleted_participation', '\u0644\u0645 \u064a\u0645\u0643\u0644 \u0627\u0644\u0646\u0633\u0628\u0629 \u0627\u0644\u0645\u0631\u062c\u0648\u0629 \u0645\u0646 \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a \u0627\u0644\u062f\u0648\u0631\u0629 ')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Pre-test')),
+ ('unsuccessful_posttest_reason', models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629'), ('uncompleted_participation', '\u0644\u0645 \u064a\u0645\u0643\u0644 \u0627\u0644\u0646\u0633\u0628\u0629 \u0627\u0644\u0645\u0631\u062c\u0648\u0629 \u0645\u0646 \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a \u0627\u0644\u062f\u0648\u0631\u0629 ')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Post-test')),
+ ('referral', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('from_same_ngo', '\u0625\u062d\u0627\u0644\u0629 \u0645\u0646 \u0627\u0644\u062c\u0645\u0639\u064a\u0629 \u0630\u0627\u062a\u0647\u0627'), ('from_other_ngo', '\u0625\u062d\u0627\u0644\u0629 \u0645\u0646 \u063a\u064a\u0631\u062c\u0645\u0639\u064a\u0629'), ('form_official_reference', '\u0625\u062d\u0627\u0644\u0629 \u0645\u0646 \u0645\u0631\u062c\u0639 \u0631\u0633\u0645\u064a (\u0645\u062e\u062a\u0627\u0631\u060c \u0628\u0644\u062f\u064a\u0629\u060c \u0645\u062f\u064a\u0631 \u0645\u062f\u0631\u0633\u0629\u060c \u0625\u0644\u062e ..)'), ('from_host_community', '\u0625\u062d\u0627\u0644\u0629 \u0645\u0646 \u0627\u0644\u0645\u062c\u062a\u0645\u0639 \u0627\u0644\u0645\u0636\u064a\u0641'), ('from_displaced_community', '\u0625\u062d\u0627\u0644\u0629 \u0645\u0646 \u0645\u062c\u062a\u0645\u0639 \u0627\u0644\u0646\u0627\u0632\u062d\u064a\u0646')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u0625\u062d\u0627\u0644\u0629 ')),
+ ('learning_result', models.CharField(blank=True, choices=[('', ' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'), ('repeat_level', '\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0645\u0633\u062a\u0648\u0649'), ('attended_public_school', '\u0627\u062d\u064a\u0644 \u0627\u0644\u0649 \u0645\u062f\u0631\u0633\u0629 \u0631\u0633\u0645\u064a\u0629'), ('referred_to_alp', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c ALP'), ('referred_to_tvet', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c TVET'), ('ready_to_alp_but_not_possible', '\u062c\u0627\u0647\u0632 \u0644\u0628\u0631\u0646\u0627\u0645\u062c ALP \u0648\u0644\u0643\u0646 \u0627\u0644\u0625\u062d\u0627\u0644\u0629 \u0644\u064a\u0633\u062a \u0645\u0645\u0643\u0646\u0629'), ('graduated_to_bln_next_level', '\u0631\u0641\u0639 \u0625\u0644\u0649 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062a\u0627\u0644\u064a'), ('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629\u060c \u0627\u062d\u0627\u0644\u0629 \u063a\u064a\u0631 \u0645\u0645\u0643\u0646\u0629')], max_length=100, null=True, verbose_name=' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645')),
+ ('cycle', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='clm.Cycle', verbose_name='\u0627\u0644\u062f\u0648\u0631\u0629')),
+ ('disability', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='clm.Disability', verbose_name='\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629')),
+ ('district', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='locations.Location', verbose_name='\u0627\u0644\u0642\u0636\u0627\u0621')),
+ ('governorate', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='locations.Location', verbose_name='\u0627\u0644\u0645\u062d\u0627\u0641\u0638\u0629')),
+ ('hh_educational_level', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.EducationalLevel', verbose_name='\u0645\u0627 \u0647\u0648 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062a\u0639\u0644\u064a\u0645\u064a \u0644\u0627\u0644\u0634\u062e\u0635 \u0627\u0644\u0642\u064a\u0645 \u0639\u0644\u0649 \u0627\u0644\u0637\u0641\u0644\u061f')),
+ ('modified_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='\u0627\u062e\u0631 \u062a\u0639\u062f\u064a\u0644 \u0645\u0646 \u0642\u0628\u0644')),
+ ('owner', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to=settings.AUTH_USER_MODEL)),
+ ('partner', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.PartnerOrganization', verbose_name='\u0627\u0644\u062c\u0645\u0639\u064a\u0629')),
+ ('round', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.CLMRound', verbose_name='Round')),
+ ('student', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='students.Student', verbose_name='\u0627\u0644\u062a\u0644\u0645\u064a\u0630')),
+ ],
+ options={
+ 'ordering': ['id'],
+ 'verbose_name': 'ABLN',
+ 'verbose_name_plural': 'ABLN',
+ },
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0055_auto_20190708_1410.py b/student_registration/clm/migrations/0055_auto_20190708_1410.py
new file mode 100644
index 000000000..14eff238a
--- /dev/null
+++ b/student_registration/clm/migrations/0055_auto_20190708_1410.py
@@ -0,0 +1,237 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-07-08 11:10
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('students', '0042_auto_20171201_1630'),
+ ('clm', '0054_abln'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='abln',
+ name='case_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Case number'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='case_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Case number confirm'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='id_type',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='students.IDType', verbose_name='\u0646\u0648\u0639 \u0627\u0644\u0628\u0637\u0627\u0642\u0629'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='individual_case_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Individual Case number'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='individual_case_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Individual Case number confirm'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian / Lebanese ID number '),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian / Lebanese ID number confirm'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='phone_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='\u0627\u0644\u0647\u0627\u062a\u0641'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='phone_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Phone number confirm'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='recorded_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Recorded number'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='recorded_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Recorded number confirm'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='case_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Case number'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='case_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Case number confirm'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='id_type',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='students.IDType', verbose_name='\u0646\u0648\u0639 \u0627\u0644\u0628\u0637\u0627\u0642\u0629'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='individual_case_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Individual Case number'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='individual_case_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Individual Case number confirm'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian / Lebanese ID number '),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian / Lebanese ID number confirm'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='phone_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='\u0627\u0644\u0647\u0627\u062a\u0641'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='phone_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Phone number confirm'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='recorded_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Recorded number'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='recorded_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Recorded number confirm'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='case_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Case number'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='case_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Case number confirm'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='id_type',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='students.IDType', verbose_name='\u0646\u0648\u0639 \u0627\u0644\u0628\u0637\u0627\u0642\u0629'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='individual_case_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Individual Case number'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='individual_case_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Individual Case number confirm'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian / Lebanese ID number '),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian / Lebanese ID number confirm'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='phone_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='\u0627\u0644\u0647\u0627\u062a\u0641'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='phone_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Phone number confirm'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='recorded_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Recorded number'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='recorded_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Recorded number confirm'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='case_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Case number'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='case_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Case number confirm'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='id_type',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='students.IDType', verbose_name='\u0646\u0648\u0639 \u0627\u0644\u0628\u0637\u0627\u0642\u0629'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='individual_case_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Individual Case number'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='individual_case_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Individual Case number confirm'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian / Lebanese ID number '),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian / Lebanese ID number confirm'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='phone_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='\u0627\u0644\u0647\u0627\u062a\u0641'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='phone_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Phone number confirm'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='recorded_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Recorded number'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='recorded_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Recorded number confirm'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0056_auto_20190709_1334.py b/student_registration/clm/migrations/0056_auto_20190709_1334.py
new file mode 100644
index 000000000..444cc6c50
--- /dev/null
+++ b/student_registration/clm/migrations/0056_auto_20190709_1334.py
@@ -0,0 +1,31 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-07-09 10:34
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0055_auto_20190708_1410'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='abln',
+ name='id_type',
+ ),
+ migrations.RemoveField(
+ model_name='bln',
+ name='id_type',
+ ),
+ migrations.RemoveField(
+ model_name='cbece',
+ name='id_type',
+ ),
+ migrations.RemoveField(
+ model_name='rs',
+ name='id_type',
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0057_auto_20190709_1348.py b/student_registration/clm/migrations/0057_auto_20190709_1348.py
new file mode 100644
index 000000000..19c26737e
--- /dev/null
+++ b/student_registration/clm/migrations/0057_auto_20190709_1348.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-07-09 10:48
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0056_auto_20190709_1334'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='abln',
+ name='id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', 'Syrian national ID'), ('Lebanese national ID', 'Lebanese national ID')], max_length=100, null=True, verbose_name='\u0646\u0648\u0639 \u0627\u0644\u0628\u0637\u0627\u0642\u0629'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', 'Syrian national ID'), ('Lebanese national ID', 'Lebanese national ID')], max_length=100, null=True, verbose_name='\u0646\u0648\u0639 \u0627\u0644\u0628\u0637\u0627\u0642\u0629'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', 'Syrian national ID'), ('Lebanese national ID', 'Lebanese national ID')], max_length=100, null=True, verbose_name='\u0646\u0648\u0639 \u0627\u0644\u0628\u0637\u0627\u0642\u0629'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', 'Syrian national ID'), ('Lebanese national ID', 'Lebanese national ID')], max_length=100, null=True, verbose_name='\u0646\u0648\u0639 \u0627\u0644\u0628\u0637\u0627\u0642\u0629'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0058_auto_20190724_0947.py b/student_registration/clm/migrations/0058_auto_20190724_0947.py
new file mode 100644
index 000000000..e8f40c776
--- /dev/null
+++ b/student_registration/clm/migrations/0058_auto_20190724_0947.py
@@ -0,0 +1,135 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-07-24 06:47
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0057_auto_20190709_1348'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='abln',
+ name='referral_partner_1',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0627\u0644\u062c\u0645\u0639\u064a\u0629'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='referral_partner_2',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0627\u0644\u062c\u0645\u0639\u064a\u0629'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='referral_partner_3',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0627\u0644\u062c\u0645\u0639\u064a\u0629'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='referral_programme_type_1',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name='Programme Type'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='referral_programme_type_2',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name='Programme Type'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='referral_programme_type_3',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name='Programme Type'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='referral_partner_1',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0627\u0644\u062c\u0645\u0639\u064a\u0629'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='referral_partner_2',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0627\u0644\u062c\u0645\u0639\u064a\u0629'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='referral_partner_3',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0627\u0644\u062c\u0645\u0639\u064a\u0629'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='referral_programme_type_1',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name='Programme Type'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='referral_programme_type_2',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name='Programme Type'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='referral_programme_type_3',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name='Programme Type'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='referral_partner_1',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0627\u0644\u062c\u0645\u0639\u064a\u0629'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='referral_partner_2',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0627\u0644\u062c\u0645\u0639\u064a\u0629'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='referral_partner_3',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0627\u0644\u062c\u0645\u0639\u064a\u0629'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='referral_programme_type_1',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name='Programme Type'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='referral_programme_type_2',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name='Programme Type'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='referral_programme_type_3',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name='Programme Type'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='referral_partner_1',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0627\u0644\u062c\u0645\u0639\u064a\u0629'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='referral_partner_2',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0627\u0644\u062c\u0645\u0639\u064a\u0629'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='referral_partner_3',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0627\u0644\u062c\u0645\u0639\u064a\u0629'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='referral_programme_type_1',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name='Programme Type'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='referral_programme_type_2',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name='Programme Type'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='referral_programme_type_3',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name='Programme Type'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0059_auto_20190724_1601.py b/student_registration/clm/migrations/0059_auto_20190724_1601.py
new file mode 100644
index 000000000..2993e0c9a
--- /dev/null
+++ b/student_registration/clm/migrations/0059_auto_20190724_1601.py
@@ -0,0 +1,135 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-07-24 13:01
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0058_auto_20190724_0947'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='abln',
+ name='confirmation_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='Date when the receiving organization confirms accepting the child (or child receiving service)'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='confirmation_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='Date when the receiving organization confirms accepting the child (or child receiving service)'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='confirmation_date_3',
+ field=models.DateField(blank=True, null=True, verbose_name='Date when the receiving organization confirms accepting the child (or child receiving service)'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='referral_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='Referral date'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='referral_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='Referral date'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='referral_date_3',
+ field=models.DateField(blank=True, null=True, verbose_name='Referral date'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='confirmation_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='Date when the receiving organization confirms accepting the child (or child receiving service)'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='confirmation_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='Date when the receiving organization confirms accepting the child (or child receiving service)'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='confirmation_date_3',
+ field=models.DateField(blank=True, null=True, verbose_name='Date when the receiving organization confirms accepting the child (or child receiving service)'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='referral_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='Referral date'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='referral_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='Referral date'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='referral_date_3',
+ field=models.DateField(blank=True, null=True, verbose_name='Referral date'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='confirmation_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='Date when the receiving organization confirms accepting the child (or child receiving service)'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='confirmation_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='Date when the receiving organization confirms accepting the child (or child receiving service)'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='confirmation_date_3',
+ field=models.DateField(blank=True, null=True, verbose_name='Date when the receiving organization confirms accepting the child (or child receiving service)'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='referral_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='Referral date'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='referral_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='Referral date'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='referral_date_3',
+ field=models.DateField(blank=True, null=True, verbose_name='Referral date'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='confirmation_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='Date when the receiving organization confirms accepting the child (or child receiving service)'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='confirmation_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='Date when the receiving organization confirms accepting the child (or child receiving service)'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='confirmation_date_3',
+ field=models.DateField(blank=True, null=True, verbose_name='Date when the receiving organization confirms accepting the child (or child receiving service)'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='referral_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='Referral date'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='referral_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='Referral date'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='referral_date_3',
+ field=models.DateField(blank=True, null=True, verbose_name='Referral date'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0060_auto_20190724_1656.py b/student_registration/clm/migrations/0060_auto_20190724_1656.py
new file mode 100644
index 000000000..f41fed6d9
--- /dev/null
+++ b/student_registration/clm/migrations/0060_auto_20190724_1656.py
@@ -0,0 +1,195 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-07-24 13:56
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0059_auto_20190724_1601'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='abln',
+ name='followup_call_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='Call date'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='followup_call_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='Call date'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='followup_call_reason_1',
+ field=models.TextField(blank=True, null=True, verbose_name='Reason'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='followup_call_reason_2',
+ field=models.TextField(blank=True, null=True, verbose_name='Reason'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='followup_call_result_1',
+ field=models.TextField(blank=True, null=True, verbose_name='Results'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='followup_call_result_2',
+ field=models.TextField(blank=True, null=True, verbose_name='Results'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='followup_visit_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='Visit date'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='followup_visit_reason_1',
+ field=models.TextField(blank=True, null=True, verbose_name='Reason'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='followup_visit_result_1',
+ field=models.TextField(blank=True, null=True, verbose_name='Results'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='followup_call_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='Call date'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='followup_call_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='Call date'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='followup_call_reason_1',
+ field=models.TextField(blank=True, null=True, verbose_name='Reason'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='followup_call_reason_2',
+ field=models.TextField(blank=True, null=True, verbose_name='Reason'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='followup_call_result_1',
+ field=models.TextField(blank=True, null=True, verbose_name='Results'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='followup_call_result_2',
+ field=models.TextField(blank=True, null=True, verbose_name='Results'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='followup_visit_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='Visit date'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='followup_visit_reason_1',
+ field=models.TextField(blank=True, null=True, verbose_name='Reason'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='followup_visit_result_1',
+ field=models.TextField(blank=True, null=True, verbose_name='Results'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='followup_call_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='Call date'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='followup_call_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='Call date'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='followup_call_reason_1',
+ field=models.TextField(blank=True, null=True, verbose_name='Reason'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='followup_call_reason_2',
+ field=models.TextField(blank=True, null=True, verbose_name='Reason'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='followup_call_result_1',
+ field=models.TextField(blank=True, null=True, verbose_name='Results'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='followup_call_result_2',
+ field=models.TextField(blank=True, null=True, verbose_name='Results'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='followup_visit_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='Visit date'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='followup_visit_reason_1',
+ field=models.TextField(blank=True, null=True, verbose_name='Reason'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='followup_visit_result_1',
+ field=models.TextField(blank=True, null=True, verbose_name='Results'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='followup_call_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='Call date'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='followup_call_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='Call date'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='followup_call_reason_1',
+ field=models.TextField(blank=True, null=True, verbose_name='Reason'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='followup_call_reason_2',
+ field=models.TextField(blank=True, null=True, verbose_name='Reason'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='followup_call_result_1',
+ field=models.TextField(blank=True, null=True, verbose_name='Results'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='followup_call_result_2',
+ field=models.TextField(blank=True, null=True, verbose_name='Results'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='followup_visit_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='Visit date'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='followup_visit_reason_1',
+ field=models.TextField(blank=True, null=True, verbose_name='Reason'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='followup_visit_result_1',
+ field=models.TextField(blank=True, null=True, verbose_name='Results'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0061_auto_20190729_0922.py b/student_registration/clm/migrations/0061_auto_20190729_0922.py
new file mode 100644
index 000000000..085db9ddf
--- /dev/null
+++ b/student_registration/clm/migrations/0061_auto_20190729_0922.py
@@ -0,0 +1,235 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-07-29 06:22
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0060_auto_20190724_1656'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='abln',
+ name='no_child_id_confirmation',
+ field=models.CharField(blank=True, max_length=50, null=True),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='no_parent_id_confirmation',
+ field=models.CharField(blank=True, max_length=50, null=True),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='parent_case_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Case number'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='parent_case_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Case number confirm'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='parent_id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('Syrian national ID', 'Syrian national ID'), ('Lebanese national ID', 'Lebanese national ID'), ('Parent have no ID', 'Parent have no ID')], max_length=100, null=True, verbose_name='Parent ID type'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='parent_individual_case_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Individual Case number'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='parent_individual_case_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Individual Case number confirm'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='parent_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian / Lebanese ID number '),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='parent_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian / Lebanese ID number confirm'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='source_of_identification',
+ field=models.CharField(blank=True, choices=[('Family walked in to NGO', 'Family walked in to NGO'), ('Referral from another NGO or municipality', 'Referral from another NGO or municipality'), ('Direct outreach', 'Direct outreach'), ('List database', 'List database')], max_length=100, null=True, verbose_name='Source of identification of the child'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='no_child_id_confirmation',
+ field=models.CharField(blank=True, max_length=50, null=True),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='no_parent_id_confirmation',
+ field=models.CharField(blank=True, max_length=50, null=True),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='parent_case_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Case number'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='parent_case_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Case number confirm'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='parent_id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('Syrian national ID', 'Syrian national ID'), ('Lebanese national ID', 'Lebanese national ID'), ('Parent have no ID', 'Parent have no ID')], max_length=100, null=True, verbose_name='Parent ID type'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='parent_individual_case_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Individual Case number'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='parent_individual_case_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Individual Case number confirm'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='parent_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian / Lebanese ID number '),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='parent_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian / Lebanese ID number confirm'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='source_of_identification',
+ field=models.CharField(blank=True, choices=[('Family walked in to NGO', 'Family walked in to NGO'), ('Referral from another NGO or municipality', 'Referral from another NGO or municipality'), ('Direct outreach', 'Direct outreach'), ('List database', 'List database')], max_length=100, null=True, verbose_name='Source of identification of the child'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='no_child_id_confirmation',
+ field=models.CharField(blank=True, max_length=50, null=True),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='no_parent_id_confirmation',
+ field=models.CharField(blank=True, max_length=50, null=True),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='parent_case_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Case number'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='parent_case_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Case number confirm'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='parent_id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('Syrian national ID', 'Syrian national ID'), ('Lebanese national ID', 'Lebanese national ID'), ('Parent have no ID', 'Parent have no ID')], max_length=100, null=True, verbose_name='Parent ID type'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='parent_individual_case_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Individual Case number'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='parent_individual_case_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Individual Case number confirm'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='parent_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian / Lebanese ID number '),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='parent_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian / Lebanese ID number confirm'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='source_of_identification',
+ field=models.CharField(blank=True, choices=[('Family walked in to NGO', 'Family walked in to NGO'), ('Referral from another NGO or municipality', 'Referral from another NGO or municipality'), ('Direct outreach', 'Direct outreach'), ('List database', 'List database')], max_length=100, null=True, verbose_name='Source of identification of the child'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='no_child_id_confirmation',
+ field=models.CharField(blank=True, max_length=50, null=True),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='no_parent_id_confirmation',
+ field=models.CharField(blank=True, max_length=50, null=True),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='parent_case_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Case number'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='parent_case_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Case number confirm'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='parent_id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('Syrian national ID', 'Syrian national ID'), ('Lebanese national ID', 'Lebanese national ID'), ('Parent have no ID', 'Parent have no ID')], max_length=100, null=True, verbose_name='Parent ID type'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='parent_individual_case_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Individual Case number'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='parent_individual_case_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Individual Case number confirm'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='parent_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian / Lebanese ID number '),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='parent_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian / Lebanese ID number confirm'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='source_of_identification',
+ field=models.CharField(blank=True, choices=[('Family walked in to NGO', 'Family walked in to NGO'), ('Referral from another NGO or municipality', 'Referral from another NGO or municipality'), ('Direct outreach', 'Direct outreach'), ('List database', 'List database')], max_length=100, null=True, verbose_name='Source of identification of the child'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', 'Syrian national ID'), ('Lebanese national ID', 'Lebanese national ID'), ('Child have no ID', 'Child have no ID')], max_length=100, null=True, verbose_name='Child ID type'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', 'Syrian national ID'), ('Lebanese national ID', 'Lebanese national ID'), ('Child have no ID', 'Child have no ID')], max_length=100, null=True, verbose_name='Child ID type'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', 'Syrian national ID'), ('Lebanese national ID', 'Lebanese national ID'), ('Child have no ID', 'Child have no ID')], max_length=100, null=True, verbose_name='Child ID type'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', 'Syrian national ID'), ('Lebanese national ID', 'Lebanese national ID'), ('Child have no ID', 'Child have no ID')], max_length=100, null=True, verbose_name='Child ID type'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0062_auto_20190729_1025.py b/student_registration/clm/migrations/0062_auto_20190729_1025.py
new file mode 100644
index 000000000..6a928dd85
--- /dev/null
+++ b/student_registration/clm/migrations/0062_auto_20190729_1025.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-07-29 07:25
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0061_auto_20190729_0922'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='abln',
+ name='parent_id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', 'Syrian national ID'), ('Lebanese national ID', 'Lebanese national ID'), ('Parent have no ID', 'Parent have no ID')], max_length=100, null=True, verbose_name='Parent ID type'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='parent_id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', 'Syrian national ID'), ('Lebanese national ID', 'Lebanese national ID'), ('Parent have no ID', 'Parent have no ID')], max_length=100, null=True, verbose_name='Parent ID type'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='parent_id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', 'Syrian national ID'), ('Lebanese national ID', 'Lebanese national ID'), ('Parent have no ID', 'Parent have no ID')], max_length=100, null=True, verbose_name='Parent ID type'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='parent_id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', 'Syrian national ID'), ('Lebanese national ID', 'Lebanese national ID'), ('Parent have no ID', 'Parent have no ID')], max_length=100, null=True, verbose_name='Parent ID type'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0063_auto_20190730_0953.py b/student_registration/clm/migrations/0063_auto_20190730_0953.py
new file mode 100644
index 000000000..10eccf62a
--- /dev/null
+++ b/student_registration/clm/migrations/0063_auto_20190730_0953.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-07-30 06:53
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0062_auto_20190729_1025'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='abln',
+ name='learning_result',
+ field=models.CharField(blank=True, choices=[('', ' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'), ('repeat_abln_level', 'Repeat ABLN level'), ('graduated_to_abln_next_level', 'Graduated to the ABLN next level'), ('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629\u060c \u0627\u062d\u0627\u0644\u0629 \u063a\u064a\u0631 \u0645\u0645\u0643\u0646\u0629')], max_length=100, null=True, verbose_name=' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0064_auto_20190731_1022.py b/student_registration/clm/migrations/0064_auto_20190731_1022.py
new file mode 100644
index 000000000..1786a96ef
--- /dev/null
+++ b/student_registration/clm/migrations/0064_auto_20190731_1022.py
@@ -0,0 +1,295 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-07-31 07:22
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0063_auto_20190730_0953'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='abln',
+ name='parent_sop_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Palestinian ID number '),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='parent_sop_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Palestinian ID number confirm'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='parent_syrian_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian ID number '),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='parent_syrian_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian ID number confirm'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='sop_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Palestinian ID number '),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='sop_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Palestinian ID number confirm'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='syrian_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian ID number '),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='syrian_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian ID number confirm'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='parent_sop_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Palestinian ID number '),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='parent_sop_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Palestinian ID number confirm'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='parent_syrian_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian ID number '),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='parent_syrian_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian ID number confirm'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='sop_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Palestinian ID number '),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='sop_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Palestinian ID number confirm'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='syrian_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian ID number '),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='syrian_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian ID number confirm'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='parent_sop_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Palestinian ID number '),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='parent_sop_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Palestinian ID number confirm'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='parent_syrian_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian ID number '),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='parent_syrian_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian ID number confirm'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='sop_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Palestinian ID number '),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='sop_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Palestinian ID number confirm'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='syrian_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian ID number '),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='syrian_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian ID number confirm'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='parent_sop_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Palestinian ID number '),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='parent_sop_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Palestinian ID number confirm'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='parent_syrian_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian ID number '),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='parent_syrian_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian ID number confirm'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='sop_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Palestinian ID number '),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='sop_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Palestinian ID number confirm'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='syrian_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian ID number '),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='syrian_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Syrian ID number confirm'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', 'Syrian national ID'), ('Palestinian national ID', 'Palestinian national ID'), ('Lebanese national ID', 'Lebanese national ID'), ('Child have no ID', 'Child have no ID')], max_length=100, null=True, verbose_name='Child ID type'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Lebanese ID number '),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Lebanese ID number confirm'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='parent_id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', 'Syrian national ID'), ('Palestinian national ID', 'Palestinian national ID'), ('Lebanese national ID', 'Lebanese national ID'), ('Parent have no ID', 'Parent have no ID')], max_length=100, null=True, verbose_name='Parent ID type'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='parent_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Lebanese ID number '),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='parent_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Lebanese ID number confirm'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', 'Syrian national ID'), ('Palestinian national ID', 'Palestinian national ID'), ('Lebanese national ID', 'Lebanese national ID'), ('Child have no ID', 'Child have no ID')], max_length=100, null=True, verbose_name='Child ID type'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Lebanese ID number '),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Lebanese ID number confirm'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='parent_id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', 'Syrian national ID'), ('Palestinian national ID', 'Palestinian national ID'), ('Lebanese national ID', 'Lebanese national ID'), ('Parent have no ID', 'Parent have no ID')], max_length=100, null=True, verbose_name='Parent ID type'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='parent_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Lebanese ID number '),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='parent_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Lebanese ID number confirm'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', 'Syrian national ID'), ('Palestinian national ID', 'Palestinian national ID'), ('Lebanese national ID', 'Lebanese national ID'), ('Child have no ID', 'Child have no ID')], max_length=100, null=True, verbose_name='Child ID type'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Lebanese ID number '),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Lebanese ID number confirm'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='parent_id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', 'Syrian national ID'), ('Palestinian national ID', 'Palestinian national ID'), ('Lebanese national ID', 'Lebanese national ID'), ('Parent have no ID', 'Parent have no ID')], max_length=100, null=True, verbose_name='Parent ID type'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='parent_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Lebanese ID number '),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='parent_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Lebanese ID number confirm'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', 'Syrian national ID'), ('Palestinian national ID', 'Palestinian national ID'), ('Lebanese national ID', 'Lebanese national ID'), ('Child have no ID', 'Child have no ID')], max_length=100, null=True, verbose_name='Child ID type'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Lebanese ID number '),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Lebanese ID number confirm'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='parent_id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', 'Syrian national ID'), ('Palestinian national ID', 'Palestinian national ID'), ('Lebanese national ID', 'Lebanese national ID'), ('Parent have no ID', 'Parent have no ID')], max_length=100, null=True, verbose_name='Parent ID type'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='parent_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Lebanese ID number '),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='parent_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Lebanese ID number confirm'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0065_auto_20190731_1154.py b/student_registration/clm/migrations/0065_auto_20190731_1154.py
new file mode 100644
index 000000000..03db2e8d5
--- /dev/null
+++ b/student_registration/clm/migrations/0065_auto_20190731_1154.py
@@ -0,0 +1,56 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-07-31 08:54
+from __future__ import unicode_literals
+
+import django.contrib.postgres.fields
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0064_auto_20190731_1022'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='abln',
+ name='other_nationality',
+ field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Specify the nationality'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='other_nationality',
+ field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Specify the nationality'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='other_nationality',
+ field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Specify the nationality'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='other_nationality',
+ field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Specify the nationality'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='labours',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('agriculture', '\u0627\u0644\u0632\u0631\u0627\u0639\u0629'), ('building', '\u0627\u0644\u0628\u0646\u0627\u0621'), ('manufacturing', '\u0627\u0644\u062a\u0635\u0646\u064a\u0639'), ('retail_store', '\u0627\u0644\u0628\u064a\u0639 \u0628\u0627\u0644\u0645\u0641\u0631\u0642 / \u0645\u062d\u0644'), ('begging', '\u062a\u0633\u0648\u0644'), ('other_many_other', '\u063a\u064a\u0631 \u0630\u0644\u0643 (\u0641\u0646\u062f\u0642\u060c \u0645\u0637\u0639\u0645\u060c \u0646\u0642\u0644\u060c \u062e\u062f\u0645\u0627\u062a \u0634\u062e\u0635\u064a\u0629 \u0645\u062b\u0644 \u0627\u0644\u062a\u0646\u0638\u064a\u0641\u060c \u0627\u0644\u0639\u0646\u0627\u064a\u0629 \u0628\u0627\u0644\u0634\u0639\u0631\u060c \u0627\u0644\u0637\u0628\u062e \u0648\u0627\u0644\u0625\u0639\u062a\u0646\u0627\u0621 \u0628\u0627\u0644\u0623\u0637\u0641\u0627\u0644)')], max_length=50, null=True), blank=True, null=True, size=None, verbose_name='\u0645\u0627 \u0647\u0648 \u0646\u0648\u0639 \u0627\u0644\u0639\u0645\u0644 \u061f'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='labours',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('agriculture', '\u0627\u0644\u0632\u0631\u0627\u0639\u0629'), ('building', '\u0627\u0644\u0628\u0646\u0627\u0621'), ('manufacturing', '\u0627\u0644\u062a\u0635\u0646\u064a\u0639'), ('retail_store', '\u0627\u0644\u0628\u064a\u0639 \u0628\u0627\u0644\u0645\u0641\u0631\u0642 / \u0645\u062d\u0644'), ('begging', '\u062a\u0633\u0648\u0644'), ('other_many_other', '\u063a\u064a\u0631 \u0630\u0644\u0643 (\u0641\u0646\u062f\u0642\u060c \u0645\u0637\u0639\u0645\u060c \u0646\u0642\u0644\u060c \u062e\u062f\u0645\u0627\u062a \u0634\u062e\u0635\u064a\u0629 \u0645\u062b\u0644 \u0627\u0644\u062a\u0646\u0638\u064a\u0641\u060c \u0627\u0644\u0639\u0646\u0627\u064a\u0629 \u0628\u0627\u0644\u0634\u0639\u0631\u060c \u0627\u0644\u0637\u0628\u062e \u0648\u0627\u0644\u0625\u0639\u062a\u0646\u0627\u0621 \u0628\u0627\u0644\u0623\u0637\u0641\u0627\u0644)')], max_length=50, null=True), blank=True, null=True, size=None, verbose_name='\u0645\u0627 \u0647\u0648 \u0646\u0648\u0639 \u0627\u0644\u0639\u0645\u0644 \u061f'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='labours',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('agriculture', '\u0627\u0644\u0632\u0631\u0627\u0639\u0629'), ('building', '\u0627\u0644\u0628\u0646\u0627\u0621'), ('manufacturing', '\u0627\u0644\u062a\u0635\u0646\u064a\u0639'), ('retail_store', '\u0627\u0644\u0628\u064a\u0639 \u0628\u0627\u0644\u0645\u0641\u0631\u0642 / \u0645\u062d\u0644'), ('begging', '\u062a\u0633\u0648\u0644'), ('other_many_other', '\u063a\u064a\u0631 \u0630\u0644\u0643 (\u0641\u0646\u062f\u0642\u060c \u0645\u0637\u0639\u0645\u060c \u0646\u0642\u0644\u060c \u062e\u062f\u0645\u0627\u062a \u0634\u062e\u0635\u064a\u0629 \u0645\u062b\u0644 \u0627\u0644\u062a\u0646\u0638\u064a\u0641\u060c \u0627\u0644\u0639\u0646\u0627\u064a\u0629 \u0628\u0627\u0644\u0634\u0639\u0631\u060c \u0627\u0644\u0637\u0628\u062e \u0648\u0627\u0644\u0625\u0639\u062a\u0646\u0627\u0621 \u0628\u0627\u0644\u0623\u0637\u0641\u0627\u0644)')], max_length=50, null=True), blank=True, null=True, size=None, verbose_name='\u0645\u0627 \u0647\u0648 \u0646\u0648\u0639 \u0627\u0644\u0639\u0645\u0644 \u061f'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='labours',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('agriculture', '\u0627\u0644\u0632\u0631\u0627\u0639\u0629'), ('building', '\u0627\u0644\u0628\u0646\u0627\u0621'), ('manufacturing', '\u0627\u0644\u062a\u0635\u0646\u064a\u0639'), ('retail_store', '\u0627\u0644\u0628\u064a\u0639 \u0628\u0627\u0644\u0645\u0641\u0631\u0642 / \u0645\u062d\u0644'), ('begging', '\u062a\u0633\u0648\u0644'), ('other_many_other', '\u063a\u064a\u0631 \u0630\u0644\u0643 (\u0641\u0646\u062f\u0642\u060c \u0645\u0637\u0639\u0645\u060c \u0646\u0642\u0644\u060c \u062e\u062f\u0645\u0627\u062a \u0634\u062e\u0635\u064a\u0629 \u0645\u062b\u0644 \u0627\u0644\u062a\u0646\u0638\u064a\u0641\u060c \u0627\u0644\u0639\u0646\u0627\u064a\u0629 \u0628\u0627\u0644\u0634\u0639\u0631\u060c \u0627\u0644\u0637\u0628\u062e \u0648\u0627\u0644\u0625\u0639\u062a\u0646\u0627\u0621 \u0628\u0627\u0644\u0623\u0637\u0641\u0627\u0644)')], max_length=50, null=True), blank=True, null=True, size=None, verbose_name='\u0645\u0627 \u0647\u0648 \u0646\u0648\u0639 \u0627\u0644\u0639\u0645\u0644 \u061f'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0066_auto_20190805_1235.py b/student_registration/clm/migrations/0066_auto_20190805_1235.py
new file mode 100644
index 000000000..b12544d46
--- /dev/null
+++ b/student_registration/clm/migrations/0066_auto_20190805_1235.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-08-05 09:35
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0065_auto_20190731_1154'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='abln',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('Never been in formal education', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('enrolled in formal educarioh but did not continue', 'Enrolled in formal educarioh but did not continue')], max_length=100, null=True, verbose_name='Education status'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('Never been in formal education', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('enrolled in formal educarioh but did not continue', 'Enrolled in formal educarioh but did not continue')], max_length=100, null=True, verbose_name='Education status'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('Never been in formal education', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('enrolled in formal educarioh but did not continue', 'Enrolled in formal educarioh but did not continue')], max_length=100, null=True, verbose_name='Education status'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('Never been in formal education', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('enrolled in formal educarioh but did not continue', 'Enrolled in formal educarioh but did not continue')], max_length=100, null=True, verbose_name='Education status'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0067_auto_20190805_1400.py b/student_registration/clm/migrations/0067_auto_20190805_1400.py
new file mode 100644
index 000000000..bea3bf6bb
--- /dev/null
+++ b/student_registration/clm/migrations/0067_auto_20190805_1400.py
@@ -0,0 +1,66 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-08-05 11:00
+from __future__ import unicode_literals
+
+import django.contrib.postgres.fields
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0066_auto_20190805_1235'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='abln',
+ name='barriers',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('Full time job to support family financially', '\u0627\u0644\u0639\u0645\u0644 \u0644\u0625\u0639\u0627\u0644\u0629 \u0627\u0644\u0639\u0627\u0626\u0644\u0629 \u0645\u0627\u062f\u064a\u0627\u064b'), ('seasonal_work', '\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0633\u0645\u064a'), ('transportation', '\u0627\u0644\u0646\u0642\u0644\u064a\u0627\u062a '), ('weather', '\u0627\u0644\u0637\u0642\u0633'), ('sickness', '\u0627\u0644\u0645\u0631\u0636'), ('security', '\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0645\u0646\u064a'), ('family moved', '\u062a\u0628\u062f\u064a\u0644 \u0645\u0643\u0627\u0646 \u0627\u0644\u0633\u0643\u0646'), ('Moved back to Syria', 'Moved back to Syria'), ('Enrolled in formal education', 'Enrolled in formal education'), ('marriage engagement pregnancy', '\u0632\u0648\u0627\u062c/\u062e\u0637\u0648\u0628\u0629/\u062d\u0645\u0644'), ('violence bullying', '\u0628\u0644\u0637\u062c\u0629/\u0639\u0646\u0641'), ('No interest in pursuing the programme/No value', '\u0639\u062f\u0645 \u0627\u0644\u0631\u063a\u0628\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u0645/ \u0644\u0627 \u0642\u064a\u0645\u0629')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u062d\u0648\u0627\u062c\u0632'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='labours',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('agriculture', '\u0627\u0644\u0632\u0631\u0627\u0639\u0629'), ('building', '\u0627\u0644\u0628\u0646\u0627\u0621'), ('manufacturing', '\u0627\u0644\u062a\u0635\u0646\u064a\u0639'), ('retail_store', '\u0627\u0644\u0628\u064a\u0639 \u0628\u0627\u0644\u0645\u0641\u0631\u0642 / \u0645\u062d\u0644'), ('begging', '\u062a\u0633\u0648\u0644'), ('other_many_other', 'Other services (hotel, restaurant, transport, personal services such as cleaning, hair care, cooking and childcare)')], max_length=50, null=True), blank=True, null=True, size=None, verbose_name='\u0645\u0627 \u0647\u0648 \u0646\u0648\u0639 \u0627\u0644\u0639\u0645\u0644 \u061f'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='participation',
+ field=models.CharField(blank=True, choices=[('less_than_3days', 'Less than 3 absence days'), ('3_7_days', '3 to 7 absence days'), ('7_12_days', '7 to 12 absence days'), ('more_than_12days', 'More than 12 absence days')], max_length=100, null=True, verbose_name='\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 '),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='barriers',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('Full time job to support family financially', '\u0627\u0644\u0639\u0645\u0644 \u0644\u0625\u0639\u0627\u0644\u0629 \u0627\u0644\u0639\u0627\u0626\u0644\u0629 \u0645\u0627\u062f\u064a\u0627\u064b'), ('seasonal_work', '\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0633\u0645\u064a'), ('transportation', '\u0627\u0644\u0646\u0642\u0644\u064a\u0627\u062a '), ('weather', '\u0627\u0644\u0637\u0642\u0633'), ('sickness', '\u0627\u0644\u0645\u0631\u0636'), ('security', '\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0645\u0646\u064a'), ('family moved', '\u062a\u0628\u062f\u064a\u0644 \u0645\u0643\u0627\u0646 \u0627\u0644\u0633\u0643\u0646'), ('Moved back to Syria', 'Moved back to Syria'), ('Enrolled in formal education', 'Enrolled in formal education'), ('marriage engagement pregnancy', '\u0632\u0648\u0627\u062c/\u062e\u0637\u0648\u0628\u0629/\u062d\u0645\u0644'), ('violence bullying', '\u0628\u0644\u0637\u062c\u0629/\u0639\u0646\u0641'), ('No interest in pursuing the programme/No value', '\u0639\u062f\u0645 \u0627\u0644\u0631\u063a\u0628\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u0645/ \u0644\u0627 \u0642\u064a\u0645\u0629')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u062d\u0648\u0627\u062c\u0632'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='labours',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('agriculture', '\u0627\u0644\u0632\u0631\u0627\u0639\u0629'), ('building', '\u0627\u0644\u0628\u0646\u0627\u0621'), ('manufacturing', '\u0627\u0644\u062a\u0635\u0646\u064a\u0639'), ('retail_store', '\u0627\u0644\u0628\u064a\u0639 \u0628\u0627\u0644\u0645\u0641\u0631\u0642 / \u0645\u062d\u0644'), ('begging', '\u062a\u0633\u0648\u0644'), ('other_many_other', 'Other services (hotel, restaurant, transport, personal services such as cleaning, hair care, cooking and childcare)')], max_length=50, null=True), blank=True, null=True, size=None, verbose_name='\u0645\u0627 \u0647\u0648 \u0646\u0648\u0639 \u0627\u0644\u0639\u0645\u0644 \u061f'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='participation',
+ field=models.CharField(blank=True, choices=[('less_than_10days', 'Less than 10 absence days'), ('10_15_days', '10-15 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('15_20_days', '15 to 20 absence days'), ('more_than_20days', 'More than 20 absence days')], max_length=100, null=True, verbose_name='\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 '),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='barriers',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('Full time job to support family financially', '\u0627\u0644\u0639\u0645\u0644 \u0644\u0625\u0639\u0627\u0644\u0629 \u0627\u0644\u0639\u0627\u0626\u0644\u0629 \u0645\u0627\u062f\u064a\u0627\u064b'), ('seasonal_work', '\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0633\u0645\u064a'), ('transportation', '\u0627\u0644\u0646\u0642\u0644\u064a\u0627\u062a '), ('weather', '\u0627\u0644\u0637\u0642\u0633'), ('sickness', '\u0627\u0644\u0645\u0631\u0636'), ('security', '\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0645\u0646\u064a'), ('family moved', '\u062a\u0628\u062f\u064a\u0644 \u0645\u0643\u0627\u0646 \u0627\u0644\u0633\u0643\u0646'), ('Moved back to Syria', 'Moved back to Syria'), ('Enrolled in formal education', 'Enrolled in formal education'), ('marriage engagement pregnancy', '\u0632\u0648\u0627\u062c/\u062e\u0637\u0648\u0628\u0629/\u062d\u0645\u0644'), ('violence bullying', '\u0628\u0644\u0637\u062c\u0629/\u0639\u0646\u0641'), ('No interest in pursuing the programme/No value', '\u0639\u062f\u0645 \u0627\u0644\u0631\u063a\u0628\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u0645/ \u0644\u0627 \u0642\u064a\u0645\u0629')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u062d\u0648\u0627\u062c\u0632'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='labours',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('agriculture', '\u0627\u0644\u0632\u0631\u0627\u0639\u0629'), ('building', '\u0627\u0644\u0628\u0646\u0627\u0621'), ('manufacturing', '\u0627\u0644\u062a\u0635\u0646\u064a\u0639'), ('retail_store', '\u0627\u0644\u0628\u064a\u0639 \u0628\u0627\u0644\u0645\u0641\u0631\u0642 / \u0645\u062d\u0644'), ('begging', '\u062a\u0633\u0648\u0644'), ('other_many_other', 'Other services (hotel, restaurant, transport, personal services such as cleaning, hair care, cooking and childcare)')], max_length=50, null=True), blank=True, null=True, size=None, verbose_name='\u0645\u0627 \u0647\u0648 \u0646\u0648\u0639 \u0627\u0644\u0639\u0645\u0644 \u061f'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='barriers',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('Full time job to support family financially', '\u0627\u0644\u0639\u0645\u0644 \u0644\u0625\u0639\u0627\u0644\u0629 \u0627\u0644\u0639\u0627\u0626\u0644\u0629 \u0645\u0627\u062f\u064a\u0627\u064b'), ('seasonal_work', '\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0633\u0645\u064a'), ('transportation', '\u0627\u0644\u0646\u0642\u0644\u064a\u0627\u062a '), ('weather', '\u0627\u0644\u0637\u0642\u0633'), ('sickness', '\u0627\u0644\u0645\u0631\u0636'), ('security', '\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0645\u0646\u064a'), ('family moved', '\u062a\u0628\u062f\u064a\u0644 \u0645\u0643\u0627\u0646 \u0627\u0644\u0633\u0643\u0646'), ('Moved back to Syria', 'Moved back to Syria'), ('Enrolled in formal education', 'Enrolled in formal education'), ('marriage engagement pregnancy', '\u0632\u0648\u0627\u062c/\u062e\u0637\u0648\u0628\u0629/\u062d\u0645\u0644'), ('violence bullying', '\u0628\u0644\u0637\u062c\u0629/\u0639\u0646\u0641'), ('No interest in pursuing the programme/No value', '\u0639\u062f\u0645 \u0627\u0644\u0631\u063a\u0628\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u0645/ \u0644\u0627 \u0642\u064a\u0645\u0629')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u062d\u0648\u0627\u062c\u0632'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='labours',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('agriculture', '\u0627\u0644\u0632\u0631\u0627\u0639\u0629'), ('building', '\u0627\u0644\u0628\u0646\u0627\u0621'), ('manufacturing', '\u0627\u0644\u062a\u0635\u0646\u064a\u0639'), ('retail_store', '\u0627\u0644\u0628\u064a\u0639 \u0628\u0627\u0644\u0645\u0641\u0631\u0642 / \u0645\u062d\u0644'), ('begging', '\u062a\u0633\u0648\u0644'), ('other_many_other', 'Other services (hotel, restaurant, transport, personal services such as cleaning, hair care, cooking and childcare)')], max_length=50, null=True), blank=True, null=True, size=None, verbose_name='\u0645\u0627 \u0647\u0648 \u0646\u0648\u0639 \u0627\u0644\u0639\u0645\u0644 \u061f'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0068_auto_20190805_1413.py b/student_registration/clm/migrations/0068_auto_20190805_1413.py
new file mode 100644
index 000000000..ffd3401f7
--- /dev/null
+++ b/student_registration/clm/migrations/0068_auto_20190805_1413.py
@@ -0,0 +1,45 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-08-05 11:13
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0067_auto_20190805_1400'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='abln',
+ name='learning_result',
+ field=models.CharField(blank=True, choices=[('', ' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'), ('graduated_to_abln_next_level', 'Graduated to the ABLN next level'), ('referred_to_bln', 'Referred to BLN'), ('referred_to_ybln', 'Referred to YBLN'), ('referred_to_alp', 'Referred to ALP'), ('referred_to_cbt', 'Referred to CBT'), ('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629\u060c \u0627\u062d\u0627\u0644\u0629 \u063a\u064a\u0631 \u0645\u0645\u0643\u0646\u0629')], max_length=100, null=True, verbose_name=' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('enrolled and did not do the pre-test', 'Enrolled and did not do the pre-test'), ('enrolled in formal', 'Enrolled in formal education')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Pre-test'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='learning_result',
+ field=models.CharField(blank=True, choices=[('', ' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'), ('graduated_to_bln_next_level', '\u0631\u0641\u0639 \u0625\u0644\u0649 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062a\u0627\u0644\u064a'), ('referred_to_alp', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c ALP'), ('referred_public_school', 'Referred to public school'), ('referred_to_tvet', 'Referred to TVET'), ('referred_to_ybln', 'Referred to YBLN'), ('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629\u060c \u0627\u062d\u0627\u0644\u0629 \u063a\u064a\u0631 \u0645\u0645\u0643\u0646\u0629')], max_length=100, null=True, verbose_name=' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('enrolled and did not do the pre-test', 'Enrolled and did not do the pre-test'), ('enrolled in formal', 'Enrolled in formal education')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Pre-test'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('enrolled and did not do the pre-test', 'Enrolled and did not do the pre-test'), ('enrolled in formal', 'Enrolled in formal education')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Pre-test'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('enrolled and did not do the pre-test', 'Enrolled and did not do the pre-test'), ('enrolled in formal', 'Enrolled in formal education')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Pre-test'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0069_auto_20190819_1002.py b/student_registration/clm/migrations/0069_auto_20190819_1002.py
new file mode 100644
index 000000000..248b2b895
--- /dev/null
+++ b/student_registration/clm/migrations/0069_auto_20190819_1002.py
@@ -0,0 +1,758 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-08-19 07:02
+from __future__ import unicode_literals
+
+import django.contrib.postgres.fields
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0039_auto_20190619_1028'),
+ ('clm', '0068_auto_20190805_1413'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='abln',
+ name='father_educational_level',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.EducationalLevel', verbose_name='What is the educational level of the father?'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='father_educational_level',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.EducationalLevel', verbose_name='What is the educational level of the father?'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='father_educational_level',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.EducationalLevel', verbose_name='What is the educational level of the father?'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='father_educational_level',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.EducationalLevel', verbose_name='What is the educational level of the father?'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='barriers',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('Full time job to support family financially', '\u0627\u0644\u0639\u0645\u0644 \u0644\u0625\u0639\u0627\u0644\u0629 \u0627\u0644\u0639\u0627\u0626\u0644\u0629 \u0645\u0627\u062f\u064a\u0627\u064b'), ('seasonal_work', '\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0633\u0645\u064a'), ('transportation', '\u0627\u0644\u0646\u0642\u0644\u064a\u0627\u062a '), ('weather', '\u0627\u0644\u0637\u0642\u0633'), ('sickness', '\u0627\u0644\u0645\u0631\u0636'), ('security', '\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0645\u0646\u064a'), ('family moved', '\u062a\u0628\u062f\u064a\u0644 \u0645\u0643\u0627\u0646 \u0627\u0644\u0633\u0643\u0646'), ('Moved back to Syria', '\u0627\u0646\u062a\u0642\u0644 \u0627\u0644\u0649 \u0633\u0648\u0631\u064a\u0627'), ('Enrolled in formal education', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a'), ('marriage engagement pregnancy', '\u0632\u0648\u0627\u062c/\u062e\u0637\u0648\u0628\u0629/\u062d\u0645\u0644'), ('violence bullying', ' \u062a\u0646\u0645\u0631/\u0639\u0646\u0641 - \u062e\u0644\u0627\u0644 \u0627\u0644\u062f\u0648\u0631\u0629 \u0627\u0648 \u0639\u0644\u0649 \u0637\u0631\u064a\u0642\u0647 \u0627\u0644\u0649 \u0627\u0644\u0645\u0631\u0643\u0632 '), ('No interest in pursuing the programme/No value', '\u0639\u062f\u0645 \u0627\u0644\u0631\u063a\u0628\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u0645/ \u0644\u0627 \u0642\u064a\u0645\u0629')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u062d\u0648\u0627\u062c\u0632'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='confirmation_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='\u0627\u0644\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0630\u064a \u062a\u0624\u0643\u062f \u0641\u064a\u0647 \u0627\u0644\u0645\u0646\u0638\u0645\u0629 \u0627\u0644\u0645\u0633\u062a\u0642\u0628\u0644\u0629 \u0642\u0628\u0648\u0644 \u0627\u0644\u0637\u0641\u0644 \u0623\u0648 \u062e\u062f\u0645\u0629 \u062a\u0644\u0642\u064a \u0627\u0644\u0637\u0641\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='confirmation_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='\u0627\u0644\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0630\u064a \u062a\u0624\u0643\u062f \u0641\u064a\u0647 \u0627\u0644\u0645\u0646\u0638\u0645\u0629 \u0627\u0644\u0645\u0633\u062a\u0642\u0628\u0644\u0629 \u0642\u0628\u0648\u0644 \u0627\u0644\u0637\u0641\u0644 \u0623\u0648 \u062e\u062f\u0645\u0629 \u062a\u0644\u0642\u064a \u0627\u0644\u0637\u0641\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='confirmation_date_3',
+ field=models.DateField(blank=True, null=True, verbose_name='\u0627\u0644\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0630\u064a \u062a\u0624\u0643\u062f \u0641\u064a\u0647 \u0627\u0644\u0645\u0646\u0638\u0645\u0629 \u0627\u0644\u0645\u0633\u062a\u0642\u0628\u0644\u0629 \u0642\u0628\u0648\u0644 \u0627\u0644\u0637\u0641\u0644 \u0623\u0648 \u062e\u062f\u0645\u0629 \u062a\u0644\u0642\u064a \u0627\u0644\u0637\u0641\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('out of school', 'Out of school'), ('enrolled in formal educarioh but did not continue', 'Enrolled in formal educarioh but did not continue')], max_length=100, null=True, verbose_name='\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u062f\u0631\u0627\u0633\u064a'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='followup_call_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0627\u062a\u0635\u0627\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='followup_call_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0627\u062a\u0635\u0627\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='followup_call_reason_1',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0633\u0628\u0628'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='followup_call_reason_2',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0633\u0628\u0628'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='followup_call_result_1',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0646\u062a\u064a\u062c\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='followup_call_result_2',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0646\u062a\u064a\u062c\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='followup_visit_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0632\u064a\u0627\u0631\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='followup_visit_reason_1',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0633\u0628\u0628'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='followup_visit_result_1',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0646\u062a\u064a\u062c\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='hh_educational_level',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.EducationalLevel', verbose_name='\u0645\u0627 \u0647\u0648 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062a\u0639\u0644\u064a\u0645\u064a \u0644\u0644\u0623\u0645\u061f'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', '\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0633\u0648\u0631\u064a\u0629'), ('Palestinian national ID', '\u0627\u0644\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0641\u0644\u0633\u0637\u0646\u064a\u0629'), ('Lebanese national ID', '\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'), ('Child have no ID', '\u0628\u062f\u0648\u0646 \u0627\u0648\u0631\u0627\u0642 ')], max_length=100, null=True, verbose_name='\u0646\u0648\u0639 \u0627\u0644\u0628\u0637\u0627\u0642\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='labours',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('agriculture', '\u0627\u0644\u0632\u0631\u0627\u0639\u0629'), ('building', '\u0627\u0644\u0628\u0646\u0627\u0621'), ('manufacturing', '\u0627\u0644\u062a\u0635\u0646\u064a\u0639'), ('retail_store', '\u0627\u0644\u0628\u064a\u0639 \u0628\u0627\u0644\u0645\u0641\u0631\u0642 / \u0645\u062d\u0644'), ('begging', '\u062a\u0633\u0648\u0644'), ('other_many_other', ' \u062e\u062f\u0645\u0627\u062a \u0645\u062e\u062a\u0644\u0641\u0629 (\u0641\u0646\u062f\u0642\u060c \u0645\u0637\u0639\u0645\u060c \u0646\u0642\u0644\u060c \u062e\u062f\u0645\u0627\u062a \u0634\u062e\u0635\u064a\u0629 \u0645\u062b\u0644 \u0627\u0644\u062a\u0646\u0638\u064a\u0641\u060c \u0627\u0644\u0639\u0646\u0627\u064a\u0629 \u0628\u0627\u0644\u0634\u0639\u0631\u060c \u0627\u0644\u0637\u0628\u062e \u0648\u0627\u0644\u0625\u0639\u062a\u0646\u0627\u0621 \u0628\u0627\u0644\u0623\u0637\u0641\u0627\u0644)')], max_length=50, null=True), blank=True, null=True, size=None, verbose_name='\u0645\u0627 \u0647\u0648 \u0646\u0648\u0639 \u0627\u0644\u0639\u0645\u0644 \u061f'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='language',
+ field=models.CharField(blank=True, choices=[('arabic', '\u0627\u0644\u0644\u063a\u0629 \u0627\u0644\u0639\u0631\u0628\u064a\u0629'), ('english_arabic', '\u0627\u0644\u0627\u0646\u0643\u0644\u064a\u0632\u064a\u0629/\u0627\u0644\u0639\u0631\u0628\u064a\u0629'), ('french_arabic', '\u0627\u0644\u0641\u0631\u0646\u0633\u064a\u0629/\u0627\u0644\u0639\u0631\u0628\u064a\u0629')], max_length=100, null=True, verbose_name='\u0627\u0644\u0644\u063a\u0629 \u0627\u0644\u0645\u0639\u062a\u0645\u062f\u0629 \u0641\u064a \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='learning_result',
+ field=models.CharField(blank=True, choices=[('', ' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'), ('graduated_to_abln_next_level', '\u0631\u0641\u0639 \u0625\u0644\u0649 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062a\u0627\u0644\u064a'), ('referred_to_bln', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c BLN'), ('referred_to_ybln', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c YBLN'), ('referred_to_alp', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c ALP'), ('referred_to_cbt', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c CBT'), ('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629\u060c \u0627\u062d\u0627\u0644\u0629 \u063a\u064a\u0631 \u0645\u0645\u0643\u0646\u0629')], max_length=100, null=True, verbose_name=' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name=' \u0631\u0642\u0645 \u0627\u0644\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='\u062a\u0623\u0643\u064a\u062f \u0631\u0642\u0645 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='other_nationality',
+ field=models.CharField(blank=True, max_length=200, null=True, verbose_name=' \u062d\u062f\u062f \u0627\u0644\u062c\u0646\u0633\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='parent_id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', '\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0633\u0648\u0631\u064a\u0629'), ('Palestinian national ID', '\u0627\u0644\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0641\u0644\u0633\u0637\u0646\u064a\u0629'), ('Lebanese national ID', '\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'), ('Parent have no ID', '\u0628\u062f\u0648\u0646 \u0627\u0648\u0631\u0627\u0642')], max_length=100, null=True, verbose_name='\u0646\u0648\u0639 \u0627\u0644\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u062e\u0627\u0635\u0629 '),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='parent_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name=' \u0631\u0642\u0645 \u0627\u0644\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='parent_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='\u062a\u0623\u0643\u064a\u062f \u0631\u0642\u0645 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='parent_syrian_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name=' \u0631\u0642\u0645 \u0627\u0644\u0628\u0637\u0627\u0642\u0629\u0627\u0644\u0633\u0648\u0631\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='participation',
+ field=models.CharField(blank=True, choices=[('less_than_3days', '\u0623\u0642\u0644 \u0645\u0646 3 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('3_7_days', '3-7 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('7_12_days', '7-12 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('more_than_12days', '\u0623\u0643\u062b\u0631 \u0645\u0646 12 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628')], max_length=100, null=True, verbose_name='\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 '),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='phone_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name=' \u062a\u0623\u0643\u064a\u062f \u0627\u0644\u0647\u0627\u062a\u0641'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='referral_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0627\u062d\u0627\u0644\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='referral_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0627\u062d\u0627\u0644\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='referral_date_3',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0627\u062d\u0627\u0644\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='referral_programme_type_1',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name=' \u0646\u0648\u0639 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='referral_programme_type_2',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name=' \u0646\u0648\u0639 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='referral_programme_type_3',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name=' \u0646\u0648\u0639 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='source_of_identification',
+ field=models.CharField(blank=True, choices=[('Referred by CP partner', 'Referred by CP partner'), ('Referred by youth partner', 'Referred by youth partner'), ('Family walked in to NGO', 'Family walked in to NGO'), ('Referral from another NGO', 'Referral from another NGO'), ('Referral from another Municipality', 'Referral from Municipality'), ('Direct outreach', 'Direct outreach'), ('List database', 'List database')], max_length=100, null=True, verbose_name='\u0645\u0635\u062f\u0631 \u0627\u0644\u062a\u0639\u0631\u0641 \u0639\u0644\u0649 \u0627\u0644\u0637\u0641\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='syrian_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name=' \u0631\u0642\u0645 \u0627\u0644\u0628\u0637\u0627\u0642\u0629\u0627\u0644\u0633\u0648\u0631\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('enrolled and did not do the pre-test', 'Pre-test \u0645\u0633\u062c\u0644 \u0648\u0644\u0643\u0646 \u0644\u0645 \u064a\u0642\u0645 \u0628\u0627\u0644'), ('enrolled in formal', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Pre-test'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='barriers',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('Full time job to support family financially', '\u0627\u0644\u0639\u0645\u0644 \u0644\u0625\u0639\u0627\u0644\u0629 \u0627\u0644\u0639\u0627\u0626\u0644\u0629 \u0645\u0627\u062f\u064a\u0627\u064b'), ('seasonal_work', '\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0633\u0645\u064a'), ('transportation', '\u0627\u0644\u0646\u0642\u0644\u064a\u0627\u062a '), ('weather', '\u0627\u0644\u0637\u0642\u0633'), ('sickness', '\u0627\u0644\u0645\u0631\u0636'), ('security', '\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0645\u0646\u064a'), ('family moved', '\u062a\u0628\u062f\u064a\u0644 \u0645\u0643\u0627\u0646 \u0627\u0644\u0633\u0643\u0646'), ('Moved back to Syria', '\u0627\u0646\u062a\u0642\u0644 \u0627\u0644\u0649 \u0633\u0648\u0631\u064a\u0627'), ('Enrolled in formal education', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a'), ('marriage engagement pregnancy', '\u0632\u0648\u0627\u062c/\u062e\u0637\u0648\u0628\u0629/\u062d\u0645\u0644'), ('violence bullying', ' \u062a\u0646\u0645\u0631/\u0639\u0646\u0641 - \u062e\u0644\u0627\u0644 \u0627\u0644\u062f\u0648\u0631\u0629 \u0627\u0648 \u0639\u0644\u0649 \u0637\u0631\u064a\u0642\u0647 \u0627\u0644\u0649 \u0627\u0644\u0645\u0631\u0643\u0632 '), ('No interest in pursuing the programme/No value', '\u0639\u062f\u0645 \u0627\u0644\u0631\u063a\u0628\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u0645/ \u0644\u0627 \u0642\u064a\u0645\u0629')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u062d\u0648\u0627\u062c\u0632'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='confirmation_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='\u0627\u0644\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0630\u064a \u062a\u0624\u0643\u062f \u0641\u064a\u0647 \u0627\u0644\u0645\u0646\u0638\u0645\u0629 \u0627\u0644\u0645\u0633\u062a\u0642\u0628\u0644\u0629 \u0642\u0628\u0648\u0644 \u0627\u0644\u0637\u0641\u0644 \u0623\u0648 \u062e\u062f\u0645\u0629 \u062a\u0644\u0642\u064a \u0627\u0644\u0637\u0641\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='confirmation_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='\u0627\u0644\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0630\u064a \u062a\u0624\u0643\u062f \u0641\u064a\u0647 \u0627\u0644\u0645\u0646\u0638\u0645\u0629 \u0627\u0644\u0645\u0633\u062a\u0642\u0628\u0644\u0629 \u0642\u0628\u0648\u0644 \u0627\u0644\u0637\u0641\u0644 \u0623\u0648 \u062e\u062f\u0645\u0629 \u062a\u0644\u0642\u064a \u0627\u0644\u0637\u0641\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='confirmation_date_3',
+ field=models.DateField(blank=True, null=True, verbose_name='\u0627\u0644\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0630\u064a \u062a\u0624\u0643\u062f \u0641\u064a\u0647 \u0627\u0644\u0645\u0646\u0638\u0645\u0629 \u0627\u0644\u0645\u0633\u062a\u0642\u0628\u0644\u0629 \u0642\u0628\u0648\u0644 \u0627\u0644\u0637\u0641\u0644 \u0623\u0648 \u062e\u062f\u0645\u0629 \u062a\u0644\u0642\u064a \u0627\u0644\u0637\u0641\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('out of school', 'Out of school'), ('enrolled in formal educarioh but did not continue', 'Enrolled in formal educarioh but did not continue')], max_length=100, null=True, verbose_name='\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u062f\u0631\u0627\u0633\u064a'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='followup_call_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0627\u062a\u0635\u0627\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='followup_call_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0627\u062a\u0635\u0627\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='followup_call_reason_1',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0633\u0628\u0628'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='followup_call_reason_2',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0633\u0628\u0628'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='followup_call_result_1',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0646\u062a\u064a\u062c\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='followup_call_result_2',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0646\u062a\u064a\u062c\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='followup_visit_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0632\u064a\u0627\u0631\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='followup_visit_reason_1',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0633\u0628\u0628'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='followup_visit_result_1',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0646\u062a\u064a\u062c\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='hh_educational_level',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.EducationalLevel', verbose_name='\u0645\u0627 \u0647\u0648 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062a\u0639\u0644\u064a\u0645\u064a \u0644\u0644\u0623\u0645\u061f'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', '\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0633\u0648\u0631\u064a\u0629'), ('Palestinian national ID', '\u0627\u0644\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0641\u0644\u0633\u0637\u0646\u064a\u0629'), ('Lebanese national ID', '\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'), ('Child have no ID', '\u0628\u062f\u0648\u0646 \u0627\u0648\u0631\u0627\u0642 ')], max_length=100, null=True, verbose_name='\u0646\u0648\u0639 \u0627\u0644\u0628\u0637\u0627\u0642\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='labours',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('agriculture', '\u0627\u0644\u0632\u0631\u0627\u0639\u0629'), ('building', '\u0627\u0644\u0628\u0646\u0627\u0621'), ('manufacturing', '\u0627\u0644\u062a\u0635\u0646\u064a\u0639'), ('retail_store', '\u0627\u0644\u0628\u064a\u0639 \u0628\u0627\u0644\u0645\u0641\u0631\u0642 / \u0645\u062d\u0644'), ('begging', '\u062a\u0633\u0648\u0644'), ('other_many_other', ' \u062e\u062f\u0645\u0627\u062a \u0645\u062e\u062a\u0644\u0641\u0629 (\u0641\u0646\u062f\u0642\u060c \u0645\u0637\u0639\u0645\u060c \u0646\u0642\u0644\u060c \u062e\u062f\u0645\u0627\u062a \u0634\u062e\u0635\u064a\u0629 \u0645\u062b\u0644 \u0627\u0644\u062a\u0646\u0638\u064a\u0641\u060c \u0627\u0644\u0639\u0646\u0627\u064a\u0629 \u0628\u0627\u0644\u0634\u0639\u0631\u060c \u0627\u0644\u0637\u0628\u062e \u0648\u0627\u0644\u0625\u0639\u062a\u0646\u0627\u0621 \u0628\u0627\u0644\u0623\u0637\u0641\u0627\u0644)')], max_length=50, null=True), blank=True, null=True, size=None, verbose_name='\u0645\u0627 \u0647\u0648 \u0646\u0648\u0639 \u0627\u0644\u0639\u0645\u0644 \u061f'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='language',
+ field=models.CharField(blank=True, choices=[('arabic', '\u0627\u0644\u0644\u063a\u0629 \u0627\u0644\u0639\u0631\u0628\u064a\u0629'), ('english_arabic', '\u0627\u0644\u0627\u0646\u0643\u0644\u064a\u0632\u064a\u0629/\u0627\u0644\u0639\u0631\u0628\u064a\u0629'), ('french_arabic', '\u0627\u0644\u0641\u0631\u0646\u0633\u064a\u0629/\u0627\u0644\u0639\u0631\u0628\u064a\u0629')], max_length=100, null=True, verbose_name='\u0627\u0644\u0644\u063a\u0629 \u0627\u0644\u0645\u0639\u062a\u0645\u062f\u0629 \u0641\u064a \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='learning_result',
+ field=models.CharField(blank=True, choices=[('', ' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'), ('graduated_to_bln_next_level', '\u0631\u0641\u0639 \u0625\u0644\u0649 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062a\u0627\u0644\u064a'), ('referred_to_alp', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c ALP'), ('referred_public_school', '\u0627\u062d\u064a\u0644 \u0627\u0644\u0649 \u0645\u062f\u0631\u0633\u0629 \u0631\u0633\u0645\u064a\u0629'), ('referred_to_tvet', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c TVET'), ('referred_to_ybln', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c YBLN'), ('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629\u060c \u0627\u062d\u0627\u0644\u0629 \u063a\u064a\u0631 \u0645\u0645\u0643\u0646\u0629')], max_length=100, null=True, verbose_name=' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name=' \u0631\u0642\u0645 \u0627\u0644\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='\u062a\u0623\u0643\u064a\u062f \u0631\u0642\u0645 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='other_nationality',
+ field=models.CharField(blank=True, max_length=200, null=True, verbose_name=' \u062d\u062f\u062f \u0627\u0644\u062c\u0646\u0633\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='parent_id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', '\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0633\u0648\u0631\u064a\u0629'), ('Palestinian national ID', '\u0627\u0644\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0641\u0644\u0633\u0637\u0646\u064a\u0629'), ('Lebanese national ID', '\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'), ('Parent have no ID', '\u0628\u062f\u0648\u0646 \u0627\u0648\u0631\u0627\u0642')], max_length=100, null=True, verbose_name='\u0646\u0648\u0639 \u0627\u0644\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u062e\u0627\u0635\u0629 '),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='parent_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name=' \u0631\u0642\u0645 \u0627\u0644\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='parent_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='\u062a\u0623\u0643\u064a\u062f \u0631\u0642\u0645 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='parent_syrian_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name=' \u0631\u0642\u0645 \u0627\u0644\u0628\u0637\u0627\u0642\u0629\u0627\u0644\u0633\u0648\u0631\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='participation',
+ field=models.CharField(blank=True, choices=[('less_than_10days', '\u0623\u0642\u0644 \u0645\u0646 10 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('10_15_days', '10-15 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('15_20_days', '15-20 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('more_than_20days', '\u0623\u0643\u062b\u0631 \u0645\u0646 20 \u064a\u0648\u0645 \u063a\u064a\u0627\u0628')], max_length=100, null=True, verbose_name='\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 '),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='phone_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name=' \u062a\u0623\u0643\u064a\u062f \u0627\u0644\u0647\u0627\u062a\u0641'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='referral_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0627\u062d\u0627\u0644\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='referral_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0627\u062d\u0627\u0644\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='referral_date_3',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0627\u062d\u0627\u0644\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='referral_programme_type_1',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name=' \u0646\u0648\u0639 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='referral_programme_type_2',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name=' \u0646\u0648\u0639 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='referral_programme_type_3',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name=' \u0646\u0648\u0639 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='source_of_identification',
+ field=models.CharField(blank=True, choices=[('Referred by CP partner', 'Referred by CP partner'), ('Referred by youth partner', 'Referred by youth partner'), ('Family walked in to NGO', 'Family walked in to NGO'), ('Referral from another NGO', 'Referral from another NGO'), ('Referral from another Municipality', 'Referral from Municipality'), ('Direct outreach', 'Direct outreach'), ('List database', 'List database')], max_length=100, null=True, verbose_name='\u0645\u0635\u062f\u0631 \u0627\u0644\u062a\u0639\u0631\u0641 \u0639\u0644\u0649 \u0627\u0644\u0637\u0641\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='syrian_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name=' \u0631\u0642\u0645 \u0627\u0644\u0628\u0637\u0627\u0642\u0629\u0627\u0644\u0633\u0648\u0631\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('enrolled and did not do the pre-test', 'Pre-test \u0645\u0633\u062c\u0644 \u0648\u0644\u0643\u0646 \u0644\u0645 \u064a\u0642\u0645 \u0628\u0627\u0644'), ('enrolled in formal', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Pre-test'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='barriers',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('Full time job to support family financially', '\u0627\u0644\u0639\u0645\u0644 \u0644\u0625\u0639\u0627\u0644\u0629 \u0627\u0644\u0639\u0627\u0626\u0644\u0629 \u0645\u0627\u062f\u064a\u0627\u064b'), ('seasonal_work', '\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0633\u0645\u064a'), ('transportation', '\u0627\u0644\u0646\u0642\u0644\u064a\u0627\u062a '), ('weather', '\u0627\u0644\u0637\u0642\u0633'), ('sickness', '\u0627\u0644\u0645\u0631\u0636'), ('security', '\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0645\u0646\u064a'), ('family moved', '\u062a\u0628\u062f\u064a\u0644 \u0645\u0643\u0627\u0646 \u0627\u0644\u0633\u0643\u0646'), ('Moved back to Syria', '\u0627\u0646\u062a\u0642\u0644 \u0627\u0644\u0649 \u0633\u0648\u0631\u064a\u0627'), ('Enrolled in formal education', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a'), ('marriage engagement pregnancy', '\u0632\u0648\u0627\u062c/\u062e\u0637\u0648\u0628\u0629/\u062d\u0645\u0644'), ('violence bullying', ' \u062a\u0646\u0645\u0631/\u0639\u0646\u0641 - \u062e\u0644\u0627\u0644 \u0627\u0644\u062f\u0648\u0631\u0629 \u0627\u0648 \u0639\u0644\u0649 \u0637\u0631\u064a\u0642\u0647 \u0627\u0644\u0649 \u0627\u0644\u0645\u0631\u0643\u0632 '), ('No interest in pursuing the programme/No value', '\u0639\u062f\u0645 \u0627\u0644\u0631\u063a\u0628\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u0645/ \u0644\u0627 \u0642\u064a\u0645\u0629')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u062d\u0648\u0627\u062c\u0632'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='confirmation_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='\u0627\u0644\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0630\u064a \u062a\u0624\u0643\u062f \u0641\u064a\u0647 \u0627\u0644\u0645\u0646\u0638\u0645\u0629 \u0627\u0644\u0645\u0633\u062a\u0642\u0628\u0644\u0629 \u0642\u0628\u0648\u0644 \u0627\u0644\u0637\u0641\u0644 \u0623\u0648 \u062e\u062f\u0645\u0629 \u062a\u0644\u0642\u064a \u0627\u0644\u0637\u0641\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='confirmation_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='\u0627\u0644\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0630\u064a \u062a\u0624\u0643\u062f \u0641\u064a\u0647 \u0627\u0644\u0645\u0646\u0638\u0645\u0629 \u0627\u0644\u0645\u0633\u062a\u0642\u0628\u0644\u0629 \u0642\u0628\u0648\u0644 \u0627\u0644\u0637\u0641\u0644 \u0623\u0648 \u062e\u062f\u0645\u0629 \u062a\u0644\u0642\u064a \u0627\u0644\u0637\u0641\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='confirmation_date_3',
+ field=models.DateField(blank=True, null=True, verbose_name='\u0627\u0644\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0630\u064a \u062a\u0624\u0643\u062f \u0641\u064a\u0647 \u0627\u0644\u0645\u0646\u0638\u0645\u0629 \u0627\u0644\u0645\u0633\u062a\u0642\u0628\u0644\u0629 \u0642\u0628\u0648\u0644 \u0627\u0644\u0637\u0641\u0644 \u0623\u0648 \u062e\u062f\u0645\u0629 \u062a\u0644\u0642\u064a \u0627\u0644\u0637\u0641\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('out of school', 'Out of school'), ('enrolled in formal educarioh but did not continue', 'Enrolled in formal educarioh but did not continue')], max_length=100, null=True, verbose_name='\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u062f\u0631\u0627\u0633\u064a'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='followup_call_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0627\u062a\u0635\u0627\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='followup_call_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0627\u062a\u0635\u0627\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='followup_call_reason_1',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0633\u0628\u0628'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='followup_call_reason_2',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0633\u0628\u0628'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='followup_call_result_1',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0646\u062a\u064a\u062c\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='followup_call_result_2',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0646\u062a\u064a\u062c\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='followup_visit_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0632\u064a\u0627\u0631\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='followup_visit_reason_1',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0633\u0628\u0628'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='followup_visit_result_1',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0646\u062a\u064a\u062c\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='hh_educational_level',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.EducationalLevel', verbose_name='\u0645\u0627 \u0647\u0648 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062a\u0639\u0644\u064a\u0645\u064a \u0644\u0644\u0623\u0645\u061f'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', '\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0633\u0648\u0631\u064a\u0629'), ('Palestinian national ID', '\u0627\u0644\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0641\u0644\u0633\u0637\u0646\u064a\u0629'), ('Lebanese national ID', '\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'), ('Child have no ID', '\u0628\u062f\u0648\u0646 \u0627\u0648\u0631\u0627\u0642 ')], max_length=100, null=True, verbose_name='\u0646\u0648\u0639 \u0627\u0644\u0628\u0637\u0627\u0642\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='labours',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('agriculture', '\u0627\u0644\u0632\u0631\u0627\u0639\u0629'), ('building', '\u0627\u0644\u0628\u0646\u0627\u0621'), ('manufacturing', '\u0627\u0644\u062a\u0635\u0646\u064a\u0639'), ('retail_store', '\u0627\u0644\u0628\u064a\u0639 \u0628\u0627\u0644\u0645\u0641\u0631\u0642 / \u0645\u062d\u0644'), ('begging', '\u062a\u0633\u0648\u0644'), ('other_many_other', ' \u062e\u062f\u0645\u0627\u062a \u0645\u062e\u062a\u0644\u0641\u0629 (\u0641\u0646\u062f\u0642\u060c \u0645\u0637\u0639\u0645\u060c \u0646\u0642\u0644\u060c \u062e\u062f\u0645\u0627\u062a \u0634\u062e\u0635\u064a\u0629 \u0645\u062b\u0644 \u0627\u0644\u062a\u0646\u0638\u064a\u0641\u060c \u0627\u0644\u0639\u0646\u0627\u064a\u0629 \u0628\u0627\u0644\u0634\u0639\u0631\u060c \u0627\u0644\u0637\u0628\u062e \u0648\u0627\u0644\u0625\u0639\u062a\u0646\u0627\u0621 \u0628\u0627\u0644\u0623\u0637\u0641\u0627\u0644)')], max_length=50, null=True), blank=True, null=True, size=None, verbose_name='\u0645\u0627 \u0647\u0648 \u0646\u0648\u0639 \u0627\u0644\u0639\u0645\u0644 \u061f'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='language',
+ field=models.CharField(blank=True, choices=[('arabic', '\u0627\u0644\u0644\u063a\u0629 \u0627\u0644\u0639\u0631\u0628\u064a\u0629'), ('english_arabic', '\u0627\u0644\u0627\u0646\u0643\u0644\u064a\u0632\u064a\u0629/\u0627\u0644\u0639\u0631\u0628\u064a\u0629'), ('french_arabic', '\u0627\u0644\u0641\u0631\u0646\u0633\u064a\u0629/\u0627\u0644\u0639\u0631\u0628\u064a\u0629')], max_length=100, null=True, verbose_name='\u0627\u0644\u0644\u063a\u0629 \u0627\u0644\u0645\u0639\u062a\u0645\u062f\u0629 \u0641\u064a \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name=' \u0631\u0642\u0645 \u0627\u0644\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='\u062a\u0623\u0643\u064a\u062f \u0631\u0642\u0645 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='other_nationality',
+ field=models.CharField(blank=True, max_length=200, null=True, verbose_name=' \u062d\u062f\u062f \u0627\u0644\u062c\u0646\u0633\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='parent_id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', '\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0633\u0648\u0631\u064a\u0629'), ('Palestinian national ID', '\u0627\u0644\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0641\u0644\u0633\u0637\u0646\u064a\u0629'), ('Lebanese national ID', '\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'), ('Parent have no ID', '\u0628\u062f\u0648\u0646 \u0627\u0648\u0631\u0627\u0642')], max_length=100, null=True, verbose_name='\u0646\u0648\u0639 \u0627\u0644\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u062e\u0627\u0635\u0629 '),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='parent_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name=' \u0631\u0642\u0645 \u0627\u0644\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='parent_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='\u062a\u0623\u0643\u064a\u062f \u0631\u0642\u0645 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='parent_syrian_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name=' \u0631\u0642\u0645 \u0627\u0644\u0628\u0637\u0627\u0642\u0629\u0627\u0644\u0633\u0648\u0631\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='phone_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name=' \u062a\u0623\u0643\u064a\u062f \u0627\u0644\u0647\u0627\u062a\u0641'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='referral_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0627\u062d\u0627\u0644\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='referral_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0627\u062d\u0627\u0644\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='referral_date_3',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0627\u062d\u0627\u0644\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='referral_programme_type_1',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name=' \u0646\u0648\u0639 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='referral_programme_type_2',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name=' \u0646\u0648\u0639 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='referral_programme_type_3',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name=' \u0646\u0648\u0639 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='source_of_identification',
+ field=models.CharField(blank=True, choices=[('Referred by CP partner', 'Referred by CP partner'), ('Referred by youth partner', 'Referred by youth partner'), ('Family walked in to NGO', 'Family walked in to NGO'), ('Referral from another NGO', 'Referral from another NGO'), ('Referral from another Municipality', 'Referral from Municipality'), ('Direct outreach', 'Direct outreach'), ('List database', 'List database')], max_length=100, null=True, verbose_name='\u0645\u0635\u062f\u0631 \u0627\u0644\u062a\u0639\u0631\u0641 \u0639\u0644\u0649 \u0627\u0644\u0637\u0641\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='syrian_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name=' \u0631\u0642\u0645 \u0627\u0644\u0628\u0637\u0627\u0642\u0629\u0627\u0644\u0633\u0648\u0631\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('enrolled and did not do the pre-test', 'Pre-test \u0645\u0633\u062c\u0644 \u0648\u0644\u0643\u0646 \u0644\u0645 \u064a\u0642\u0645 \u0628\u0627\u0644'), ('enrolled in formal', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Pre-test'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='barriers',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('Full time job to support family financially', '\u0627\u0644\u0639\u0645\u0644 \u0644\u0625\u0639\u0627\u0644\u0629 \u0627\u0644\u0639\u0627\u0626\u0644\u0629 \u0645\u0627\u062f\u064a\u0627\u064b'), ('seasonal_work', '\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0633\u0645\u064a'), ('transportation', '\u0627\u0644\u0646\u0642\u0644\u064a\u0627\u062a '), ('weather', '\u0627\u0644\u0637\u0642\u0633'), ('sickness', '\u0627\u0644\u0645\u0631\u0636'), ('security', '\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0645\u0646\u064a'), ('family moved', '\u062a\u0628\u062f\u064a\u0644 \u0645\u0643\u0627\u0646 \u0627\u0644\u0633\u0643\u0646'), ('Moved back to Syria', '\u0627\u0646\u062a\u0642\u0644 \u0627\u0644\u0649 \u0633\u0648\u0631\u064a\u0627'), ('Enrolled in formal education', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a'), ('marriage engagement pregnancy', '\u0632\u0648\u0627\u062c/\u062e\u0637\u0648\u0628\u0629/\u062d\u0645\u0644'), ('violence bullying', ' \u062a\u0646\u0645\u0631/\u0639\u0646\u0641 - \u062e\u0644\u0627\u0644 \u0627\u0644\u062f\u0648\u0631\u0629 \u0627\u0648 \u0639\u0644\u0649 \u0637\u0631\u064a\u0642\u0647 \u0627\u0644\u0649 \u0627\u0644\u0645\u0631\u0643\u0632 '), ('No interest in pursuing the programme/No value', '\u0639\u062f\u0645 \u0627\u0644\u0631\u063a\u0628\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u0645/ \u0644\u0627 \u0642\u064a\u0645\u0629')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u062d\u0648\u0627\u062c\u0632'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='confirmation_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='\u0627\u0644\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0630\u064a \u062a\u0624\u0643\u062f \u0641\u064a\u0647 \u0627\u0644\u0645\u0646\u0638\u0645\u0629 \u0627\u0644\u0645\u0633\u062a\u0642\u0628\u0644\u0629 \u0642\u0628\u0648\u0644 \u0627\u0644\u0637\u0641\u0644 \u0623\u0648 \u062e\u062f\u0645\u0629 \u062a\u0644\u0642\u064a \u0627\u0644\u0637\u0641\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='confirmation_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='\u0627\u0644\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0630\u064a \u062a\u0624\u0643\u062f \u0641\u064a\u0647 \u0627\u0644\u0645\u0646\u0638\u0645\u0629 \u0627\u0644\u0645\u0633\u062a\u0642\u0628\u0644\u0629 \u0642\u0628\u0648\u0644 \u0627\u0644\u0637\u0641\u0644 \u0623\u0648 \u062e\u062f\u0645\u0629 \u062a\u0644\u0642\u064a \u0627\u0644\u0637\u0641\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='confirmation_date_3',
+ field=models.DateField(blank=True, null=True, verbose_name='\u0627\u0644\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0630\u064a \u062a\u0624\u0643\u062f \u0641\u064a\u0647 \u0627\u0644\u0645\u0646\u0638\u0645\u0629 \u0627\u0644\u0645\u0633\u062a\u0642\u0628\u0644\u0629 \u0642\u0628\u0648\u0644 \u0627\u0644\u0637\u0641\u0644 \u0623\u0648 \u062e\u062f\u0645\u0629 \u062a\u0644\u0642\u064a \u0627\u0644\u0637\u0641\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('out of school', 'Out of school'), ('enrolled in formal educarioh but did not continue', 'Enrolled in formal educarioh but did not continue')], max_length=100, null=True, verbose_name='\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u062f\u0631\u0627\u0633\u064a'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='followup_call_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0627\u062a\u0635\u0627\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='followup_call_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0627\u062a\u0635\u0627\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='followup_call_reason_1',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0633\u0628\u0628'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='followup_call_reason_2',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0633\u0628\u0628'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='followup_call_result_1',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0646\u062a\u064a\u062c\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='followup_call_result_2',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0646\u062a\u064a\u062c\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='followup_visit_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0632\u064a\u0627\u0631\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='followup_visit_reason_1',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0633\u0628\u0628'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='followup_visit_result_1',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0646\u062a\u064a\u062c\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='hh_educational_level',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.EducationalLevel', verbose_name='\u0645\u0627 \u0647\u0648 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062a\u0639\u0644\u064a\u0645\u064a \u0644\u0644\u0623\u0645\u061f'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', '\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0633\u0648\u0631\u064a\u0629'), ('Palestinian national ID', '\u0627\u0644\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0641\u0644\u0633\u0637\u0646\u064a\u0629'), ('Lebanese national ID', '\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'), ('Child have no ID', '\u0628\u062f\u0648\u0646 \u0627\u0648\u0631\u0627\u0642 ')], max_length=100, null=True, verbose_name='\u0646\u0648\u0639 \u0627\u0644\u0628\u0637\u0627\u0642\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='labours',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('agriculture', '\u0627\u0644\u0632\u0631\u0627\u0639\u0629'), ('building', '\u0627\u0644\u0628\u0646\u0627\u0621'), ('manufacturing', '\u0627\u0644\u062a\u0635\u0646\u064a\u0639'), ('retail_store', '\u0627\u0644\u0628\u064a\u0639 \u0628\u0627\u0644\u0645\u0641\u0631\u0642 / \u0645\u062d\u0644'), ('begging', '\u062a\u0633\u0648\u0644'), ('other_many_other', ' \u062e\u062f\u0645\u0627\u062a \u0645\u062e\u062a\u0644\u0641\u0629 (\u0641\u0646\u062f\u0642\u060c \u0645\u0637\u0639\u0645\u060c \u0646\u0642\u0644\u060c \u062e\u062f\u0645\u0627\u062a \u0634\u062e\u0635\u064a\u0629 \u0645\u062b\u0644 \u0627\u0644\u062a\u0646\u0638\u064a\u0641\u060c \u0627\u0644\u0639\u0646\u0627\u064a\u0629 \u0628\u0627\u0644\u0634\u0639\u0631\u060c \u0627\u0644\u0637\u0628\u062e \u0648\u0627\u0644\u0625\u0639\u062a\u0646\u0627\u0621 \u0628\u0627\u0644\u0623\u0637\u0641\u0627\u0644)')], max_length=50, null=True), blank=True, null=True, size=None, verbose_name='\u0645\u0627 \u0647\u0648 \u0646\u0648\u0639 \u0627\u0644\u0639\u0645\u0644 \u061f'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='language',
+ field=models.CharField(blank=True, choices=[('arabic', '\u0627\u0644\u0644\u063a\u0629 \u0627\u0644\u0639\u0631\u0628\u064a\u0629'), ('english_arabic', '\u0627\u0644\u0627\u0646\u0643\u0644\u064a\u0632\u064a\u0629/\u0627\u0644\u0639\u0631\u0628\u064a\u0629'), ('french_arabic', '\u0627\u0644\u0641\u0631\u0646\u0633\u064a\u0629/\u0627\u0644\u0639\u0631\u0628\u064a\u0629')], max_length=100, null=True, verbose_name='\u0627\u0644\u0644\u063a\u0629 \u0627\u0644\u0645\u0639\u062a\u0645\u062f\u0629 \u0641\u064a \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name=' \u0631\u0642\u0645 \u0627\u0644\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='\u062a\u0623\u0643\u064a\u062f \u0631\u0642\u0645 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='other_nationality',
+ field=models.CharField(blank=True, max_length=200, null=True, verbose_name=' \u062d\u062f\u062f \u0627\u0644\u062c\u0646\u0633\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='parent_id_type',
+ field=models.CharField(blank=True, choices=[('UNHCR Registered', 'UNHCR Registered'), ('UNHCR Recorded', 'UNHCR Recorded'), ('Syrian national ID', '\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0633\u0648\u0631\u064a\u0629'), ('Palestinian national ID', '\u0627\u0644\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0641\u0644\u0633\u0637\u0646\u064a\u0629'), ('Lebanese national ID', '\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'), ('Parent have no ID', '\u0628\u062f\u0648\u0646 \u0627\u0648\u0631\u0627\u0642')], max_length=100, null=True, verbose_name='\u0646\u0648\u0639 \u0627\u0644\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u062e\u0627\u0635\u0629 '),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='parent_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name=' \u0631\u0642\u0645 \u0627\u0644\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='parent_national_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name='\u062a\u0623\u0643\u064a\u062f \u0631\u0642\u0645 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0644\u0628\u0646\u0627\u0646\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='parent_syrian_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name=' \u0631\u0642\u0645 \u0627\u0644\u0628\u0637\u0627\u0642\u0629\u0627\u0644\u0633\u0648\u0631\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='phone_number_confirm',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name=' \u062a\u0623\u0643\u064a\u062f \u0627\u0644\u0647\u0627\u062a\u0641'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='referral_date_1',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0627\u062d\u0627\u0644\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='referral_date_2',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0627\u062d\u0627\u0644\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='referral_date_3',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0627\u062d\u0627\u0644\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='referral_programme_type_1',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name=' \u0646\u0648\u0639 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='referral_programme_type_2',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name=' \u0646\u0648\u0639 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='referral_programme_type_3',
+ field=models.CharField(blank=True, choices=[('Formal Education', 'Formal Education'), ('ALP', 'ALP'), ('BLN', 'BLN'), ('CP (PSS and/or Case Management)', 'CP (PSS and/or Case Management)'), ('Youth', 'Youth'), ('Health', 'Health'), ('WASH', 'WASH'), ('Specialized Services', 'Specialized Services'), ('Other', '\u0622\u062e\u0631')], max_length=100, null=True, verbose_name=' \u0646\u0648\u0639 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='source_of_identification',
+ field=models.CharField(blank=True, choices=[('Referred by CP partner', 'Referred by CP partner'), ('Referred by youth partner', 'Referred by youth partner'), ('Family walked in to NGO', 'Family walked in to NGO'), ('Referral from another NGO', 'Referral from another NGO'), ('Referral from another Municipality', 'Referral from Municipality'), ('Direct outreach', 'Direct outreach'), ('List database', 'List database')], max_length=100, null=True, verbose_name='\u0645\u0635\u062f\u0631 \u0627\u0644\u062a\u0639\u0631\u0641 \u0639\u0644\u0649 \u0627\u0644\u0637\u0641\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='syrian_national_number',
+ field=models.CharField(blank=True, max_length=50, null=True, verbose_name=' \u0631\u0642\u0645 \u0627\u0644\u0628\u0637\u0627\u0642\u0629\u0627\u0644\u0633\u0648\u0631\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('enrolled and did not do the pre-test', 'Pre-test \u0645\u0633\u062c\u0644 \u0648\u0644\u0643\u0646 \u0644\u0645 \u064a\u0642\u0645 \u0628\u0627\u0644'), ('enrolled in formal', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Pre-test'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0070_auto_20190823_1449.py b/student_registration/clm/migrations/0070_auto_20190823_1449.py
new file mode 100644
index 000000000..976c30c56
--- /dev/null
+++ b/student_registration/clm/migrations/0070_auto_20190823_1449.py
@@ -0,0 +1,156 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.23 on 2019-08-23 11:49
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0069_auto_20190819_1002'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='abln',
+ name='caretaker_first_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='Caretaker First Name'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='caretaker_last_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='Caretaker Last Name'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='caretaker_middle_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='Caretaker Middle Name'),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='caretaker_mother_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='Caretaker Mother Name'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='caretaker_first_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='Caretaker First Name'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='caretaker_last_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='Caretaker Last Name'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='caretaker_middle_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='Caretaker Middle Name'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='caretaker_mother_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='Caretaker Mother Name'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='caretaker_first_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='Caretaker First Name'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='caretaker_last_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='Caretaker Last Name'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='caretaker_middle_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='Caretaker Middle Name'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='caretaker_mother_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='Caretaker Mother Name'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='caretaker_first_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='Caretaker First Name'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='caretaker_last_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='Caretaker Last Name'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='caretaker_middle_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='Caretaker Middle Name'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='caretaker_mother_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='Caretaker Mother Name'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('out of school', 'Out of school'), ('enrolled in formal education but did not continue', 'Enrolled in formal education but did not continue')], max_length=100, null=True, verbose_name='\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u062f\u0631\u0627\u0633\u064a'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='father_educational_level',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.EducationalLevel', verbose_name='\u0645\u0627 \u0647\u0648 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062a\u0639\u0644\u064a\u0645\u064a \u0644\u0644\u0623\u0628\u061f'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='source_of_identification',
+ field=models.CharField(blank=True, choices=[('Referred by CP partner', 'Referred by CP partner'), ('Referred by youth partner', 'Referred by youth partner'), ('Family walked in to NGO', 'Family walked in to NGO'), ('Referral from another NGO', '\u0625\u062d\u0627\u0644\u0629 \u0645\u0646 \u063a\u064a\u0631 \u062c\u0645\u0639\u064a\u0629'), ('Referral from another Municipality', 'Referral from Municipality'), ('Direct outreach', 'Direct outreach'), ('List database', 'List database')], max_length=100, null=True, verbose_name='\u0645\u0635\u062f\u0631 \u0627\u0644\u062a\u0639\u0631\u0641 \u0639\u0644\u0649 \u0627\u0644\u0637\u0641\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('out of school', 'Out of school'), ('enrolled in formal education but did not continue', 'Enrolled in formal education but did not continue')], max_length=100, null=True, verbose_name='\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u062f\u0631\u0627\u0633\u064a'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='father_educational_level',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.EducationalLevel', verbose_name='\u0645\u0627 \u0647\u0648 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062a\u0639\u0644\u064a\u0645\u064a \u0644\u0644\u0623\u0628\u061f'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='source_of_identification',
+ field=models.CharField(blank=True, choices=[('Referred by CP partner', 'Referred by CP partner'), ('Referred by youth partner', 'Referred by youth partner'), ('Family walked in to NGO', 'Family walked in to NGO'), ('Referral from another NGO', '\u0625\u062d\u0627\u0644\u0629 \u0645\u0646 \u063a\u064a\u0631 \u062c\u0645\u0639\u064a\u0629'), ('Referral from another Municipality', 'Referral from Municipality'), ('Direct outreach', 'Direct outreach'), ('List database', 'List database')], max_length=100, null=True, verbose_name='\u0645\u0635\u062f\u0631 \u0627\u0644\u062a\u0639\u0631\u0641 \u0639\u0644\u0649 \u0627\u0644\u0637\u0641\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('out of school', 'Out of school'), ('enrolled in formal education but did not continue', 'Enrolled in formal education but did not continue')], max_length=100, null=True, verbose_name='\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u062f\u0631\u0627\u0633\u064a'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='father_educational_level',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.EducationalLevel', verbose_name='\u0645\u0627 \u0647\u0648 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062a\u0639\u0644\u064a\u0645\u064a \u0644\u0644\u0623\u0628\u061f'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='source_of_identification',
+ field=models.CharField(blank=True, choices=[('Referred by CP partner', 'Referred by CP partner'), ('Referred by youth partner', 'Referred by youth partner'), ('Family walked in to NGO', 'Family walked in to NGO'), ('Referral from another NGO', '\u0625\u062d\u0627\u0644\u0629 \u0645\u0646 \u063a\u064a\u0631 \u062c\u0645\u0639\u064a\u0629'), ('Referral from another Municipality', 'Referral from Municipality'), ('Direct outreach', 'Direct outreach'), ('List database', 'List database')], max_length=100, null=True, verbose_name='\u0645\u0635\u062f\u0631 \u0627\u0644\u062a\u0639\u0631\u0641 \u0639\u0644\u0649 \u0627\u0644\u0637\u0641\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('out of school', 'Out of school'), ('enrolled in formal education but did not continue', 'Enrolled in formal education but did not continue')], max_length=100, null=True, verbose_name='\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u062f\u0631\u0627\u0633\u064a'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='father_educational_level',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.EducationalLevel', verbose_name='\u0645\u0627 \u0647\u0648 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062a\u0639\u0644\u064a\u0645\u064a \u0644\u0644\u0623\u0628\u061f'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='source_of_identification',
+ field=models.CharField(blank=True, choices=[('Referred by CP partner', 'Referred by CP partner'), ('Referred by youth partner', 'Referred by youth partner'), ('Family walked in to NGO', 'Family walked in to NGO'), ('Referral from another NGO', '\u0625\u062d\u0627\u0644\u0629 \u0645\u0646 \u063a\u064a\u0631 \u062c\u0645\u0639\u064a\u0629'), ('Referral from another Municipality', 'Referral from Municipality'), ('Direct outreach', 'Direct outreach'), ('List database', 'List database')], max_length=100, null=True, verbose_name='\u0645\u0635\u062f\u0631 \u0627\u0644\u062a\u0639\u0631\u0641 \u0639\u0644\u0649 \u0627\u0644\u0637\u0641\u0644'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0071_auto_20190918_1810.py b/student_registration/clm/migrations/0071_auto_20190918_1810.py
new file mode 100644
index 000000000..586c66815
--- /dev/null
+++ b/student_registration/clm/migrations/0071_auto_20190918_1810.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.23 on 2019-09-18 15:10
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0070_auto_20190823_1449'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='abln',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('out of school', 'Out of school'), ('enrolled in formal education but did not continue', 'Enrolled in formal education but did not continue'), ('enrolled in ABLN', 'Enrolled in ABLN')], max_length=100, null=True, verbose_name='\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u062f\u0631\u0627\u0633\u064a'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('out of school', 'Out of school'), ('enrolled in formal education but did not continue', 'Enrolled in formal education but did not continue'), ('enrolled in ABLN', 'Enrolled in ABLN')], max_length=100, null=True, verbose_name='\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u062f\u0631\u0627\u0633\u064a'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('out of school', 'Out of school'), ('enrolled in formal education but did not continue', 'Enrolled in formal education but did not continue'), ('enrolled in ABLN', 'Enrolled in ABLN')], max_length=100, null=True, verbose_name='\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u062f\u0631\u0627\u0633\u064a'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('out of school', 'Out of school'), ('enrolled in formal education but did not continue', 'Enrolled in formal education but did not continue'), ('enrolled in ABLN', 'Enrolled in ABLN')], max_length=100, null=True, verbose_name='\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u062f\u0631\u0627\u0633\u064a'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0072_auto_20190922_2321.py b/student_registration/clm/migrations/0072_auto_20190922_2321.py
new file mode 100644
index 000000000..d5c3af449
--- /dev/null
+++ b/student_registration/clm/migrations/0072_auto_20190922_2321.py
@@ -0,0 +1,75 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-09-22 20:21
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0071_auto_20190918_1810'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='abln',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('out of school', '\u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0627\u0628\u062f\u0627 \u0641\u064a \u0627\u0644\u0645\u062f\u0631\u0633\u0629 \u0645\u0646 \u0642\u0628\u0644'), ('enrolled in formal education but did not continue', '\u0643\u0627\u0646 \u0645\u0633\u062c\u0644\u0627 \u0641\u064a \u0627\u0644\u0645\u062f\u0631\u0633\u0629 \u0648\u0644\u0645 \u064a\u0643\u0645\u0644'), ('enrolled in ABLN', ' \u0643\u0627\u0646 \u0645\u0633\u062c\u0644\u0627 \u0641\u064a \u0628\u0631\u0646\u0627\u0645\u062c ABLN')], max_length=100, null=True, verbose_name='\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u062f\u0631\u0627\u0633\u064a \u0644\u0644\u0637\u0641\u0644 \u0639\u0646\u062f \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0641\u064a \u0627\u0644\u062f\u0648\u0631\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='source_of_identification',
+ field=models.CharField(blank=True, choices=[('Referred by CP partner', ' \u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0634\u0631\u0643\u0627\u0621 \u0641\u064a \u0628\u0631 \u0646\u0627\u0645\u062c \u062d\u0645\u0627\u064a\u0629 \u0627\u0644\u0637\u0641\u0644 CP partner'), ('Referred by youth partner', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0634\u0631\u0643\u0627\u0621 \u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0634\u0628\u0627\u0628 \u0648\u0627\u0644\u0645\u0631\u0627\u0647\u0642\u064a\u0646'), ('Family walked in to NGO', '\u0645\u0646 \u0642\u0628\u0644 \u0627\u0647\u0644 \u0627\u0644\u0637\u0641\u0644'), ('Referral from another NGO', '\u0625\u062d\u0627\u0644\u0629 \u0645\u0646 \u063a\u064a\u0631 \u062c\u0645\u0639\u064a\u0629'), ('Referral from another Municipality', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0627\u0644\u0628\u0644\u062f\u064a\u0629'), ('Direct outreach', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u062d\u0645\u0644\u0627\u062a \u0627\u0644\u062a\u0648\u0639\u064a\u0629'), ('List database', ' \u0627\u062d\u0644\u0629 \u0639\u0646 \u0637\u0631\u064a\u0642 Profiling Database')], max_length=100, null=True, verbose_name='\u0645\u0635\u062f\u0631 \u0627\u062d\u0627\u0644\u0629 \u0627\u0644\u0637\u0641\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c ABLN'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('enrolled and did not do the pre-test', ' \u0645\u0633\u062c\u0644 \u0648\u0644\u0643\u0646 \u0644\u0645 \u064a\u0642\u0645 \u0628\u0627\u0644 Pre-test'), ('enrolled in formal', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Pre-test'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('out of school', '\u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0627\u0628\u062f\u0627 \u0641\u064a \u0627\u0644\u0645\u062f\u0631\u0633\u0629 \u0645\u0646 \u0642\u0628\u0644'), ('enrolled in formal education but did not continue', '\u0643\u0627\u0646 \u0645\u0633\u062c\u0644\u0627 \u0641\u064a \u0627\u0644\u0645\u062f\u0631\u0633\u0629 \u0648\u0644\u0645 \u064a\u0643\u0645\u0644'), ('enrolled in ABLN', ' \u0643\u0627\u0646 \u0645\u0633\u062c\u0644\u0627 \u0641\u064a \u0628\u0631\u0646\u0627\u0645\u062c ABLN')], max_length=100, null=True, verbose_name='\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u062f\u0631\u0627\u0633\u064a \u0644\u0644\u0637\u0641\u0644 \u0639\u0646\u062f \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0641\u064a \u0627\u0644\u062f\u0648\u0631\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='source_of_identification',
+ field=models.CharField(blank=True, choices=[('Referred by CP partner', ' \u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0634\u0631\u0643\u0627\u0621 \u0641\u064a \u0628\u0631 \u0646\u0627\u0645\u062c \u062d\u0645\u0627\u064a\u0629 \u0627\u0644\u0637\u0641\u0644 CP partner'), ('Referred by youth partner', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0634\u0631\u0643\u0627\u0621 \u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0634\u0628\u0627\u0628 \u0648\u0627\u0644\u0645\u0631\u0627\u0647\u0642\u064a\u0646'), ('Family walked in to NGO', '\u0645\u0646 \u0642\u0628\u0644 \u0627\u0647\u0644 \u0627\u0644\u0637\u0641\u0644'), ('Referral from another NGO', '\u0625\u062d\u0627\u0644\u0629 \u0645\u0646 \u063a\u064a\u0631 \u062c\u0645\u0639\u064a\u0629'), ('Referral from another Municipality', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0627\u0644\u0628\u0644\u062f\u064a\u0629'), ('Direct outreach', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u062d\u0645\u0644\u0627\u062a \u0627\u0644\u062a\u0648\u0639\u064a\u0629'), ('List database', ' \u0627\u062d\u0644\u0629 \u0639\u0646 \u0637\u0631\u064a\u0642 Profiling Database')], max_length=100, null=True, verbose_name='\u0645\u0635\u062f\u0631 \u0627\u062d\u0627\u0644\u0629 \u0627\u0644\u0637\u0641\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c ABLN'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('enrolled and did not do the pre-test', ' \u0645\u0633\u062c\u0644 \u0648\u0644\u0643\u0646 \u0644\u0645 \u064a\u0642\u0645 \u0628\u0627\u0644 Pre-test'), ('enrolled in formal', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Pre-test'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('out of school', '\u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0627\u0628\u062f\u0627 \u0641\u064a \u0627\u0644\u0645\u062f\u0631\u0633\u0629 \u0645\u0646 \u0642\u0628\u0644'), ('enrolled in formal education but did not continue', '\u0643\u0627\u0646 \u0645\u0633\u062c\u0644\u0627 \u0641\u064a \u0627\u0644\u0645\u062f\u0631\u0633\u0629 \u0648\u0644\u0645 \u064a\u0643\u0645\u0644'), ('enrolled in ABLN', ' \u0643\u0627\u0646 \u0645\u0633\u062c\u0644\u0627 \u0641\u064a \u0628\u0631\u0646\u0627\u0645\u062c ABLN')], max_length=100, null=True, verbose_name='\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u062f\u0631\u0627\u0633\u064a \u0644\u0644\u0637\u0641\u0644 \u0639\u0646\u062f \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0641\u064a \u0627\u0644\u062f\u0648\u0631\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='source_of_identification',
+ field=models.CharField(blank=True, choices=[('Referred by CP partner', ' \u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0634\u0631\u0643\u0627\u0621 \u0641\u064a \u0628\u0631 \u0646\u0627\u0645\u062c \u062d\u0645\u0627\u064a\u0629 \u0627\u0644\u0637\u0641\u0644 CP partner'), ('Referred by youth partner', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0634\u0631\u0643\u0627\u0621 \u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0634\u0628\u0627\u0628 \u0648\u0627\u0644\u0645\u0631\u0627\u0647\u0642\u064a\u0646'), ('Family walked in to NGO', '\u0645\u0646 \u0642\u0628\u0644 \u0627\u0647\u0644 \u0627\u0644\u0637\u0641\u0644'), ('Referral from another NGO', '\u0625\u062d\u0627\u0644\u0629 \u0645\u0646 \u063a\u064a\u0631 \u062c\u0645\u0639\u064a\u0629'), ('Referral from another Municipality', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0627\u0644\u0628\u0644\u062f\u064a\u0629'), ('Direct outreach', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u062d\u0645\u0644\u0627\u062a \u0627\u0644\u062a\u0648\u0639\u064a\u0629'), ('List database', ' \u0627\u062d\u0644\u0629 \u0639\u0646 \u0637\u0631\u064a\u0642 Profiling Database')], max_length=100, null=True, verbose_name='\u0645\u0635\u062f\u0631 \u0627\u062d\u0627\u0644\u0629 \u0627\u0644\u0637\u0641\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c ABLN'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('enrolled and did not do the pre-test', ' \u0645\u0633\u062c\u0644 \u0648\u0644\u0643\u0646 \u0644\u0645 \u064a\u0642\u0645 \u0628\u0627\u0644 Pre-test'), ('enrolled in formal', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Pre-test'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('out of school', '\u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0627\u0628\u062f\u0627 \u0641\u064a \u0627\u0644\u0645\u062f\u0631\u0633\u0629 \u0645\u0646 \u0642\u0628\u0644'), ('enrolled in formal education but did not continue', '\u0643\u0627\u0646 \u0645\u0633\u062c\u0644\u0627 \u0641\u064a \u0627\u0644\u0645\u062f\u0631\u0633\u0629 \u0648\u0644\u0645 \u064a\u0643\u0645\u0644'), ('enrolled in ABLN', ' \u0643\u0627\u0646 \u0645\u0633\u062c\u0644\u0627 \u0641\u064a \u0628\u0631\u0646\u0627\u0645\u062c ABLN')], max_length=100, null=True, verbose_name='\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u062f\u0631\u0627\u0633\u064a \u0644\u0644\u0637\u0641\u0644 \u0639\u0646\u062f \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0641\u064a \u0627\u0644\u062f\u0648\u0631\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='source_of_identification',
+ field=models.CharField(blank=True, choices=[('Referred by CP partner', ' \u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0634\u0631\u0643\u0627\u0621 \u0641\u064a \u0628\u0631 \u0646\u0627\u0645\u062c \u062d\u0645\u0627\u064a\u0629 \u0627\u0644\u0637\u0641\u0644 CP partner'), ('Referred by youth partner', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0634\u0631\u0643\u0627\u0621 \u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0634\u0628\u0627\u0628 \u0648\u0627\u0644\u0645\u0631\u0627\u0647\u0642\u064a\u0646'), ('Family walked in to NGO', '\u0645\u0646 \u0642\u0628\u0644 \u0627\u0647\u0644 \u0627\u0644\u0637\u0641\u0644'), ('Referral from another NGO', '\u0625\u062d\u0627\u0644\u0629 \u0645\u0646 \u063a\u064a\u0631 \u062c\u0645\u0639\u064a\u0629'), ('Referral from another Municipality', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0627\u0644\u0628\u0644\u062f\u064a\u0629'), ('Direct outreach', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u062d\u0645\u0644\u0627\u062a \u0627\u0644\u062a\u0648\u0639\u064a\u0629'), ('List database', ' \u0627\u062d\u0644\u0629 \u0639\u0646 \u0637\u0631\u064a\u0642 Profiling Database')], max_length=100, null=True, verbose_name='\u0645\u0635\u062f\u0631 \u0627\u062d\u0627\u0644\u0629 \u0627\u0644\u0637\u0641\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c ABLN'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('enrolled and did not do the pre-test', ' \u0645\u0633\u062c\u0644 \u0648\u0644\u0643\u0646 \u0644\u0645 \u064a\u0642\u0645 \u0628\u0627\u0644 Pre-test'), ('enrolled in formal', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Pre-test'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0072_auto_20190930_1647.py b/student_registration/clm/migrations/0072_auto_20190930_1647.py
new file mode 100644
index 000000000..f18df74a2
--- /dev/null
+++ b/student_registration/clm/migrations/0072_auto_20190930_1647.py
@@ -0,0 +1,85 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.23 on 2019-09-30 13:47
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0071_auto_20190918_1810'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='abln',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('out of school', '\u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0627\u0628\u062f\u0627 \u0641\u064a \u0627\u0644\u0645\u062f\u0631\u0633\u0629 \u0645\u0646 \u0642\u0628\u0644'), ('enrolled in formal education but did not continue', '\u0643\u0627\u0646 \u0645\u0633\u062c\u0644\u0627 \u0641\u064a \u0627\u0644\u0645\u062f\u0631\u0633\u0629 \u0648\u0644\u0645 \u064a\u0643\u0645\u0644'), ('enrolled in ABLN', ' \u0643\u0627\u0646 \u0645\u0633\u062c\u0644\u0627 \u0641\u064a \u0628\u0631\u0646\u0627\u0645\u062c ABLN')], max_length=100, null=True, verbose_name='\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u062f\u0631\u0627\u0633\u064a \u0644\u0644\u0637\u0641\u0644 \u0639\u0646\u062f \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0641\u064a \u0627\u0644\u062f\u0648\u0631\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='learning_result',
+ field=models.CharField(blank=True, choices=[('', ' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'), ('graduated_to_abln_next_level', '\u0631\u0641\u0639 \u0625\u0644\u0649 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062a\u0627\u0644\u064a'), ('graduated_to_abln_next_round_same_level', 'Graduated to the next round, same level'), ('graduated_to_abln_next_round_higher_level', 'Graduated to the next round, higher level'), ('referred_to_bln', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c BLN'), ('referred_to_ybln', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c YBLN'), ('referred_to_alp', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c ALP'), ('referred_to_cbt', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c CBT'), ('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629\u060c \u0627\u062d\u0627\u0644\u0629 \u063a\u064a\u0631 \u0645\u0645\u0643\u0646\u0629')], max_length=100, null=True, verbose_name=' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='source_of_identification',
+ field=models.CharField(blank=True, choices=[('Referred by CP partner', ' \u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0634\u0631\u0643\u0627\u0621 \u0641\u064a \u0628\u0631 \u0646\u0627\u0645\u062c \u062d\u0645\u0627\u064a\u0629 \u0627\u0644\u0637\u0641\u0644 CP partner'), ('Referred by youth partner', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0634\u0631\u0643\u0627\u0621 \u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0634\u0628\u0627\u0628 \u0648\u0627\u0644\u0645\u0631\u0627\u0647\u0642\u064a\u0646'), ('Family walked in to NGO', '\u0645\u0646 \u0642\u0628\u0644 \u0627\u0647\u0644 \u0627\u0644\u0637\u0641\u0644'), ('Referral from another NGO', '\u0625\u062d\u0627\u0644\u0629 \u0645\u0646 \u063a\u064a\u0631 \u062c\u0645\u0639\u064a\u0629'), ('Referral from another Municipality', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0627\u0644\u0628\u0644\u062f\u064a\u0629'), ('Direct outreach', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u062d\u0645\u0644\u0627\u062a \u0627\u0644\u062a\u0648\u0639\u064a\u0629'), ('List database', ' \u0627\u062d\u0644\u0629 \u0639\u0646 \u0637\u0631\u064a\u0642 Profiling Database')], max_length=100, null=True, verbose_name='\u0645\u0635\u062f\u0631 \u0627\u062d\u0627\u0644\u0629 \u0627\u0644\u0637\u0641\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c ABLN'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('enrolled and did not do the pre-test', ' \u0645\u0633\u062c\u0644 \u0648\u0644\u0643\u0646 \u0644\u0645 \u064a\u0642\u0645 \u0628\u0627\u0644 Pre-test'), ('enrolled in formal', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Pre-test'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('out of school', '\u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0627\u0628\u062f\u0627 \u0641\u064a \u0627\u0644\u0645\u062f\u0631\u0633\u0629 \u0645\u0646 \u0642\u0628\u0644'), ('enrolled in formal education but did not continue', '\u0643\u0627\u0646 \u0645\u0633\u062c\u0644\u0627 \u0641\u064a \u0627\u0644\u0645\u062f\u0631\u0633\u0629 \u0648\u0644\u0645 \u064a\u0643\u0645\u0644'), ('enrolled in ABLN', ' \u0643\u0627\u0646 \u0645\u0633\u062c\u0644\u0627 \u0641\u064a \u0628\u0631\u0646\u0627\u0645\u062c ABLN')], max_length=100, null=True, verbose_name='\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u062f\u0631\u0627\u0633\u064a \u0644\u0644\u0637\u0641\u0644 \u0639\u0646\u062f \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0641\u064a \u0627\u0644\u062f\u0648\u0631\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='learning_result',
+ field=models.CharField(blank=True, choices=[('', ' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'), ('graduated_to_bln_next_level', '\u0631\u0641\u0639 \u0625\u0644\u0649 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062a\u0627\u0644\u064a'), ('graduated_to_bln_next_round_same_level', 'Graduated to the next round, same level'), ('graduated_to_bln_next_round_higher_level', 'Graduated to the next round, higher level'), ('referred_to_alp', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c ALP'), ('referred_public_school', '\u0627\u062d\u064a\u0644 \u0627\u0644\u0649 \u0645\u062f\u0631\u0633\u0629 \u0631\u0633\u0645\u064a\u0629'), ('referred_to_tvet', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c TVET'), ('referred_to_ybln', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c YBLN'), ('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629\u060c \u0627\u062d\u0627\u0644\u0629 \u063a\u064a\u0631 \u0645\u0645\u0643\u0646\u0629')], max_length=100, null=True, verbose_name=' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='source_of_identification',
+ field=models.CharField(blank=True, choices=[('Referred by CP partner', ' \u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0634\u0631\u0643\u0627\u0621 \u0641\u064a \u0628\u0631 \u0646\u0627\u0645\u062c \u062d\u0645\u0627\u064a\u0629 \u0627\u0644\u0637\u0641\u0644 CP partner'), ('Referred by youth partner', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0634\u0631\u0643\u0627\u0621 \u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0634\u0628\u0627\u0628 \u0648\u0627\u0644\u0645\u0631\u0627\u0647\u0642\u064a\u0646'), ('Family walked in to NGO', '\u0645\u0646 \u0642\u0628\u0644 \u0627\u0647\u0644 \u0627\u0644\u0637\u0641\u0644'), ('Referral from another NGO', '\u0625\u062d\u0627\u0644\u0629 \u0645\u0646 \u063a\u064a\u0631 \u062c\u0645\u0639\u064a\u0629'), ('Referral from another Municipality', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0627\u0644\u0628\u0644\u062f\u064a\u0629'), ('Direct outreach', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u062d\u0645\u0644\u0627\u062a \u0627\u0644\u062a\u0648\u0639\u064a\u0629'), ('List database', ' \u0627\u062d\u0644\u0629 \u0639\u0646 \u0637\u0631\u064a\u0642 Profiling Database')], max_length=100, null=True, verbose_name='\u0645\u0635\u062f\u0631 \u0627\u062d\u0627\u0644\u0629 \u0627\u0644\u0637\u0641\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c ABLN'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('enrolled and did not do the pre-test', ' \u0645\u0633\u062c\u0644 \u0648\u0644\u0643\u0646 \u0644\u0645 \u064a\u0642\u0645 \u0628\u0627\u0644 Pre-test'), ('enrolled in formal', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Pre-test'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('out of school', '\u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0627\u0628\u062f\u0627 \u0641\u064a \u0627\u0644\u0645\u062f\u0631\u0633\u0629 \u0645\u0646 \u0642\u0628\u0644'), ('enrolled in formal education but did not continue', '\u0643\u0627\u0646 \u0645\u0633\u062c\u0644\u0627 \u0641\u064a \u0627\u0644\u0645\u062f\u0631\u0633\u0629 \u0648\u0644\u0645 \u064a\u0643\u0645\u0644'), ('enrolled in ABLN', ' \u0643\u0627\u0646 \u0645\u0633\u062c\u0644\u0627 \u0641\u064a \u0628\u0631\u0646\u0627\u0645\u062c ABLN')], max_length=100, null=True, verbose_name='\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u062f\u0631\u0627\u0633\u064a \u0644\u0644\u0637\u0641\u0644 \u0639\u0646\u062f \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0641\u064a \u0627\u0644\u062f\u0648\u0631\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='source_of_identification',
+ field=models.CharField(blank=True, choices=[('Referred by CP partner', ' \u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0634\u0631\u0643\u0627\u0621 \u0641\u064a \u0628\u0631 \u0646\u0627\u0645\u062c \u062d\u0645\u0627\u064a\u0629 \u0627\u0644\u0637\u0641\u0644 CP partner'), ('Referred by youth partner', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0634\u0631\u0643\u0627\u0621 \u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0634\u0628\u0627\u0628 \u0648\u0627\u0644\u0645\u0631\u0627\u0647\u0642\u064a\u0646'), ('Family walked in to NGO', '\u0645\u0646 \u0642\u0628\u0644 \u0627\u0647\u0644 \u0627\u0644\u0637\u0641\u0644'), ('Referral from another NGO', '\u0625\u062d\u0627\u0644\u0629 \u0645\u0646 \u063a\u064a\u0631 \u062c\u0645\u0639\u064a\u0629'), ('Referral from another Municipality', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0627\u0644\u0628\u0644\u062f\u064a\u0629'), ('Direct outreach', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u062d\u0645\u0644\u0627\u062a \u0627\u0644\u062a\u0648\u0639\u064a\u0629'), ('List database', ' \u0627\u062d\u0644\u0629 \u0639\u0646 \u0637\u0631\u064a\u0642 Profiling Database')], max_length=100, null=True, verbose_name='\u0645\u0635\u062f\u0631 \u0627\u062d\u0627\u0644\u0629 \u0627\u0644\u0637\u0641\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c ABLN'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('enrolled and did not do the pre-test', ' \u0645\u0633\u062c\u0644 \u0648\u0644\u0643\u0646 \u0644\u0645 \u064a\u0642\u0645 \u0628\u0627\u0644 Pre-test'), ('enrolled in formal', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Pre-test'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='education_status',
+ field=models.CharField(blank=True, choices=[('out of school', '\u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0627\u0628\u062f\u0627 \u0641\u064a \u0627\u0644\u0645\u062f\u0631\u0633\u0629 \u0645\u0646 \u0642\u0628\u0644'), ('enrolled in formal education but did not continue', '\u0643\u0627\u0646 \u0645\u0633\u062c\u0644\u0627 \u0641\u064a \u0627\u0644\u0645\u062f\u0631\u0633\u0629 \u0648\u0644\u0645 \u064a\u0643\u0645\u0644'), ('enrolled in ABLN', ' \u0643\u0627\u0646 \u0645\u0633\u062c\u0644\u0627 \u0641\u064a \u0628\u0631\u0646\u0627\u0645\u062c ABLN')], max_length=100, null=True, verbose_name='\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u062f\u0631\u0627\u0633\u064a \u0644\u0644\u0637\u0641\u0644 \u0639\u0646\u062f \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0641\u064a \u0627\u0644\u062f\u0648\u0631\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='source_of_identification',
+ field=models.CharField(blank=True, choices=[('Referred by CP partner', ' \u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0634\u0631\u0643\u0627\u0621 \u0641\u064a \u0628\u0631 \u0646\u0627\u0645\u062c \u062d\u0645\u0627\u064a\u0629 \u0627\u0644\u0637\u0641\u0644 CP partner'), ('Referred by youth partner', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0634\u0631\u0643\u0627\u0621 \u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0634\u0628\u0627\u0628 \u0648\u0627\u0644\u0645\u0631\u0627\u0647\u0642\u064a\u0646'), ('Family walked in to NGO', '\u0645\u0646 \u0642\u0628\u0644 \u0627\u0647\u0644 \u0627\u0644\u0637\u0641\u0644'), ('Referral from another NGO', '\u0625\u062d\u0627\u0644\u0629 \u0645\u0646 \u063a\u064a\u0631 \u062c\u0645\u0639\u064a\u0629'), ('Referral from another Municipality', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u0627\u0644\u0628\u0644\u062f\u064a\u0629'), ('Direct outreach', '\u0627\u062d\u0627\u0644\u0629 \u0645\u0646 \u0642\u0628\u0644 \u062d\u0645\u0644\u0627\u062a \u0627\u0644\u062a\u0648\u0639\u064a\u0629'), ('List database', ' \u0627\u062d\u0644\u0629 \u0639\u0646 \u0637\u0631\u064a\u0642 Profiling Database')], max_length=100, null=True, verbose_name='\u0645\u0635\u062f\u0631 \u0627\u062d\u0627\u0644\u0629 \u0627\u0644\u0637\u0641\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c ABLN'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='unsuccessful_pretest_reason',
+ field=models.CharField(blank=True, choices=[('disability', '\u0627\u062d\u062a\u064a\u0627\u062c\u0627\u062a \u062e\u0627\u0635\u0629'), ('enrolled and did not do the pre-test', ' \u0645\u0633\u062c\u0644 \u0648\u0644\u0643\u0646 \u0644\u0645 \u064a\u0642\u0645 \u0628\u0627\u0644 Pre-test'), ('enrolled in formal', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a')], max_length=100, null=True, verbose_name='\u0627\u0633\u0628\u0627\u0628 \u0639\u062f\u0645 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0627\u0644 Pre-test'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0073_auto_20191001_1015.py b/student_registration/clm/migrations/0073_auto_20191001_1015.py
new file mode 100644
index 000000000..49fc34046
--- /dev/null
+++ b/student_registration/clm/migrations/0073_auto_20191001_1015.py
@@ -0,0 +1,65 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.23 on 2019-10-01 07:15
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0072_auto_20190930_1647'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='abln',
+ name='cycle_completed',
+ field=models.BooleanField(default=False),
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='enrolled_at_school',
+ field=models.BooleanField(default=False),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='cycle_completed',
+ field=models.BooleanField(default=False),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='enrolled_at_school',
+ field=models.BooleanField(default=False),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='cycle_completed',
+ field=models.BooleanField(default=False),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='enrolled_at_school',
+ field=models.BooleanField(default=False),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='cycle_completed',
+ field=models.BooleanField(default=False),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='enrolled_at_school',
+ field=models.BooleanField(default=False),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='learning_result',
+ field=models.CharField(blank=True, choices=[('', ' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'), ('graduated_to_abln_next_level', '\u0631\u0641\u0639 \u0625\u0644\u0649 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062a\u0627\u0644\u064a'), ('graduated_to_abln_next_round_same_level', '\u0631\u0641\u0639 \u0625\u0644\u0649 \u0627\u0644\u062c\u0648\u0644\u0629 \u0627\u0644\u062a\u0627\u0644\u064a\u0629 \u060c \u0646\u0641\u0633 \u0627\u0644\u0645\u0633\u062a\u0648\u0649'), ('graduated_to_abln_next_round_higher_level', '\u0631\u0641\u0639 \u0625\u0644\u0649 \u0627\u0644\u062c\u0648\u0644\u0629 \u0627\u0644\u062a\u0627\u0644\u064a\u0629 \u060c \u0645\u0633\u062a\u0648\u0649 \u0623\u0639\u0644\u0649'), ('referred_to_bln', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c BLN'), ('referred_to_ybln', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c YBLN'), ('referred_to_alp', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c ALP'), ('referred_to_cbt', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c CBT'), ('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629\u060c \u0627\u062d\u0627\u0644\u0629 \u063a\u064a\u0631 \u0645\u0645\u0643\u0646\u0629')], max_length=100, null=True, verbose_name=' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='learning_result',
+ field=models.CharField(blank=True, choices=[('', ' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'), ('graduated_to_bln_next_level', '\u0631\u0641\u0639 \u0625\u0644\u0649 \u0627\u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062a\u0627\u0644\u064a'), ('graduated_to_bln_next_round_same_level', '\u0631\u0641\u0639 \u0625\u0644\u0649 \u0627\u0644\u062c\u0648\u0644\u0629 \u0627\u0644\u062a\u0627\u0644\u064a\u0629 \u060c \u0646\u0641\u0633 \u0627\u0644\u0645\u0633\u062a\u0648\u0649'), ('graduated_to_bln_next_round_higher_level', '\u0631\u0641\u0639 \u0625\u0644\u0649 \u0627\u0644\u062c\u0648\u0644\u0629 \u0627\u0644\u062a\u0627\u0644\u064a\u0629 \u060c \u0645\u0633\u062a\u0648\u0649 \u0623\u0639\u0644\u0649'), ('referred_to_alp', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c ALP'), ('referred_public_school', '\u0627\u062d\u064a\u0644 \u0627\u0644\u0649 \u0645\u062f\u0631\u0633\u0629 \u0631\u0633\u0645\u064a\u0629'), ('referred_to_tvet', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c TVET'), ('referred_to_ybln', '\u0623\u062d\u064a\u0644 \u0625\u0644\u0649 \u0628\u0631\u0646\u0627\u0645\u062c YBLN'), ('dropout', '\u062a\u0633\u0631\u0628 \u0645\u0646 \u0627\u0644\u062f\u0648\u0631\u0629\u060c \u0627\u062d\u0627\u0644\u0629 \u063a\u064a\u0631 \u0645\u0645\u0643\u0646\u0629')], max_length=100, null=True, verbose_name=' \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u062a\u0639\u0644\u0645'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0074_merge_20191008_1034.py b/student_registration/clm/migrations/0074_merge_20191008_1034.py
new file mode 100644
index 000000000..50f04fc9e
--- /dev/null
+++ b/student_registration/clm/migrations/0074_merge_20191008_1034.py
@@ -0,0 +1,16 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.23 on 2019-10-08 07:34
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0073_auto_20191001_1015'),
+ ('clm', '0072_auto_20190922_2321'),
+ ]
+
+ operations = [
+ ]
diff --git a/student_registration/clm/migrations/0075_auto_20191008_1151.py b/student_registration/clm/migrations/0075_auto_20191008_1151.py
new file mode 100644
index 000000000..0d61969d8
--- /dev/null
+++ b/student_registration/clm/migrations/0075_auto_20191008_1151.py
@@ -0,0 +1,55 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-10-08 08:51
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0074_merge_20191008_1034'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='abln',
+ name='cycle_completed',
+ field=models.BooleanField(default=False, verbose_name='\u0627\u0646\u0642\u0631 \u062e\u0627\u0646\u0629 \u0627\u0644\u0627\u062e\u062a\u064a\u0627\u0631 \u0625\u0630\u0627 \u062a\u0645 \u0627\u0643\u0645\u0627\u0644 \u0627\u0644\u062f\u0648\u0631\u0629 \u0628\u0646\u062c\u0627\u062d'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='enrolled_at_school',
+ field=models.BooleanField(default=False, verbose_name='\u0627\u0646\u0642\u0631 \u062e\u0627\u0646\u0629 \u0627\u0644\u0627\u062e\u062a\u064a\u0627\u0631 \u0625\u0630\u0627 \u062a\u0645 \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0641\u064a \u0627\u0644\u0645\u062f\u0631\u0633\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='cycle_completed',
+ field=models.BooleanField(default=False, verbose_name='\u0627\u0646\u0642\u0631 \u062e\u0627\u0646\u0629 \u0627\u0644\u0627\u062e\u062a\u064a\u0627\u0631 \u0625\u0630\u0627 \u062a\u0645 \u0627\u0643\u0645\u0627\u0644 \u0627\u0644\u062f\u0648\u0631\u0629 \u0628\u0646\u062c\u0627\u062d'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='enrolled_at_school',
+ field=models.BooleanField(default=False, verbose_name='\u0627\u0646\u0642\u0631 \u062e\u0627\u0646\u0629 \u0627\u0644\u0627\u062e\u062a\u064a\u0627\u0631 \u0625\u0630\u0627 \u062a\u0645 \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0641\u064a \u0627\u0644\u0645\u062f\u0631\u0633\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='cycle_completed',
+ field=models.BooleanField(default=False, verbose_name='\u0627\u0646\u0642\u0631 \u062e\u0627\u0646\u0629 \u0627\u0644\u0627\u062e\u062a\u064a\u0627\u0631 \u0625\u0630\u0627 \u062a\u0645 \u0627\u0643\u0645\u0627\u0644 \u0627\u0644\u062f\u0648\u0631\u0629 \u0628\u0646\u062c\u0627\u062d'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='enrolled_at_school',
+ field=models.BooleanField(default=False, verbose_name='\u0627\u0646\u0642\u0631 \u062e\u0627\u0646\u0629 \u0627\u0644\u0627\u062e\u062a\u064a\u0627\u0631 \u0625\u0630\u0627 \u062a\u0645 \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0641\u064a \u0627\u0644\u0645\u062f\u0631\u0633\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='cycle_completed',
+ field=models.BooleanField(default=False, verbose_name='\u0627\u0646\u0642\u0631 \u062e\u0627\u0646\u0629 \u0627\u0644\u0627\u062e\u062a\u064a\u0627\u0631 \u0625\u0630\u0627 \u062a\u0645 \u0627\u0643\u0645\u0627\u0644 \u0627\u0644\u062f\u0648\u0631\u0629 \u0628\u0646\u062c\u0627\u062d'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='enrolled_at_school',
+ field=models.BooleanField(default=False, verbose_name='\u0627\u0646\u0642\u0631 \u062e\u0627\u0646\u0629 \u0627\u0644\u0627\u062e\u062a\u064a\u0627\u0631 \u0625\u0630\u0627 \u062a\u0645 \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0641\u064a \u0627\u0644\u0645\u062f\u0631\u0633\u0629'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0076_auto_20191114_1123.py b/student_registration/clm/migrations/0076_auto_20191114_1123.py
new file mode 100644
index 000000000..24e956742
--- /dev/null
+++ b/student_registration/clm/migrations/0076_auto_20191114_1123.py
@@ -0,0 +1,31 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-11-14 09:23
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0075_auto_20191008_1151'),
+ ]
+
+ operations = [
+ migrations.AlterModelOptions(
+ name='abln',
+ options={'ordering': ['-id'], 'verbose_name': 'ABLN', 'verbose_name_plural': 'ABLN'},
+ ),
+ migrations.AlterModelOptions(
+ name='bln',
+ options={'ordering': ['-id'], 'verbose_name': 'BLN', 'verbose_name_plural': 'BLN'},
+ ),
+ migrations.AlterModelOptions(
+ name='cbece',
+ options={'ordering': ['-id'], 'verbose_name': 'CB-ECE', 'verbose_name_plural': 'CB-ECE'},
+ ),
+ migrations.AlterModelOptions(
+ name='rs',
+ options={'ordering': ['-id'], 'verbose_name': 'RS', 'verbose_name_plural': 'RS'},
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0076_auto_20191115_1532.py b/student_registration/clm/migrations/0076_auto_20191115_1532.py
new file mode 100644
index 000000000..87e9ae909
--- /dev/null
+++ b/student_registration/clm/migrations/0076_auto_20191115_1532.py
@@ -0,0 +1,51 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-11-15 13:32
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0075_auto_20191008_1151'),
+ ]
+
+ operations = [
+ migrations.AlterModelOptions(
+ name='abln',
+ options={'ordering': ['-id'], 'verbose_name': 'ABLN', 'verbose_name_plural': 'ABLN'},
+ ),
+ migrations.AlterModelOptions(
+ name='bln',
+ options={'ordering': ['-id'], 'verbose_name': 'BLN', 'verbose_name_plural': 'BLN'},
+ ),
+ migrations.AlterModelOptions(
+ name='cbece',
+ options={'ordering': ['-id'], 'verbose_name': 'CB-ECE', 'verbose_name_plural': 'CB-ECE'},
+ ),
+ migrations.AlterModelOptions(
+ name='rs',
+ options={'ordering': ['-id'], 'verbose_name': 'RS', 'verbose_name_plural': 'RS'},
+ ),
+ migrations.AddField(
+ model_name='abln',
+ name='first_attendance_date',
+ field=models.DateField(blank=True, null=True, verbose_name='First attendance date'),
+ ),
+ migrations.AddField(
+ model_name='bln',
+ name='first_attendance_date',
+ field=models.DateField(blank=True, null=True, verbose_name='First attendance date'),
+ ),
+ migrations.AddField(
+ model_name='cbece',
+ name='first_attendance_date',
+ field=models.DateField(blank=True, null=True, verbose_name='First attendance date'),
+ ),
+ migrations.AddField(
+ model_name='rs',
+ name='first_attendance_date',
+ field=models.DateField(blank=True, null=True, verbose_name='First attendance date'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0077_merge_20191126_2301.py b/student_registration/clm/migrations/0077_merge_20191126_2301.py
new file mode 100644
index 000000000..4e901839f
--- /dev/null
+++ b/student_registration/clm/migrations/0077_merge_20191126_2301.py
@@ -0,0 +1,16 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-11-26 21:01
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0076_auto_20191114_1123'),
+ ('clm', '0076_auto_20191115_1532'),
+ ]
+
+ operations = [
+ ]
diff --git a/student_registration/clm/migrations/0078_auto_20191217_1438.py b/student_registration/clm/migrations/0078_auto_20191217_1438.py
new file mode 100644
index 000000000..c9715964e
--- /dev/null
+++ b/student_registration/clm/migrations/0078_auto_20191217_1438.py
@@ -0,0 +1,136 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-12-17 12:38
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0077_merge_20191126_2301'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='abln',
+ name='caretaker_first_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='\u0627\u0644\u0627\u0633\u0645 \u0627\u0644\u0623\u0648\u0644 \u0644\u0648\u0644\u064a \u0627\u0644\u0623\u0645\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='caretaker_last_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='\u0634\u0647\u0631\u0629 \u0648\u0644\u064a \u0627\u0644\u0623\u0645\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='caretaker_middle_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='\u0627\u0633\u0645 \u0627\u0644\u0623\u0628 \u0648\u0644\u064a \u0627\u0644\u0623\u0645\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='caretaker_mother_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='\u0627\u0633\u0645 \u0623\u0645 \u0648\u0644\u064a \u0627\u0644\u0623\u0645\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='first_attendance_date',
+ field=models.DateField(blank=True, null=True, verbose_name='\u0623\u0648\u0644 \u062a\u0627\u0631\u064a\u062e \u062d\u0636\u0648\u0631 \u0627\u0644\u0637\u0641\u0644 \u0641\u064a \u0644\u0644\u062f\u0648\u0631\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='round',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.CLMRound', verbose_name='\u0627\u0644\u062f\u0648\u0631\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='caretaker_first_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='\u0627\u0644\u0627\u0633\u0645 \u0627\u0644\u0623\u0648\u0644 \u0644\u0648\u0644\u064a \u0627\u0644\u0623\u0645\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='caretaker_last_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='\u0634\u0647\u0631\u0629 \u0648\u0644\u064a \u0627\u0644\u0623\u0645\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='caretaker_middle_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='\u0627\u0633\u0645 \u0627\u0644\u0623\u0628 \u0648\u0644\u064a \u0627\u0644\u0623\u0645\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='caretaker_mother_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='\u0627\u0633\u0645 \u0623\u0645 \u0648\u0644\u064a \u0627\u0644\u0623\u0645\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='first_attendance_date',
+ field=models.DateField(blank=True, null=True, verbose_name='\u0623\u0648\u0644 \u062a\u0627\u0631\u064a\u062e \u062d\u0636\u0648\u0631 \u0627\u0644\u0637\u0641\u0644 \u0641\u064a \u0644\u0644\u062f\u0648\u0631\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='round',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.CLMRound', verbose_name='\u0627\u0644\u062f\u0648\u0631\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='caretaker_first_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='\u0627\u0644\u0627\u0633\u0645 \u0627\u0644\u0623\u0648\u0644 \u0644\u0648\u0644\u064a \u0627\u0644\u0623\u0645\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='caretaker_last_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='\u0634\u0647\u0631\u0629 \u0648\u0644\u064a \u0627\u0644\u0623\u0645\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='caretaker_middle_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='\u0627\u0633\u0645 \u0627\u0644\u0623\u0628 \u0648\u0644\u064a \u0627\u0644\u0623\u0645\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='caretaker_mother_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='\u0627\u0633\u0645 \u0623\u0645 \u0648\u0644\u064a \u0627\u0644\u0623\u0645\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='first_attendance_date',
+ field=models.DateField(blank=True, null=True, verbose_name='\u0623\u0648\u0644 \u062a\u0627\u0631\u064a\u062e \u062d\u0636\u0648\u0631 \u0627\u0644\u0637\u0641\u0644 \u0641\u064a \u0644\u0644\u062f\u0648\u0631\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='round',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.CLMRound', verbose_name='\u0627\u0644\u062f\u0648\u0631\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='caretaker_first_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='\u0627\u0644\u0627\u0633\u0645 \u0627\u0644\u0623\u0648\u0644 \u0644\u0648\u0644\u064a \u0627\u0644\u0623\u0645\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='caretaker_last_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='\u0634\u0647\u0631\u0629 \u0648\u0644\u064a \u0627\u0644\u0623\u0645\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='caretaker_middle_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='\u0627\u0633\u0645 \u0627\u0644\u0623\u0628 \u0648\u0644\u064a \u0627\u0644\u0623\u0645\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='caretaker_mother_name',
+ field=models.CharField(max_length=500, null=True, verbose_name='\u0627\u0633\u0645 \u0623\u0645 \u0648\u0644\u064a \u0627\u0644\u0623\u0645\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='first_attendance_date',
+ field=models.DateField(blank=True, null=True, verbose_name='\u0623\u0648\u0644 \u062a\u0627\u0631\u064a\u062e \u062d\u0636\u0648\u0631 \u0627\u0644\u0637\u0641\u0644 \u0641\u064a \u0644\u0644\u062f\u0648\u0631\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='round',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.CLMRound', verbose_name='\u0627\u0644\u062f\u0648\u0631\u0629'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0079_disability_name_en.py b/student_registration/clm/migrations/0079_disability_name_en.py
new file mode 100644
index 000000000..ff9cbc6f1
--- /dev/null
+++ b/student_registration/clm/migrations/0079_disability_name_en.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.23 on 2019-12-19 11:12
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0078_auto_20191217_1438'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='disability',
+ name='name_en',
+ field=models.CharField(blank=True, max_length=145, null=True),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0080_auto_20200115_2324.py b/student_registration/clm/migrations/0080_auto_20200115_2324.py
new file mode 100644
index 000000000..3306fc29b
--- /dev/null
+++ b/student_registration/clm/migrations/0080_auto_20200115_2324.py
@@ -0,0 +1,36 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.23 on 2020-01-15 21:24
+from __future__ import unicode_literals
+
+import django.contrib.postgres.fields
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0079_disability_name_en'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='abln',
+ name='barriers',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('Full time job to support family financially', '\u0627\u0644\u0639\u0645\u0644 \u0644\u0625\u0639\u0627\u0644\u0629 \u0627\u0644\u0639\u0627\u0626\u0644\u0629 \u0645\u0627\u062f\u064a\u0627\u064b'), ('seasonal_work', '\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0633\u0645\u064a'), ('transportation', '\u0627\u0644\u0646\u0642\u0644\u064a\u0627\u062a '), ('weather', '\u0627\u0644\u0637\u0642\u0633'), ('sickness', '\u0627\u0644\u0645\u0631\u0636'), ('security', '\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0645\u0646\u064a'), ('family moved', '\u062a\u0628\u062f\u064a\u0644 \u0645\u0643\u0627\u0646 \u0627\u0644\u0633\u0643\u0646'), ('Moved back to Syria', '\u0627\u0646\u062a\u0642\u0644 \u0627\u0644\u0649 \u0633\u0648\u0631\u064a\u0627'), ('Enrolled in formal education', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a'), ('marriage engagement pregnancy', '\u0632\u0648\u0627\u062c/\u062e\u0637\u0648\u0628\u0629/\u062d\u0645\u0644'), ('violence bullying', ' \u062a\u0646\u0645\u0631/\u0639\u0646\u0641 - \u062e\u0644\u0627\u0644 \u0627\u0644\u062f\u0648\u0631\u0629 \u0627\u0648 \u0639\u0644\u0649 \u0637\u0631\u064a\u0642\u0647 \u0627\u0644\u0649 \u0627\u0644\u0645\u0631\u0643\u0632 '), ('No interest in pursuing the programme/No value', '\u0639\u062f\u0645 \u0627\u0644\u0631\u063a\u0628\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u0645/ \u0644\u0627 \u0642\u064a\u0645\u0629'), ('No barriers', 'No barriers')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u062d\u0648\u0627\u062c\u0632'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='barriers',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('Full time job to support family financially', '\u0627\u0644\u0639\u0645\u0644 \u0644\u0625\u0639\u0627\u0644\u0629 \u0627\u0644\u0639\u0627\u0626\u0644\u0629 \u0645\u0627\u062f\u064a\u0627\u064b'), ('seasonal_work', '\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0633\u0645\u064a'), ('transportation', '\u0627\u0644\u0646\u0642\u0644\u064a\u0627\u062a '), ('weather', '\u0627\u0644\u0637\u0642\u0633'), ('sickness', '\u0627\u0644\u0645\u0631\u0636'), ('security', '\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0645\u0646\u064a'), ('family moved', '\u062a\u0628\u062f\u064a\u0644 \u0645\u0643\u0627\u0646 \u0627\u0644\u0633\u0643\u0646'), ('Moved back to Syria', '\u0627\u0646\u062a\u0642\u0644 \u0627\u0644\u0649 \u0633\u0648\u0631\u064a\u0627'), ('Enrolled in formal education', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a'), ('marriage engagement pregnancy', '\u0632\u0648\u0627\u062c/\u062e\u0637\u0648\u0628\u0629/\u062d\u0645\u0644'), ('violence bullying', ' \u062a\u0646\u0645\u0631/\u0639\u0646\u0641 - \u062e\u0644\u0627\u0644 \u0627\u0644\u062f\u0648\u0631\u0629 \u0627\u0648 \u0639\u0644\u0649 \u0637\u0631\u064a\u0642\u0647 \u0627\u0644\u0649 \u0627\u0644\u0645\u0631\u0643\u0632 '), ('No interest in pursuing the programme/No value', '\u0639\u062f\u0645 \u0627\u0644\u0631\u063a\u0628\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u0645/ \u0644\u0627 \u0642\u064a\u0645\u0629'), ('No barriers', 'No barriers')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u062d\u0648\u0627\u062c\u0632'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='barriers',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('Full time job to support family financially', '\u0627\u0644\u0639\u0645\u0644 \u0644\u0625\u0639\u0627\u0644\u0629 \u0627\u0644\u0639\u0627\u0626\u0644\u0629 \u0645\u0627\u062f\u064a\u0627\u064b'), ('seasonal_work', '\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0633\u0645\u064a'), ('transportation', '\u0627\u0644\u0646\u0642\u0644\u064a\u0627\u062a '), ('weather', '\u0627\u0644\u0637\u0642\u0633'), ('sickness', '\u0627\u0644\u0645\u0631\u0636'), ('security', '\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0645\u0646\u064a'), ('family moved', '\u062a\u0628\u062f\u064a\u0644 \u0645\u0643\u0627\u0646 \u0627\u0644\u0633\u0643\u0646'), ('Moved back to Syria', '\u0627\u0646\u062a\u0642\u0644 \u0627\u0644\u0649 \u0633\u0648\u0631\u064a\u0627'), ('Enrolled in formal education', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a'), ('marriage engagement pregnancy', '\u0632\u0648\u0627\u062c/\u062e\u0637\u0648\u0628\u0629/\u062d\u0645\u0644'), ('violence bullying', ' \u062a\u0646\u0645\u0631/\u0639\u0646\u0641 - \u062e\u0644\u0627\u0644 \u0627\u0644\u062f\u0648\u0631\u0629 \u0627\u0648 \u0639\u0644\u0649 \u0637\u0631\u064a\u0642\u0647 \u0627\u0644\u0649 \u0627\u0644\u0645\u0631\u0643\u0632 '), ('No interest in pursuing the programme/No value', '\u0639\u062f\u0645 \u0627\u0644\u0631\u063a\u0628\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u0645/ \u0644\u0627 \u0642\u064a\u0645\u0629'), ('No barriers', 'No barriers')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u062d\u0648\u0627\u062c\u0632'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='barriers',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('Full time job to support family financially', '\u0627\u0644\u0639\u0645\u0644 \u0644\u0625\u0639\u0627\u0644\u0629 \u0627\u0644\u0639\u0627\u0626\u0644\u0629 \u0645\u0627\u062f\u064a\u0627\u064b'), ('seasonal_work', '\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0633\u0645\u064a'), ('transportation', '\u0627\u0644\u0646\u0642\u0644\u064a\u0627\u062a '), ('weather', '\u0627\u0644\u0637\u0642\u0633'), ('sickness', '\u0627\u0644\u0645\u0631\u0636'), ('security', '\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0645\u0646\u064a'), ('family moved', '\u062a\u0628\u062f\u064a\u0644 \u0645\u0643\u0627\u0646 \u0627\u0644\u0633\u0643\u0646'), ('Moved back to Syria', '\u0627\u0646\u062a\u0642\u0644 \u0627\u0644\u0649 \u0633\u0648\u0631\u064a\u0627'), ('Enrolled in formal education', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a'), ('marriage engagement pregnancy', '\u0632\u0648\u0627\u062c/\u062e\u0637\u0648\u0628\u0629/\u062d\u0645\u0644'), ('violence bullying', ' \u062a\u0646\u0645\u0631/\u0639\u0646\u0641 - \u062e\u0644\u0627\u0644 \u0627\u0644\u062f\u0648\u0631\u0629 \u0627\u0648 \u0639\u0644\u0649 \u0637\u0631\u064a\u0642\u0647 \u0627\u0644\u0649 \u0627\u0644\u0645\u0631\u0643\u0632 '), ('No interest in pursuing the programme/No value', '\u0639\u062f\u0645 \u0627\u0644\u0631\u063a\u0628\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u0645/ \u0644\u0627 \u0642\u064a\u0645\u0629'), ('No barriers', 'No barriers')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u062d\u0648\u0627\u062c\u0632'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0081_auto_20200121_0022.py b/student_registration/clm/migrations/0081_auto_20200121_0022.py
new file mode 100644
index 000000000..381c386b8
--- /dev/null
+++ b/student_registration/clm/migrations/0081_auto_20200121_0022.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.23 on 2020-01-20 22:22
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0080_auto_20200115_2324'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='abln',
+ name='participation',
+ field=models.CharField(blank=True, choices=[('less_than_3days', '\u0623\u0642\u0644 \u0645\u0646 3 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('3_7_days', '3-7 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('7_12_days', '7-12 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('more_than_12days', '\u0623\u0643\u062b\u0631 \u0645\u0646 12 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('no_absence', 'No Absence')], max_length=100, null=True, verbose_name='\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 '),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='participation',
+ field=models.CharField(blank=True, choices=[('less_than_10days', '\u0623\u0642\u0644 \u0645\u0646 10 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('10_15_days', '10-15 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('15_20_days', '15-20 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('more_than_20days', '\u0623\u0643\u062b\u0631 \u0645\u0646 20 \u064a\u0648\u0645 \u063a\u064a\u0627\u0628'), ('no_absence', 'No Absence')], max_length=100, null=True, verbose_name='\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 '),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='participation',
+ field=models.CharField(blank=True, choices=[('', '\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 '), ('less_than_5days', '\u0623\u0642\u0644 \u0645\u0646 5 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('5_10_days', '5-10 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('10_15_days', '10-15 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('more_than_15days', '\u0623\u0643\u062b\u0631 \u0645\u0646 15 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('no_absence', 'No Absence')], max_length=100, null=True, verbose_name='\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 '),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='participation',
+ field=models.CharField(blank=True, choices=[('', '\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 '), ('less_than_5days', '\u0623\u0642\u0644 \u0645\u0646 5 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('5_10_days', '5-10 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('10_15_days', '10-15 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('more_than_15days', '\u0623\u0643\u062b\u0631 \u0645\u0646 15 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('no_absence', 'No Absence')], max_length=100, null=True, verbose_name='\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 '),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0082_auto_20200130_1910.py b/student_registration/clm/migrations/0082_auto_20200130_1910.py
new file mode 100644
index 000000000..1bf8cda2e
--- /dev/null
+++ b/student_registration/clm/migrations/0082_auto_20200130_1910.py
@@ -0,0 +1,75 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-30 17:10
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0081_auto_20200121_0022'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='abln',
+ name='referral_partner_1',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='School / Center'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='referral_partner_2',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='School / Center'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='referral_partner_3',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='School / Center'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='referral_partner_1',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='School / Center'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='referral_partner_2',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='School / Center'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='referral_partner_3',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='School / Center'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='referral_partner_1',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='School / Center'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='referral_partner_2',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='School / Center'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='referral_partner_3',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='School / Center'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='referral_partner_1',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='School / Center'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='referral_partner_2',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='School / Center'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='referral_partner_3',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='School / Center'),
+ ),
+ ]
diff --git a/student_registration/clm/migrations/0083_auto_20200216_1831.py b/student_registration/clm/migrations/0083_auto_20200216_1831.py
new file mode 100644
index 000000000..51827d553
--- /dev/null
+++ b/student_registration/clm/migrations/0083_auto_20200216_1831.py
@@ -0,0 +1,116 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-02-16 16:31
+from __future__ import unicode_literals
+
+import django.contrib.postgres.fields
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('clm', '0082_auto_20200130_1910'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='abln',
+ name='barriers',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('Full time job to support family financially', '\u0627\u0644\u0639\u0645\u0644 \u0644\u0625\u0639\u0627\u0644\u0629 \u0627\u0644\u0639\u0627\u0626\u0644\u0629 \u0645\u0627\u062f\u064a\u0627\u064b'), ('seasonal_work', '\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0633\u0645\u064a'), ('transportation', '\u0627\u0644\u0646\u0642\u0644\u064a\u0627\u062a '), ('weather', '\u0627\u0644\u0637\u0642\u0633'), ('sickness', '\u0627\u0644\u0645\u0631\u0636'), ('security', '\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0645\u0646\u064a'), ('family moved', '\u062a\u0628\u062f\u064a\u0644 \u0645\u0643\u0627\u0646 \u0627\u0644\u0633\u0643\u0646'), ('Moved back to Syria', '\u0627\u0646\u062a\u0642\u0644 \u0627\u0644\u0649 \u0633\u0648\u0631\u064a\u0627'), ('Enrolled in formal education', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a'), ('marriage engagement pregnancy', '\u0632\u0648\u0627\u062c/\u062e\u0637\u0648\u0628\u0629/\u062d\u0645\u0644'), ('violence bullying', ' \u062a\u0646\u0645\u0631/\u0639\u0646\u0641 - \u062e\u0644\u0627\u0644 \u0627\u0644\u062f\u0648\u0631\u0629 \u0627\u0648 \u0639\u0644\u0649 \u0637\u0631\u064a\u0642\u0647 \u0627\u0644\u0649 \u0627\u0644\u0645\u0631\u0643\u0632 '), ('No interest in pursuing the programme/No value', '\u0639\u062f\u0645 \u0627\u0644\u0631\u063a\u0628\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u0645/ \u0644\u0627 \u0642\u064a\u0645\u0629'), ('No barriers', '\u0644\u0627 \u064a\u0648\u062c\u062f')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u062d\u0648\u0627\u062c\u0632'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='participation',
+ field=models.CharField(blank=True, choices=[('less_than_3days', '\u0623\u0642\u0644 \u0645\u0646 3 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('3_7_days', '3-7 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('7_12_days', '7-12 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('more_than_12days', '\u0623\u0643\u062b\u0631 \u0645\u0646 12 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('no_absence', '\u0644\u0627 \u063a\u064a\u0627\u0628')], max_length=100, null=True, verbose_name='\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 '),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='referral_partner_1',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0631\u0642\u0645 \u0627\u0644\u0645\u062f\u0631\u0633\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='referral_partner_2',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0631\u0642\u0645 \u0627\u0644\u0645\u062f\u0631\u0633\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='abln',
+ name='referral_partner_3',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0631\u0642\u0645 \u0627\u0644\u0645\u062f\u0631\u0633\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='barriers',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('Full time job to support family financially', '\u0627\u0644\u0639\u0645\u0644 \u0644\u0625\u0639\u0627\u0644\u0629 \u0627\u0644\u0639\u0627\u0626\u0644\u0629 \u0645\u0627\u062f\u064a\u0627\u064b'), ('seasonal_work', '\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0633\u0645\u064a'), ('transportation', '\u0627\u0644\u0646\u0642\u0644\u064a\u0627\u062a '), ('weather', '\u0627\u0644\u0637\u0642\u0633'), ('sickness', '\u0627\u0644\u0645\u0631\u0636'), ('security', '\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0645\u0646\u064a'), ('family moved', '\u062a\u0628\u062f\u064a\u0644 \u0645\u0643\u0627\u0646 \u0627\u0644\u0633\u0643\u0646'), ('Moved back to Syria', '\u0627\u0646\u062a\u0642\u0644 \u0627\u0644\u0649 \u0633\u0648\u0631\u064a\u0627'), ('Enrolled in formal education', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a'), ('marriage engagement pregnancy', '\u0632\u0648\u0627\u062c/\u062e\u0637\u0648\u0628\u0629/\u062d\u0645\u0644'), ('violence bullying', ' \u062a\u0646\u0645\u0631/\u0639\u0646\u0641 - \u062e\u0644\u0627\u0644 \u0627\u0644\u062f\u0648\u0631\u0629 \u0627\u0648 \u0639\u0644\u0649 \u0637\u0631\u064a\u0642\u0647 \u0627\u0644\u0649 \u0627\u0644\u0645\u0631\u0643\u0632 '), ('No interest in pursuing the programme/No value', '\u0639\u062f\u0645 \u0627\u0644\u0631\u063a\u0628\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u0645/ \u0644\u0627 \u0642\u064a\u0645\u0629'), ('No barriers', '\u0644\u0627 \u064a\u0648\u062c\u062f')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u062d\u0648\u0627\u062c\u0632'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='participation',
+ field=models.CharField(blank=True, choices=[('less_than_10days', '\u0623\u0642\u0644 \u0645\u0646 10 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('10_15_days', '10-15 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('15_20_days', '15-20 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('more_than_20days', '\u0623\u0643\u062b\u0631 \u0645\u0646 20 \u064a\u0648\u0645 \u063a\u064a\u0627\u0628'), ('no_absence', '\u0644\u0627 \u063a\u064a\u0627\u0628')], max_length=100, null=True, verbose_name='\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 '),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='referral_partner_1',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0631\u0642\u0645 \u0627\u0644\u0645\u062f\u0631\u0633\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='referral_partner_2',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0631\u0642\u0645 \u0627\u0644\u0645\u062f\u0631\u0633\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='bln',
+ name='referral_partner_3',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0631\u0642\u0645 \u0627\u0644\u0645\u062f\u0631\u0633\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='barriers',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('Full time job to support family financially', '\u0627\u0644\u0639\u0645\u0644 \u0644\u0625\u0639\u0627\u0644\u0629 \u0627\u0644\u0639\u0627\u0626\u0644\u0629 \u0645\u0627\u062f\u064a\u0627\u064b'), ('seasonal_work', '\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0633\u0645\u064a'), ('transportation', '\u0627\u0644\u0646\u0642\u0644\u064a\u0627\u062a '), ('weather', '\u0627\u0644\u0637\u0642\u0633'), ('sickness', '\u0627\u0644\u0645\u0631\u0636'), ('security', '\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0645\u0646\u064a'), ('family moved', '\u062a\u0628\u062f\u064a\u0644 \u0645\u0643\u0627\u0646 \u0627\u0644\u0633\u0643\u0646'), ('Moved back to Syria', '\u0627\u0646\u062a\u0642\u0644 \u0627\u0644\u0649 \u0633\u0648\u0631\u064a\u0627'), ('Enrolled in formal education', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a'), ('marriage engagement pregnancy', '\u0632\u0648\u0627\u062c/\u062e\u0637\u0648\u0628\u0629/\u062d\u0645\u0644'), ('violence bullying', ' \u062a\u0646\u0645\u0631/\u0639\u0646\u0641 - \u062e\u0644\u0627\u0644 \u0627\u0644\u062f\u0648\u0631\u0629 \u0627\u0648 \u0639\u0644\u0649 \u0637\u0631\u064a\u0642\u0647 \u0627\u0644\u0649 \u0627\u0644\u0645\u0631\u0643\u0632 '), ('No interest in pursuing the programme/No value', '\u0639\u062f\u0645 \u0627\u0644\u0631\u063a\u0628\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u0645/ \u0644\u0627 \u0642\u064a\u0645\u0629'), ('No barriers', '\u0644\u0627 \u064a\u0648\u062c\u062f')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u062d\u0648\u0627\u062c\u0632'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='participation',
+ field=models.CharField(blank=True, choices=[('', '\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 '), ('less_than_5days', '\u0623\u0642\u0644 \u0645\u0646 5 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('5_10_days', '5-10 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('10_15_days', '10-15 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('more_than_15days', '\u0623\u0643\u062b\u0631 \u0645\u0646 15 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('no_absence', '\u0644\u0627 \u063a\u064a\u0627\u0628')], max_length=100, null=True, verbose_name='\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 '),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='referral_partner_1',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0631\u0642\u0645 \u0627\u0644\u0645\u062f\u0631\u0633\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='referral_partner_2',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0631\u0642\u0645 \u0627\u0644\u0645\u062f\u0631\u0633\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='cbece',
+ name='referral_partner_3',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0631\u0642\u0645 \u0627\u0644\u0645\u062f\u0631\u0633\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='barriers',
+ field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('Full time job to support family financially', '\u0627\u0644\u0639\u0645\u0644 \u0644\u0625\u0639\u0627\u0644\u0629 \u0627\u0644\u0639\u0627\u0626\u0644\u0629 \u0645\u0627\u062f\u064a\u0627\u064b'), ('seasonal_work', '\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0648\u0633\u0645\u064a'), ('transportation', '\u0627\u0644\u0646\u0642\u0644\u064a\u0627\u062a '), ('weather', '\u0627\u0644\u0637\u0642\u0633'), ('sickness', '\u0627\u0644\u0645\u0631\u0636'), ('security', '\u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0645\u0646\u064a'), ('family moved', '\u062a\u0628\u062f\u064a\u0644 \u0645\u0643\u0627\u0646 \u0627\u0644\u0633\u0643\u0646'), ('Moved back to Syria', '\u0627\u0646\u062a\u0642\u0644 \u0627\u0644\u0649 \u0633\u0648\u0631\u064a\u0627'), ('Enrolled in formal education', '\u0645\u0633\u062c\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0627\u0633\u0627\u0633\u064a'), ('marriage engagement pregnancy', '\u0632\u0648\u0627\u062c/\u062e\u0637\u0648\u0628\u0629/\u062d\u0645\u0644'), ('violence bullying', ' \u062a\u0646\u0645\u0631/\u0639\u0646\u0641 - \u062e\u0644\u0627\u0644 \u0627\u0644\u062f\u0648\u0631\u0629 \u0627\u0648 \u0639\u0644\u0649 \u0637\u0631\u064a\u0642\u0647 \u0627\u0644\u0649 \u0627\u0644\u0645\u0631\u0643\u0632 '), ('No interest in pursuing the programme/No value', '\u0639\u062f\u0645 \u0627\u0644\u0631\u063a\u0628\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u0645/ \u0644\u0627 \u0642\u064a\u0645\u0629'), ('No barriers', '\u0644\u0627 \u064a\u0648\u062c\u062f')], max_length=100, null=True), blank=True, null=True, size=None, verbose_name='\u0627\u0644\u062d\u0648\u0627\u062c\u0632'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='participation',
+ field=models.CharField(blank=True, choices=[('', '\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 '), ('less_than_5days', '\u0623\u0642\u0644 \u0645\u0646 5 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('5_10_days', '5-10 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('10_15_days', '10-15 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('more_than_15days', '\u0623\u0643\u062b\u0631 \u0645\u0646 15 \u0623\u064a\u0627\u0645 \u063a\u064a\u0627\u0628'), ('no_absence', '\u0644\u0627 \u063a\u064a\u0627\u0628')], max_length=100, null=True, verbose_name='\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 '),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='referral_partner_1',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0631\u0642\u0645 \u0627\u0644\u0645\u062f\u0631\u0633\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='referral_partner_2',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0631\u0642\u0645 \u0627\u0644\u0645\u062f\u0631\u0633\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='rs',
+ name='referral_partner_3',
+ field=models.CharField(blank=True, max_length=500, null=True, verbose_name='\u0631\u0642\u0645 \u0627\u0644\u0645\u062f\u0631\u0633\u0629'),
+ ),
+ ]
diff --git a/student_registration/clm/models.py b/student_registration/clm/models.py
index 667aaa535..88b101d43 100644
--- a/student_registration/clm/models.py
+++ b/student_registration/clm/models.py
@@ -105,6 +105,8 @@ def __unicode__(self):
class Disability(models.Model):
name = models.CharField(max_length=100)
+ name_en = models.CharField(max_length=145, blank=True, null=True)
+ active = models.BooleanField(default=True)
class Meta:
ordering = ['name']
@@ -118,6 +120,7 @@ def __unicode__(self):
class CLM(TimeStampedModel):
LANGUAGES = Choices(
+ ('arabic', _('Arabic')),
('english_arabic', _('English/Arabic')),
('french_arabic', _('French/Arabic'))
)
@@ -142,20 +145,29 @@ class CLM(TimeStampedModel):
('less_than_5days', _('Less than 5 absence days')),
('5_10_days', _('5 to 10 absence days')),
('10_15_days', _('10 to 15 absence days')),
- ('more_than_15days', _('More than 15 absence days'))
+ ('more_than_15days', _('More than 15 absence days')),
+ ('no_absence', _('No Absence'))
)
BARRIERS = Choices(
+ ('Full time job to support family financially', _('Full time job to support family financially')),
('seasonal_work', _('Seasonal work')),
('transportation', _('Transportation')),
('weather', _('Weather')),
('sickness', _('Sickness')),
('security', _('Security')),
- ('other', _('Other'))
+ ('family moved', _('Family moved')),
+ ('Moved back to Syria', _('Moved back to Syria')),
+ ('Enrolled in formal education', _('Enrolled in formal education')),
+ ('marriage engagement pregnancy', _('Marriage/Engagement/Pregnancy')),
+ ('violence bullying', _('Violence/Bullying')),
+ ('No interest in pursuing the programme/No value', _('No interest in pursuing the programme/No value')),
+ ('No barriers', _('No barriers'))
)
HAVE_LABOUR = Choices(
('no', _('No')),
('yes_morning', _('Yes - Morning')),
('yes_afternoon', _('Yes - Afternoon')),
+ ('yes_all_day', _('Yes - All day')),
)
LABOURS = Choices(
('agriculture', _('Agriculture')),
@@ -163,18 +175,26 @@ class CLM(TimeStampedModel):
('manufacturing', _('Manufacturing')),
('retail_store', _('Retail / Store')),
('begging', _('Begging')),
- ('other_many_other', _('Other (hotel, restaurant, transport, personal services such as cleaning, hair care, cooking and childcare)')),
- ('other', _('Other')),
+ ('other_many_other', _('Other services (hotel, restaurant, transport, personal services such as cleaning, hair care, cooking and childcare)')),
+ # ('other', _('Other')),
)
LEARNING_RESULT = Choices(
('', _('Learning result')),
('graduated_next_level', _('Graduated to the next level')),
+ ('graduated_next_round_same_level', _('Graduated to the next round, same level')),
+ ('graduated_next_round_higher_level', _('Graduated to the next round, higher level')),
('graduated_to_formal_kg', _('Graduated to formal education - KG')),
('graduated_to_formal_level1', _('Graduated to formal education - Level 1')),
('referred_to_another_program', _('Referred to another program')),
# ('dropout', _('Dropout from school'))
)
+ first_attendance_date = models.DateField(
+ blank=True,
+ null=True,
+ verbose_name=_('First attendance date')
+ )
+
round = models.ForeignKey(
CLMRound,
blank=True, null=True,
@@ -250,7 +270,14 @@ class CLM(TimeStampedModel):
EducationalLevel,
blank=True, null=True,
related_name='+',
- verbose_name=_('What is the educational level of a person who is valuable to the child?')
+ verbose_name=_('What is the educational level of the mother?')
+ )
+
+ father_educational_level = models.ForeignKey(
+ EducationalLevel,
+ blank=True, null=True,
+ related_name='+',
+ verbose_name=_('What is the educational level of the father?')
)
status = models.CharField(max_length=50, choices=STATUS, default=STATUS.enrolled)
@@ -358,17 +385,427 @@ class CLM(TimeStampedModel):
blank=True, null=True,
verbose_name=_('Comments')
)
+ unsuccessful_pretest_reason = models.CharField(
+ max_length=100,
+ blank=True,
+ null=True,
+ choices=Choices(
+ ('disability', _('Disability')),
+ ('enrolled and did not do the pre-test', _("Enrolled and did not do the pre-test")),
+ ('enrolled in formal', _("Enrolled in formal education")),
+ ),
+ verbose_name=_('unsuccessful pre test reason')
+ )
unsuccessful_posttest_reason = models.CharField(
max_length=100,
blank=True,
null=True,
choices=Choices(
+ ('disability', _('Disability')),
('dropout', _("Dropout from the round")),
('uncompleted_participation', _("Uncompleted Participation"))
),
verbose_name=_('unsuccessful post test reason')
)
+ phone_number = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Phone number')
+ )
+ phone_number_confirm = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Phone number confirm')
+ )
+
+ education_status = models.CharField(
+ max_length=100,
+ blank=True,
+ null=True,
+ choices=Choices(
+ ('out of school', _('Out of school')),
+ ('enrolled in formal education but did not continue', _("Enrolled in formal education but did not continue")),
+ ('enrolled in ABLN', _("Enrolled in ABLN")),
+ ),
+ verbose_name=_('Education status')
+ )
+
+ id_type = models.CharField(
+ max_length=100,
+ blank=True,
+ null=True,
+ choices=Choices(
+ ('UNHCR Registered', _('UNHCR Registered')),
+ ('UNHCR Recorded', _("UNHCR Recorded")),
+ ('Syrian national ID', _("Syrian national ID")),
+ ('Palestinian national ID', _("Palestinian national ID")),
+ ('Lebanese national ID', _("Lebanese national ID")),
+ ('Child have no ID', _("Child have no ID"))
+ ),
+ verbose_name=_('Child ID type')
+ )
+
+ case_number = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Case number')
+ )
+ case_number_confirm = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Case number confirm')
+ )
+
+ individual_case_number = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Individual Case number')
+ )
+ individual_case_number_confirm = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Individual Case number confirm')
+ )
+
+ recorded_number = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Recorded number')
+ )
+ recorded_number_confirm = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Recorded number confirm')
+ )
+
+ other_nationality = models.CharField(
+ max_length=200,
+ blank=True,
+ null=True,
+ verbose_name=_('Specify the nationality')
+ )
+
+ national_number = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Lebanese ID number ')
+ )
+ national_number_confirm = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Lebanese ID number confirm')
+ )
+ syrian_national_number = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Syrian ID number ')
+ )
+ syrian_national_number_confirm = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Syrian ID number confirm')
+ )
+ sop_national_number = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Palestinian ID number ')
+ )
+ sop_national_number_confirm = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Palestinian ID number confirm')
+ )
+
+ source_of_identification = models.CharField(
+ max_length=100,
+ blank=True,
+ null=True,
+ choices=Choices(
+ ('Referred by CP partner', _('Referred by CP partner')),
+ ('Referred by youth partner', _('Referred by youth partner')),
+ ('Family walked in to NGO', _('Family walked in to NGO')),
+ ('Referral from another NGO', _('Referral from another NGO')),
+ ('Referral from another Municipality', _('Referral from Municipality')),
+ ('Direct outreach', _('Direct outreach')),
+ ('List database', _('List database'))
+ ),
+ verbose_name=_('Source of identification of the child')
+ )
+
+ no_child_id_confirmation = models.CharField(max_length=50, blank=True, null=True,)
+ no_parent_id_confirmation = models.CharField(max_length=50, blank=True, null=True,)
+
+ parent_id_type = models.CharField(
+ max_length=100,
+ blank=True,
+ null=True,
+ choices=Choices(
+ ('UNHCR Registered', _('UNHCR Registered')),
+ ('UNHCR Recorded', _("UNHCR Recorded")),
+ ('Syrian national ID', _("Syrian national ID")),
+ ('Palestinian national ID', _("Palestinian national ID")),
+ ('Lebanese national ID', _("Lebanese national ID")),
+ ('Parent have no ID', _("Parent have no ID"))
+ ),
+ verbose_name=_('Parent ID type')
+ )
+
+ parent_case_number = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Case number')
+ )
+ parent_case_number_confirm = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Case number confirm')
+ )
+
+ parent_individual_case_number = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Individual Case number')
+ )
+ parent_individual_case_number_confirm = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Individual Case number confirm')
+ )
+
+ parent_national_number = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Lebanese ID number ')
+ )
+ parent_national_number_confirm = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Lebanese ID number confirm')
+ )
+ parent_syrian_national_number = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Syrian ID number ')
+ )
+ parent_syrian_national_number_confirm = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Syrian ID number confirm')
+ )
+ parent_sop_national_number = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Palestinian ID number ')
+ )
+ parent_sop_national_number_confirm = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ verbose_name=_('Palestinian ID number confirm')
+ )
+
+ referral_programme_type_1 = models.CharField(
+ max_length=100,
+ blank=True,
+ null=True,
+ choices=Choices(
+ ('Formal Education', _('Formal Education')),
+ ('ALP', _('ALP')),
+ ('BLN', _('BLN')),
+ ('CP (PSS and/or Case Management)', _('CP (PSS and/or Case Management)')),
+ ('Youth', _('Youth')),
+ ('Health', _('Health')),
+ ('WASH', _('WASH')),
+ ('Specialized Services', _('Specialized Services')),
+ ('Other', _('Other')),
+ ),
+ verbose_name=_('Programme Type')
+ )
+ referral_partner_1 = models.CharField(
+ max_length=500,
+ blank=True,
+ null=True,
+ verbose_name=_('School / Center')
+ )
+ referral_date_1 = models.DateField(
+ blank=True,
+ null=True,
+ verbose_name=_('Referral date')
+ )
+ confirmation_date_1 = models.DateField(
+ blank=True,
+ null=True,
+ verbose_name=_('Date when the receiving organization confirms accepting the child (or child receiving service)')
+ )
+
+ referral_programme_type_2 = models.CharField(
+ max_length=100,
+ blank=True,
+ null=True,
+ choices=Choices(
+ ('Formal Education', _('Formal Education')),
+ ('ALP', _('ALP')),
+ ('BLN', _('BLN')),
+ ('CP (PSS and/or Case Management)', _('CP (PSS and/or Case Management)')),
+ ('Youth', _('Youth')),
+ ('Health', _('Health')),
+ ('WASH', _('WASH')),
+ ('Specialized Services', _('Specialized Services')),
+ ('Other', _('Other')),
+ ),
+ verbose_name=_('Programme Type')
+ )
+ referral_partner_2 = models.CharField(
+ max_length=500,
+ blank=True,
+ null=True,
+ verbose_name=_('School / Center')
+ )
+ referral_date_2 = models.DateField(
+ blank=True,
+ null=True,
+ verbose_name=_('Referral date')
+ )
+ confirmation_date_2 = models.DateField(
+ blank=True,
+ null=True,
+ verbose_name=_('Date when the receiving organization confirms accepting the child (or child receiving service)')
+ )
+
+ referral_programme_type_3 = models.CharField(
+ max_length=100,
+ blank=True,
+ null=True,
+ choices=Choices(
+ ('Formal Education', _('Formal Education')),
+ ('ALP', _('ALP')),
+ ('BLN', _('BLN')),
+ ('CP (PSS and/or Case Management)', _('CP (PSS and/or Case Management)')),
+ ('Youth', _('Youth')),
+ ('Health', _('Health')),
+ ('WASH', _('WASH')),
+ ('Specialized Services', _('Specialized Services')),
+ ('Other', _('Other')),
+ ),
+ verbose_name=_('Programme Type')
+ )
+ referral_partner_3 = models.CharField(
+ max_length=500,
+ blank=True,
+ null=True,
+ verbose_name=_('School / Center')
+ )
+ referral_date_3 = models.DateField(
+ blank=True,
+ null=True,
+ verbose_name=_('Referral date')
+ )
+ confirmation_date_3 = models.DateField(
+ blank=True,
+ null=True,
+ verbose_name=_('Date when the receiving organization confirms accepting the child (or child receiving service)')
+ )
+
+ followup_call_reason_1 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('Reason')
+ )
+ followup_call_result_1 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('Results')
+ )
+ followup_call_date_1 = models.DateField(
+ blank=True,
+ null=True,
+ verbose_name=_('Call date')
+ )
+
+ followup_call_reason_2 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('Reason')
+ )
+ followup_call_result_2 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('Results')
+ )
+ followup_call_date_2 = models.DateField(
+ blank=True,
+ null=True,
+ verbose_name=_('Call date')
+ )
+
+ followup_visit_reason_1 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('Reason')
+ )
+ followup_visit_result_1 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('Results')
+ )
+ followup_visit_date_1 = models.DateField(
+ blank=True,
+ null=True,
+ verbose_name=_('Visit date')
+ )
+
+ caretaker_first_name = models.CharField(
+ max_length=500,
+ blank=False,
+ null=True,
+ verbose_name=_('Caretaker First Name')
+ )
+ caretaker_middle_name = models.CharField(
+ max_length=500,
+ blank=False,
+ null=True,
+ verbose_name=_('Caretaker Middle Name')
+ )
+ caretaker_last_name = models.CharField(
+ max_length=500,
+ blank=False,
+ null=True,
+ verbose_name=_('Caretaker Last Name')
+ )
+ caretaker_mother_name = models.CharField(
+ max_length=500,
+ blank=False,
+ null=True,
+ verbose_name=_('Caretaker Mother Name')
+ )
+
+ cycle_completed = models.BooleanField(blank=True, default=False, verbose_name=_('Course completed successfully'))
+ enrolled_at_school = models.BooleanField(blank=True, default=False, verbose_name=_('Enrolled at School'))
+
@property
def student_fullname(self):
if self.student:
@@ -421,14 +858,14 @@ class BLN(CLM):
LEARNING_RESULT = Choices(
('', _('Learning result')),
- # ('repeat_level', _('Repeat level')),
- ('attended_public_school', _('Attended public school')),
+ ('graduated_to_bln_next_level', _('Graduated to the next level')),
+ ('graduated_to_bln_next_round_same_level', _('Graduated to the next round, same level')),
+ ('graduated_to_bln_next_round_higher_level', _('Graduated to the next round, higher level')),
('referred_to_alp', _('referred to ALP')),
- ('referred_to_tvet', _('referred to TVET')),
- ('ready_to_alp_but_not_possible', _('Ready for ALP but referral is not possible')),
- ('reenrolled_in_alp', _('Re-register on another round of BLN')),
- # ('not_enrolled_any_program', _('Not enrolled in any educational program')),
- # ('dropout', _('Dropout from school'))
+ ('referred_public_school', _('Referred to public school')),
+ ('referred_to_tvet', _('Referred to TVET')),
+ ('referred_to_ybln', _('Referred to YBLN')),
+ ('dropout', _('Dropout, referral not possible')),
)
cycle = models.ForeignKey(
@@ -457,11 +894,28 @@ class BLN(CLM):
verbose_name=_('Learning result')
)
+ participation = models.CharField(
+ max_length=100,
+ blank=True,
+ null=True,
+ choices=Choices(
+ ('less_than_10days', _('Less than 10 absence days')),
+ ('10_15_days', _('10 to 15 absence days')),
+ ('15_20_days', _('15 to 20 absence days')),
+ ('more_than_20days', _('More than 20 absence days')),
+ ('no_absence', _('No Absence'))
+ ),
+ verbose_name=_('Participation')
+ )
+
def calculate_score(self, stage):
keys = [
'BLN_ASSESSMENT/arabic',
'BLN_ASSESSMENT/math',
'BLN_ASSESSMENT/foreign_language',
+ 'BLN_ASSESSMENT/social_emotional',
+ 'BLN_ASSESSMENT/psychomotor',
+ 'BLN_ASSESSMENT/artistic',
# 'BLN_ASSESSMENT/english',
# 'BLN_ASSESSMENT/french'
]
@@ -522,6 +976,18 @@ def foreign_language_improvement(self):
return str(self.domain_improvement('foreign_language')) + '%'
return str(french_english) + '%'
+ @property
+ def social_emotional_improvement(self):
+ return str(self.domain_improvement('social_emotional')) + '%'
+
+ @property
+ def psychomotor_improvement(self):
+ return str(self.domain_improvement('psychomotor')) + '%'
+
+ @property
+ def artistic_improvement(self):
+ return str(self.domain_improvement('artistic')) + '%'
+
def pre_assessment_form(self):
return self.assessment_form(stage='pre_test', assessment_slug='bln_pre_test')
@@ -529,7 +995,7 @@ def post_assessment_form(self):
return self.assessment_form(stage='post_test', assessment_slug='bln_post_test')
class Meta:
- ordering = ['id']
+ ordering = ['-id']
verbose_name = "BLN"
verbose_name_plural = "BLN"
@@ -729,7 +1195,7 @@ class RS(CLM):
)
class Meta:
- ordering = ['id']
+ ordering = ['-id']
verbose_name = "RS"
verbose_name_plural = "RS"
@@ -918,9 +1384,9 @@ class CBECE(CLM):
('repeat_level', _('Repeat level')),
('graduated_next_level', _('Graduated to the next level')),
('graduated_to_formal_kg', _('Graduated to formal education - KG')),
- ('graduated_to_formal_level1', _('Graduated to formal education - Level 1')),
+ ('graduated_to_formal_education_level1', _('Graduated to formal education - Level 1')),
('referred_to_another_program', _('Referred to another program')),
- # ('dropout', _('Dropout from school'))
+ ('dropout', _('Dropout, referral not possible'))
)
cycle = models.ForeignKey(
@@ -1115,7 +1581,7 @@ def calculate_score(self, stage):
}
class Meta:
- ordering = ['id']
+ ordering = ['-id']
verbose_name = "CB-ECE"
verbose_name_plural = "CB-ECE"
@@ -1153,3 +1619,139 @@ class Meta:
def __unicode__(self):
return self.enrollment
+
+
+class ABLN(CLM):
+
+ LEARNING_RESULT = Choices(
+ ('', _('Learning result')),
+ ('graduated_to_abln_next_level', _('Graduated to the ABLN next level')),
+ ('graduated_to_abln_next_round_same_level', _('Graduated to the next round, same level')),
+ ('graduated_to_abln_next_round_higher_level', _('Graduated to the next round, higher level')),
+ ('referred_to_bln', _('Referred to BLN')),
+ ('referred_to_ybln', _('Referred to YBLN')),
+ ('referred_to_alp', _('Referred to ALP')),
+ ('referred_to_cbt', _('Referred to CBT')),
+ ('dropout', _('Dropout, referral not possible')),
+ )
+
+ cycle = models.ForeignKey(
+ Cycle,
+ blank=True, null=True,
+ related_name='+',
+ verbose_name=_('Cycle')
+ )
+ referral = ArrayField(
+ models.CharField(
+ choices=CLM.REFERRAL,
+ max_length=100,
+ blank=True,
+ null=True,
+ ),
+ blank=True,
+ null=True,
+ verbose_name=_('Referral')
+ )
+
+ learning_result = models.CharField(
+ max_length=100,
+ blank=True,
+ null=True,
+ choices=LEARNING_RESULT,
+ verbose_name=_('Learning result')
+ )
+
+ participation = models.CharField(
+ max_length=100,
+ blank=True,
+ null=True,
+ choices=Choices(
+ ('less_than_3days', _('Less than 3 absence days')),
+ ('3_7_days', _('3 to 7 absence days')),
+ ('7_12_days', _('7 to 12 absence days')),
+ ('more_than_12days', _('More than 12 absence days')),
+ ('no_absence', _('No Absence'))
+ ),
+ verbose_name=_('Participation')
+ )
+
+ def calculate_score(self, stage):
+ keys = [
+ 'ABLN_ASSESSMENT/arabic',
+ 'ABLN_ASSESSMENT/math',
+ 'ABLN_ASSESSMENT/social_emotional',
+ 'ABLN_ASSESSMENT/psychomotor',
+ 'ABLN_ASSESSMENT/artistic',
+ ]
+ super(ABLN, self).score(keys, stage)
+
+ def assessment_form(self, stage, assessment_slug, callback=''):
+ try:
+ assessment = Assessment.objects.get(slug=assessment_slug)
+ return '{form}?d[status]={status}&d[enrollment_id]={enrollment_id}&d[enrollment_model]=ABLN&returnURL={callback}'.format(
+ form=assessment.assessment_form,
+ status=stage,
+ enrollment_id=self.id,
+ callback=callback
+ )
+ except Assessment.DoesNotExist as ex:
+ return ''
+
+ def domain_improvement(self, domain_mame):
+ key = '{}/{}'.format(
+ 'ABLN_ASSESSMENT',
+ domain_mame,
+ )
+ try:
+ if self.pre_test and self.post_test:
+ return round(((float(self.post_test[key]) - float(self.pre_test[key])) /
+ 20.0) * 100.0, 2)
+ except Exception:
+ return 0.0
+ return 0.0
+
+ def get_assessment_value(self, key, stage):
+ assessment = getattr(self, stage)
+ if assessment:
+ key = 'ABLN_ASSESSMENT/'+key
+ return assessment.get(key, 0)
+ return 0
+
+ @property
+ def arabic_improvement(self):
+ return str(self.domain_improvement('arabic')) + '%'
+
+ @property
+ def math_improvement(self):
+ return str(self.domain_improvement('math')) + '%'
+
+ @property
+ def english_improvement(self):
+ return str(self.domain_improvement('english')) + '%'
+
+ @property
+ def french_improvement(self):
+ return str(self.domain_improvement('french')) + '%'
+
+ @property
+ def social_emotional_improvement(self):
+ return str(self.domain_improvement('social_emotional')) + '%'
+
+ @property
+ def psychomotor_improvement(self):
+ return str(self.domain_improvement('psychomotor')) + '%'
+
+ @property
+ def artistic_improvement(self):
+ return str(self.domain_improvement('artistic')) + '%'
+
+ def pre_assessment_form(self):
+ return self.assessment_form(stage='pre_test', assessment_slug='bln_pre_test')
+
+ def post_assessment_form(self):
+ return self.assessment_form(stage='post_test', assessment_slug='bln_post_test')
+
+ class Meta:
+ ordering = ['-id']
+ verbose_name = "ABLN"
+ verbose_name_plural = "ABLN"
diff --git a/student_registration/clm/serializers.py b/student_registration/clm/serializers.py
index f6351e42c..8e34b3912 100644
--- a/student_registration/clm/serializers.py
+++ b/student_registration/clm/serializers.py
@@ -2,7 +2,7 @@
import json
from rest_framework import serializers
-from .models import CLM, BLN, RS, CBECE, SelfPerceptionGrades
+from .models import CLM, BLN, ABLN, RS, CBECE, SelfPerceptionGrades
def create_instance(validated_data, model):
@@ -10,19 +10,30 @@ def create_instance(validated_data, model):
from student_registration.students.models import Student
student_data = validated_data.pop('student', None)
+ student = None
+
+ if 'partner' in validated_data and validated_data['partner'] and validated_data['partner'].id == 10:
+ if 'internal_number' in validated_data and validated_data['internal_number']:
+ queryset = model.objects.filter(internal_number=validated_data['internal_number'])
+
+ if queryset.count():
+ student = queryset.first().student
if 'id' in student_data and student_data['id']:
student_serializer = StudentSerializer(Student.objects.get(id=student_data['id']), data=student_data)
student_serializer.is_valid(raise_exception=True)
student_serializer.instance = student_serializer.save()
- else:
+ student = student_serializer.instance
+
+ if not student:
student_serializer = StudentSerializer(data=student_data)
student_serializer.is_valid(raise_exception=True)
student_serializer.instance = student_serializer.save()
+ student = student_serializer.instance
try:
instance = model.objects.create(**validated_data)
- instance.student = student_serializer.instance
+ instance.student = student
instance.save()
except Exception as ex:
@@ -32,11 +43,10 @@ def create_instance(validated_data, model):
def update_instance(instance, validated_data):
+ from student_registration.students.serializers import StudentSerializer
student_data = validated_data.pop('student', None)
if student_data:
- from student_registration.students.serializers import StudentSerializer
-
student_serializer = StudentSerializer(instance.student, data=student_data)
student_serializer.is_valid(raise_exception=True)
student_serializer.instance = student_serializer.save()
@@ -79,16 +89,23 @@ class CLMSerializer(serializers.ModelSerializer):
student_have_children = serializers.CharField(source='student.have_children', required=False)
comments = serializers.CharField(required=False)
unsuccessful_posttest_reason = serializers.CharField(required=False)
+ unsuccessful_pretest_reason = serializers.CharField(required=False)
student_outreach_child = serializers.IntegerField(source='student.outreach_child', required=False)
student_outreach_child_id = serializers.IntegerField(source='student.outreach_child.id', read_only=True)
+ governorate_name = serializers.CharField(source='governorate.name', read_only=True)
+ district_name = serializers.CharField(source='district.name', read_only=True)
+ partner_name = serializers.CharField(source='partner.name', read_only=True)
+ created = serializers.CharField(read_only=True)
csrfmiddlewaretoken = serializers.IntegerField(source='owner.id', read_only=True)
save = serializers.IntegerField(source='owner.id', read_only=True)
+ # internal = serializers.CharField(read_only=True)
enrollment_id = serializers.IntegerField(source='id', read_only=True)
search_clm_student = serializers.CharField(source='student.full_name', read_only=True)
search_barcode = serializers.CharField(source='outreach_barcode', read_only=True)
+
class Meta:
model = CLM
fields = (
@@ -97,8 +114,10 @@ class Meta:
# 'round_name',
'enrollment_id',
'student_id',
+ 'first_attendance_date',
'round',
'partner',
+ 'partner_name',
'language',
'student_outreach_child',
'student_outreach_child_id',
@@ -121,16 +140,19 @@ class Meta:
'owner',
'modified_by',
'governorate',
+ 'governorate_name',
'district',
+ 'district_name',
'location',
'outreach_barcode',
'disability',
'student_family_status',
'student_have_children',
- 'have_labour',
- 'labours',
- 'labour_hours',
+ # 'have_labour',
+ # 'labours',
+ # 'labour_hours',
'hh_educational_level',
+ 'father_educational_level',
'participation',
'barriers',
'learning_result',
@@ -143,6 +165,11 @@ class Meta:
'save',
'comments',
'unsuccessful_posttest_reason',
+ 'unsuccessful_pretest_reason',
+ 'created',
+ 'cycle_completed',
+ 'enrolled_at_school',
+ # 'internal',
)
@@ -159,8 +186,94 @@ class Meta:
fields = CLMSerializer.Meta.fields + (
# 'cycle',
# 'referral',
+ 'have_labour',
+ 'labours',
+ 'labour_hours',
+ 'student_family_status',
+ 'student_have_children',
+ 'phone_number',
+ 'phone_number_confirm',
+ 'id_type',
+ 'case_number',
+ 'case_number_confirm',
+ 'individual_case_number',
+ 'individual_case_number_confirm',
+ 'parent_individual_case_number',
+ 'parent_individual_case_number_confirm',
+ 'recorded_number',
+ 'recorded_number_confirm',
+ 'national_number',
+ 'national_number_confirm',
+ 'syrian_national_number',
+ 'syrian_national_number_confirm',
+ 'sop_national_number',
+ 'sop_national_number_confirm',
+ 'parent_national_number',
+ 'parent_national_number_confirm',
+ 'parent_syrian_national_number',
+ 'parent_syrian_national_number_confirm',
+ 'parent_sop_national_number',
+ 'parent_sop_national_number_confirm',
+ 'no_child_id_confirmation',
+ 'source_of_identification',
+ 'other_nationality',
+ 'education_status',
+ 'caretaker_first_name',
+ 'caretaker_middle_name',
+ 'caretaker_last_name',
+ 'caretaker_mother_name',
+ )
+
+
+class ABLNSerializer(CLMSerializer):
+
+ def create(self, validated_data):
+ return create_instance(validated_data=validated_data, model=self.Meta.model)
+
+ def update(self, instance, validated_data):
+ return update_instance(instance=instance, validated_data=validated_data)
+
+ class Meta:
+ model = ABLN
+ fields = CLMSerializer.Meta.fields + (
+ # 'cycle',
+ # 'referral',
+ 'have_labour',
+ 'labours',
+ 'labour_hours',
'student_family_status',
'student_have_children',
+ 'phone_number',
+ 'phone_number_confirm',
+ 'id_type',
+ 'case_number',
+ 'case_number_confirm',
+ 'individual_case_number',
+ 'individual_case_number_confirm',
+ 'parent_individual_case_number',
+ 'parent_individual_case_number_confirm',
+ 'recorded_number',
+ 'recorded_number_confirm',
+ 'national_number',
+ 'national_number_confirm',
+ 'syrian_national_number',
+ 'syrian_national_number_confirm',
+ 'sop_national_number',
+ 'sop_national_number_confirm',
+ 'parent_national_number',
+ 'parent_national_number_confirm',
+ 'parent_syrian_national_number',
+ 'parent_syrian_national_number_confirm',
+ 'parent_sop_national_number',
+ 'parent_sop_national_number_confirm',
+ 'no_child_id_confirmation',
+ 'source_of_identification',
+ 'other_nationality',
+ 'education_status',
+ 'caretaker_first_name',
+ 'caretaker_middle_name',
+ 'caretaker_last_name',
+ 'caretaker_mother_name',
)
@@ -182,6 +295,9 @@ class Meta:
'grade',
'section',
'referral',
+ 'have_labour',
+ 'labours',
+ 'labour_hours',
'registered_in_school',
'student_family_status',
'student_have_children',
diff --git a/student_registration/clm/tables.py b/student_registration/clm/tables.py
index 116a4bd6e..a5703df14 100644
--- a/student_registration/clm/tables.py
+++ b/student_registration/clm/tables.py
@@ -2,7 +2,7 @@
import django_tables2 as tables
from django.utils.translation import ugettext as _
-from .models import CLM, BLN, RS, CBECE
+from .models import CLM, BLN, ABLN, RS, CBECE
class BootstrapTable(tables.Table):
@@ -21,12 +21,6 @@ class CommonTable(tables.Table):
delete_column = tables.TemplateColumn(verbose_name=_('Delete student'),
template_name='django_tables2/delete_column.html',
attrs={'url': ''})
- # pre_assessment = tables.TemplateColumn(verbose_name=_('Pre-assessment'),
- # template_name='django_tables2/clm_pre_assessment.html',
- # attrs={'url': ''})
- # post_assessment = tables.TemplateColumn(verbose_name=_('Post-assessment'),
- # template_name='django_tables2/clm_post_assessment.html',
- # attrs={'url': ''})
student_age = tables.Column(verbose_name=_('Age'), accessor='student.age')
student_birthday = tables.Column(verbose_name=_('Birthday'), accessor='student.birthday')
@@ -43,27 +37,35 @@ class Meta:
class BLNTable(CommonTable):
edit_column = tables.TemplateColumn(verbose_name=_('Edit student'), orderable=False,
- template_name='django_tables2/edit_column.html',
- attrs={'url': '/clm/bln-edit/'})
+ template_name='django_tables2/clm_edit_column.html',
+ attrs={'url': '/clm/bln-edit/', 'programme': 'BLN'})
delete_column = tables.TemplateColumn(verbose_name=_('Delete student'), orderable=False,
- template_name='django_tables2/delete_column.html',
- attrs={'url': '/api/clm-bln/'})
- #
- # pre_assessment_result = tables.Column(verbose_name=_('Academic Result - Pre'), orderable=False,
- # accessor='pre_test_score')
- # post_assessment_result = tables.Column(verbose_name=_('Academic Result - Post'), orderable=False,
- # accessor='post_test_score')
- #
- arabic_improvement = tables.Column(verbose_name=_('Arabic - Improvement'), orderable=False,
+ template_name='django_tables2/clm_delete_column.html',
+ attrs={'url': '/api/clm-bln/', 'programme': 'BLN'})
+ referral_column = tables.TemplateColumn(verbose_name=_('refer'), orderable=False,
+ template_name='django_tables2/clm_referral_column.html',
+ attrs={'url': '/clm/bln-referral/', 'programme': 'BLN'})
+ followup_column = tables.TemplateColumn(verbose_name=_('Follow-up'), orderable=False,
+ template_name='django_tables2/clm_followup_column.html',
+ attrs={'url': '/clm/bln-followup/', 'programme': 'BLN'})
+ re_enroll_column = tables.TemplateColumn(verbose_name=_('Re-enroll'), orderable=False,
+ template_name='django_tables2/clm_re_enroll_column.html',
+ attrs={'url': '/clm/bln-add/', 'programme': 'BLN'})
+ post_assessment_column = tables.TemplateColumn(verbose_name=_('Post-Assessment'), orderable=False,
+ template_name='django_tables2/clm_assessment_column.html',
+ attrs={'url': '/clm/bln-post-assessment/', 'programme': 'BLN'})
+ arabic_improvement = tables.Column(verbose_name=_('Arabic Language Development - Improvement'), orderable=False,
accessor='arabic_improvement')
- # english_improvement = tables.Column(verbose_name=_('English - Improvement'), orderable=False,
- # accessor='english_improvement')
- # french_improvement = tables.Column(verbose_name=_('French - Improvement'), orderable=False,
- # accessor='french_improvement')
- foreign_language_improvement = tables.Column(verbose_name=_('Foreign language - Improvement'), orderable=False,
+ foreign_language_improvement = tables.Column(verbose_name=_('Foreign Language Development - Improvement'), orderable=False,
accessor='foreign_language_improvement')
- math_improvement = tables.Column(verbose_name=_('Math - Improvement'), orderable=False,
+ math_improvement = tables.Column(verbose_name=_('Cognitive Development - Mathematics - Improvement'), orderable=False,
accessor='math_improvement')
+ social_emotional_improvement = tables.Column(verbose_name=_('Social-Emotional Development - Improvement'), orderable=False,
+ accessor='arabic_improvement')
+ psychomotor_improvement = tables.Column(verbose_name=_('Psychomotor Development for children with special needs - Improvement'),
+ orderable=False, accessor='arabic_improvement')
+ artistic_improvement = tables.Column(verbose_name=_('Artistic Development - Improvement'), orderable=False,
+ accessor='arabic_improvement')
assessment_improvement = tables.Column(verbose_name=_('Assessment Result - Improvement'), orderable=False,
accessor='assessment_improvement')
@@ -72,13 +74,19 @@ class Meta:
model = BLN
fields = (
'edit_column',
+ 'post_assessment_column',
'delete_column',
+ 'referral_column',
+ 'followup_column',
+ 're_enroll_column',
+ 'first_attendance_date',
'round',
# 'cycle',
'governorate',
'district',
'internal_number',
- 'student.id_number',
+ # 'student.id_number',
+ 'student.number',
'student.first_name',
'student.father_name',
'student.last_name',
@@ -87,14 +95,87 @@ class Meta:
'student_birthday',
'student.nationality',
'student.mother_fullname',
- # 'pre_assessment_result',
- # 'post_assessment_result',
'arabic_improvement',
- # 'english_improvement',
- # 'french_improvement',
'foreign_language_improvement',
'math_improvement',
+ 'social_emotional_improvement',
+ 'psychomotor_improvement',
+ 'artistic_improvement',
+ 'assessment_improvement',
+ 'unsuccessful_pretest_reason',
+ 'unsuccessful_posttest_reason',
+ 'participation',
+ 'learning_result',
+ 'owner',
+ 'modified_by',
+ 'created',
+ 'modified',
+ 'comments',
+ )
+
+
+class ABLNTable(CommonTable):
+
+ edit_column = tables.TemplateColumn(verbose_name=_('Edit student'), orderable=False,
+ template_name='django_tables2/clm_edit_column.html',
+ attrs={'url': '/clm/abln-edit/', 'programme': 'ABLN'})
+ delete_column = tables.TemplateColumn(verbose_name=_('Delete student'), orderable=False,
+ template_name='django_tables2/clm_delete_column.html',
+ attrs={'url': '/api/clm-abln/', 'programme': 'ABLN'})
+ referral_column = tables.TemplateColumn(verbose_name=_('refer'), orderable=False,
+ template_name='django_tables2/clm_referral_column.html',
+ attrs={'url': '/clm/abln-referral/', 'programme': 'ABLN'})
+ followup_column = tables.TemplateColumn(verbose_name=_('Follow-up'), orderable=False,
+ template_name='django_tables2/clm_followup_column.html',
+ attrs={'url': '/clm/abln-followup/', 'programme': 'ABLN'})
+ post_assessment_column = tables.TemplateColumn(verbose_name=_('Post-Assessment'), orderable=False,
+ template_name='django_tables2/clm_assessment_column.html',
+ attrs={'url': '/clm/abln-post-assessment/', 'programme': 'ABLN'})
+ arabic_improvement = tables.Column(verbose_name=_('Arabic Language Development - Improvement'), orderable=False,
+ accessor='arabic_improvement')
+ math_improvement = tables.Column(verbose_name=_('Cognitive Development - Mathematics - Improvement'), orderable=False,
+ accessor='math_improvement')
+ social_emotional_improvement = tables.Column(verbose_name=_('Social-Emotional Development - Improvement'), orderable=False,
+ accessor='arabic_improvement')
+ psychomotor_improvement = tables.Column(verbose_name=_('Psychomotor Development for children with special needs - Improvement'),
+ orderable=False, accessor='arabic_improvement')
+ artistic_improvement = tables.Column(verbose_name=_('Artistic Development - Improvement'), orderable=False,
+ accessor='arabic_improvement')
+
+ assessment_improvement = tables.Column(verbose_name=_('Assessment Result - Improvement'), orderable=False,
+ accessor='assessment_improvement')
+
+ class Meta:
+ model = ABLN
+ fields = (
+ 'edit_column',
+ 'post_assessment_column',
+ 'delete_column',
+ 'referral_column',
+ 'followup_column',
+ 'first_attendance_date',
+ 'round',
+ # 'cycle',
+ 'governorate',
+ 'district',
+ 'internal_number',
+ # 'student.id_number',
+ 'student.number',
+ 'student.first_name',
+ 'student.father_name',
+ 'student.last_name',
+ 'student.sex',
+ 'student_age',
+ 'student_birthday',
+ 'student.nationality',
+ 'student.mother_fullname',
+ 'arabic_improvement',
+ 'math_improvement',
+ 'social_emotional_improvement',
+ 'psychomotor_improvement',
+ 'artistic_improvement',
'assessment_improvement',
+ 'unsuccessful_pretest_reason',
'unsuccessful_posttest_reason',
'participation',
'learning_result',
@@ -110,10 +191,10 @@ class RSTable(CommonTable):
edit_column = tables.TemplateColumn(verbose_name=_('Edit student'), orderable=False,
template_name='django_tables2/edit_column.html',
- attrs={'url': '/clm/rs-edit/'})
+ attrs={'url': '/clm/rs-edit/', 'programme': 'RS'})
delete_column = tables.TemplateColumn(verbose_name=_('Delete student'), orderable=False,
template_name='django_tables2/delete_column.html',
- attrs={'url': '/api/clm-rs/'})
+ attrs={'url': '/api/clm-rs/', 'programme': 'RS'})
# Arabic reading result
arabic_reading_improvement = tables.Column(verbose_name=_('Arabic Reading - Improvement'), orderable=False,
@@ -176,6 +257,7 @@ class Meta:
'district',
'internal_number',
'student.id_number',
+ 'student.number',
'student.first_name',
'student.father_name',
'student.last_name',
@@ -207,6 +289,7 @@ class Meta:
'self_pre_assessment',
'self_post_assessment',
'self_assessment_improvement',
+ 'unsuccessful_pretest_reason',
'unsuccessful_posttest_reason',
'participation',
'learning_result',
@@ -221,11 +304,21 @@ class Meta:
class CBECETable(CommonTable):
edit_column = tables.TemplateColumn(verbose_name=_('Edit student'), orderable=False,
- template_name='django_tables2/edit_column.html',
- attrs={'url': '/clm/cbece-edit/'})
+ template_name='django_tables2/clm_edit_column.html',
+ attrs={'url': '/clm/cbece-edit/', 'programme': 'CBECE'})
delete_column = tables.TemplateColumn(verbose_name=_('Delete student'), orderable=False,
- template_name='django_tables2/delete_column.html',
- attrs={'url': '/api/clm-cbece/'})
+ template_name='django_tables2/clm_delete_column.html',
+ attrs={'url': '/api/clm-cbece/', 'programme': 'CBECE'})
+ referral_column = tables.TemplateColumn(verbose_name=_('refer'), orderable=False,
+ template_name='django_tables2/clm_referral_column.html',
+ attrs={'url': '/clm/cbece-referral/', 'programme': 'CBECE'})
+ followup_column = tables.TemplateColumn(verbose_name=_('Follow-up'), orderable=False,
+ template_name='django_tables2/clm_followup_column.html',
+ attrs={'url': '/clm/cbece-followup/', 'programme': 'CBECE'})
+
+ post_assessment_column = tables.TemplateColumn(verbose_name=_('Post-Assessment'), orderable=False,
+ template_name='django_tables2/clm_assessment_column.html',
+ attrs={'url': '/clm/cbece-post-assessment/', 'programme': 'CBECE'})
pre_assessment_result = tables.Column(verbose_name=_('Assessment Result - Pre'), orderable=False,
accessor='pre_test_score')
@@ -235,23 +328,27 @@ class CBECETable(CommonTable):
assessment_improvement = tables.Column(verbose_name=_('Assessment Result - Improvement'), orderable=False,
accessor='assessment_improvement')
- art_improvement = tables.Column(verbose_name=_('Language Art Domain - Improvement'), orderable=False,
+ art_improvement = tables.Column(verbose_name=_('Language Development - Improvement'), orderable=False,
accessor='art_improvement')
- cognitive_improvement = tables.Column(verbose_name=_('Cognitive Domain - Improvement'), orderable=False,
+ cognitive_improvement = tables.Column(verbose_name=_('Cognitive Development - Mathematics - Improvement'), orderable=False,
accessor='cognitive_improvement')
- science_improvement = tables.Column(verbose_name=_('Cognitive domain Science - Improvement'), orderable=False,
+ science_improvement = tables.Column(verbose_name=_('Cognitive Development - Science - Improvement'), orderable=False,
accessor='science_improvement')
- social_improvement = tables.Column(verbose_name=_('Social Emotional Domain - Improvement'), orderable=False,
+ social_improvement = tables.Column(verbose_name=_('Social-Emotional Development - Improvement'), orderable=False,
accessor='social_improvement')
- psycho_improvement = tables.Column(verbose_name=_('Psychomotor Domain - Improvement'), orderable=False,
+ psycho_improvement = tables.Column(verbose_name=_('Psychomotor Development - Improvement'), orderable=False,
accessor='psycho_improvement')
- artistic_improvement = tables.Column(verbose_name=_('Artistic Domain - Improvement'), orderable=False,
+ artistic_improvement = tables.Column(verbose_name=_('Artistic Development - Improvement'), orderable=False,
accessor='artistic_improvement')
class Meta:
model = CBECE
fields = (
'edit_column',
+ 'referral_column',
+ 'followup_column',
+ 'first_attendance_date',
+ 'post_assessment_column',
'delete_column',
'round',
'cycle',
@@ -260,7 +357,8 @@ class Meta:
'governorate',
'district',
'internal_number',
- 'student.id_number',
+ # 'student.id_number',
+ 'student.number',
'student.first_name',
'student.father_name',
'student.last_name',
@@ -279,6 +377,7 @@ class Meta:
'psycho_improvement',
'artistic_improvement',
'final_grade',
+ 'unsuccessful_pretest_reason',
'unsuccessful_posttest_reason',
'participation',
'learning_result',
diff --git a/student_registration/clm/urls.py b/student_registration/clm/urls.py
index 76118ac8a..2bc3b29a5 100644
--- a/student_registration/clm/urls.py
+++ b/student_registration/clm/urls.py
@@ -56,7 +56,16 @@
view=views.BLNListView.as_view(),
name='bln_list'
),
-
+ url(
+ regex=r'^bln-referral/(?P[\w.@+-]+)/$',
+ view=views.BLNReferralView.as_view(),
+ name='bln_referral'
+ ),
+ url(
+ regex=r'^bln-followup/(?P[\w.@+-]+)/$',
+ view=views.BLNFollowupView.as_view(),
+ name='bln_followup'
+ ),
url(
regex=r'^rs-add/$',
view=views.RSAddView.as_view(),
@@ -98,4 +107,75 @@
view=views.CBECEListView.as_view(),
name='cbece_list'
),
+
+ url(
+ regex=r'^abln-add/$',
+ view=views.ABLNAddView.as_view(),
+ name='abln_add'
+ ),
+ url(
+ regex=r'^abln-edit/(?P[\w.@+-]+)/$',
+ view=views.ABLNEditView.as_view(),
+ name='abln_edit'
+ ),
+ url(
+ regex=r'^abln-export/$',
+ view=views.ABLNExportViewSet.as_view(),
+ name='abln_export'
+ ),
+ url(
+ regex=r'^abln-list/$',
+ view=views.ABLNListView.as_view(),
+ name='abln_list'
+ ),
+ url(
+ regex=r'^abln-referral/(?P[\w.@+-]+)/$',
+ view=views.ABLNReferralView.as_view(),
+ name='abln_referral'
+ ),
+ url(
+ regex=r'^abln-followup/(?P[\w.@+-]+)/$',
+ view=views.ABLNFollowupView.as_view(),
+ name='abln_followup'
+ ),
+ url(
+ regex=r'^abln-post-assessment/(?P[\w.@+-]+)/$',
+ view=views.ABLNPostAssessmentView.as_view(),
+ name='abln_post_assessment'
+ ),
+ url(
+ regex=r'^bln-post-assessment/(?P[\w.@+-]+)/$',
+ view=views.BLNPostAssessmentView.as_view(),
+ name='bln_post_assessment'
+ ),
+ url(
+ regex=r'^cbece-post-assessment/(?P[\w.@+-]+)/$',
+ view=views.CBECEPostAssessmentView.as_view(),
+ name='cbece_post_assessment'
+ ),
+ url(
+ regex=r'^cbece-referral/(?P[\w.@+-]+)/$',
+ view=views.CBECEReferralView.as_view(),
+ name='cbece_referral'
+ ),
+ url(
+ regex=r'^cbece-followup/(?P[\w.@+-]+)/$',
+ view=views.CBECEFollowupView.as_view(),
+ name='cbece_followup'
+ ),
+ url(
+ 'load-districts/$',
+ views.load_districts,
+ name='load_districts'
+ ),
+ url(
+ 'search-clm-child/$',
+ views.search_clm_child,
+ name='search_clm_child'
+ ),
+ url(
+ regex=r'^exec-abln-update/$',
+ view=views.ExecABLNUpdateView.as_view(),
+ name='exec_abln_update'
+ ),
]
diff --git a/student_registration/clm/utils.py b/student_registration/clm/utils.py
new file mode 100644
index 000000000..9272ca06d
--- /dev/null
+++ b/student_registration/clm/utils.py
@@ -0,0 +1,61 @@
+from datetime import date
+
+
+def is_allowed_create(programme):
+ from student_registration.schools.models import CLMRound
+
+ try:
+ current = date.today()
+ current_round = CLMRound.objects.all()
+
+ if programme == 'BLN':
+ current_round = current_round.get(current_round_bln=True)
+ if current_round.start_date_bln < current < current_round.end_date_bln:
+ return True
+ return False
+
+ if programme == 'ABLN':
+ current_round = current_round.get(current_round_abln=True)
+ if current_round.start_date_abln < current < current_round.end_date_abln:
+ return True
+ return False
+
+ if programme == 'CBECE':
+ current_round = current_round.get(current_round_cbece=True)
+ if current_round.start_date_cbece < current < current_round.end_date_cbece:
+ return True
+ return False
+
+ except Exception as ex:
+ print(ex.message)
+ return False
+
+
+def is_allowed_edit(programme):
+ from student_registration.schools.models import CLMRound
+
+ try:
+ current = date.today()
+ current_round = CLMRound.objects.all()
+
+ if programme == 'BLN':
+ current_round = current_round.get(current_round_bln=True)
+ if current_round.start_date_bln_edit < current < current_round.end_date_bln_edit:
+ return True
+ return False
+
+ if programme == 'ABLN':
+ current_round = current_round.get(current_round_abln=True)
+ if current_round.start_date_abln_edit < current < current_round.end_date_abln_edit:
+ return True
+ return False
+
+ if programme == 'CBECE':
+ current_round = current_round.get(current_round_cbece=True)
+ if current_round.start_date_cbece_edit < current < current_round.end_date_cbece_edit:
+ return True
+ return False
+
+ except Exception as ex:
+ print(ex.message)
+ return False
diff --git a/student_registration/clm/views.py b/student_registration/clm/views.py
index 91766403b..07c467b97 100644
--- a/student_registration/clm/views.py
+++ b/student_registration/clm/views.py
@@ -5,12 +5,13 @@
from django.views.generic import ListView, FormView, TemplateView, UpdateView, View
from django.contrib.auth.mixins import LoginRequiredMixin
-from django.http import HttpResponse, JsonResponse, HttpResponseBadRequest
+from django.http import HttpResponse, JsonResponse, HttpResponseBadRequest, HttpResponseForbidden
from django.utils.decorators import method_decorator
from django.views.decorators.csrf import csrf_exempt
from django.views.generic.detail import SingleObjectMixin
from django.db.models import Q, Sum, Avg, F, Func
from django.db.models.expressions import RawSQL
+from django.core.urlresolvers import reverse
from rest_framework import status
from rest_framework import viewsets, mixins, permissions
@@ -26,11 +27,26 @@
from student_registration.outreach.serializers import ChildSerializer
from student_registration.schools.models import CLMRound
from student_registration.locations.models import Location
-from .filters import BLNFilter, RSFilter, CBECEFilter
-from .tables import BootstrapTable, BLNTable, RSTable, CBECETable
-from .models import BLN, RS, CBECE, SelfPerceptionGrades
-from .forms import BLNForm, RSForm, CBECEForm
-from .serializers import BLNSerializer, RSSerializer, CBECESerializer, SelfPerceptionGradesSerializer
+from .filters import BLNFilter, ABLNFilter, RSFilter, CBECEFilter
+from .tables import BootstrapTable, BLNTable, ABLNTable, RSTable, CBECETable
+from .models import BLN, ABLN, RS, CBECE, SelfPerceptionGrades, Disability, Assessment
+from .forms import (
+ BLNForm,
+ ABLNForm,
+ RSForm,
+ CBECEForm,
+ BLNReferralForm,
+ BLNFollowupForm,
+ ABLNReferralForm,
+ ABLNFollowupForm,
+ BLNAssessmentForm,
+ ABLNAssessmentForm,
+ CBECEAssessmentForm,
+ CBECEFollowupForm,
+ CBECEReferralForm,
+)
+from .serializers import BLNSerializer, ABLNSerializer, RSSerializer, CBECESerializer, SelfPerceptionGradesSerializer
+from .utils import is_allowed_create, is_allowed_edit
class CLMView(LoginRequiredMixin,
@@ -46,11 +62,25 @@ def get_context_data(self, **kwargs):
return {}
+def assessment_form(instance_id, stage, enrollment_model, assessment_slug, callback=''):
+ try:
+ assessment = Assessment.objects.get(slug=assessment_slug)
+ return '{form}?d[status]={status}&d[enrollment_id]={enrollment_id}&d[enrollment_model]={enrollment_model}&returnURL={callback}'.format(
+ form=assessment.assessment_form,
+ status=stage,
+ enrollment_model=enrollment_model,
+ enrollment_id=instance_id,
+ callback=callback
+ )
+ except Assessment.DoesNotExist:
+ return ''
+
+
class BLNAddView(LoginRequiredMixin,
GroupRequiredMixin,
FormView):
- template_name = 'clm/common_form.html'
+ template_name = 'clm/create_form.html'
form_class = BLNForm
success_url = '/clm/bln-list/'
group_required = [u"CLM_BLN"]
@@ -58,6 +88,16 @@ class BLNAddView(LoginRequiredMixin,
def get_success_url(self):
if self.request.POST.get('save_add_another', None):
return '/clm/bln-add/'
+ if self.request.POST.get('save_and_continue', None):
+ return '/clm/bln-edit/' + str(self.request.session.get('instance_id')) + '/'
+ if self.request.POST.get('save_and_pretest', None):
+ return assessment_form(
+ instance_id=self.request.session.get('instance_id'),
+ stage='pre_test',
+ enrollment_model='BLN',
+ assessment_slug='bln_pre_test',
+ callback=self.request.build_absolute_uri(reverse('clm:bln_edit',
+ kwargs={'pk': self.request.session.get('instance_id')})))
return self.success_url
def get_context_data(self, **kwargs):
@@ -65,6 +105,7 @@ def get_context_data(self, **kwargs):
"""Insert the form into the context dict."""
if 'form' not in kwargs:
kwargs['form'] = self.get_form()
+ kwargs['is_allowed_create'] = is_allowed_create('BLN')
return super(BLNAddView, self).get_context_data(**kwargs)
def get_initial(self):
@@ -100,7 +141,7 @@ class BLNEditView(LoginRequiredMixin,
GroupRequiredMixin,
FormView):
- template_name = 'clm/common_form.html'
+ template_name = 'clm/edit_form.html'
form_class = BLNForm
success_url = '/clm/bln-list/'
group_required = [u"CLM_BLN"]
@@ -108,6 +149,16 @@ class BLNEditView(LoginRequiredMixin,
def get_success_url(self):
if self.request.POST.get('save_add_another', None):
return '/clm/bln-add/'
+ if self.request.POST.get('save_and_continue', None):
+ return '/clm/bln-edit/' + str(self.request.session.get('instance_id')) + '/'
+ if self.request.POST.get('save_and_pretest', None):
+ return assessment_form(
+ instance_id=self.request.session.get('instance_id'),
+ stage='pre_test',
+ enrollment_model='BLN',
+ assessment_slug='bln_pre_test',
+ callback=self.request.build_absolute_uri(reverse('clm:bln_edit',
+ kwargs={'pk': self.request.session.get('instance_id')})))
return self.success_url
def get_context_data(self, **kwargs):
@@ -115,6 +166,7 @@ def get_context_data(self, **kwargs):
"""Insert the form into the context dict."""
if 'form' not in kwargs:
kwargs['form'] = self.get_form()
+ kwargs['is_allowed_edit'] = is_allowed_edit('BLN')
return super(BLNEditView, self).get_context_data(**kwargs)
def get_form(self, form_class=None):
@@ -149,11 +201,16 @@ def post(self, request, *args, **kwargs):
status = payload['status']
enrollment_id = payload['enrollment_id']
model = payload['enrollment_model']
+ static_model_value = payload['static_model_value'] if 'static_model_value' in payload else ''
- if model == 'BLN':
+ if model == 'BLN' or 'BLN_ASSESSMENT/arabic' in payload:
enrollment = BLN.objects.get(id=int(enrollment_id))
- elif model == 'RS':
- enrollment = RS.objects.get(id=int(enrollment_id))
+ elif model == 'ABLN' or 'ABLN_ASSESSMENT/arabic' in payload:
+ enrollment = ABLN.objects.get(id=int(enrollment_id))
+ elif model == 'CBECE':
+ enrollment = CBECE.objects.get(id=int(enrollment_id))
+ # elif model == 'RS':
+ # enrollment = RS.objects.get(id=int(enrollment_id))
else:
enrollment = CBECE.objects.get(id=int(enrollment_id))
@@ -185,6 +242,66 @@ def get_queryset(self):
return BLN.objects.filter(partner=self.request.user.partner_id)
+class BLNReferralView(LoginRequiredMixin,
+ GroupRequiredMixin,
+ FormView):
+
+ template_name = 'clm/bln_referral.html'
+ form_class = BLNReferralForm
+ success_url = '/clm/bln-list/'
+ group_required = [u"CLM_BLN"]
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(BLNReferralView, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ form_class = self.get_form_class()
+ instance = BLN.objects.get(id=self.kwargs['pk'], partner=self.request.user.partner_id)
+ if self.request.method == "POST":
+ return form_class(self.request.POST, instance=instance)
+ else:
+ return form_class(instance=instance)
+
+ def form_valid(self, form):
+ instance = BLN.objects.get(id=self.kwargs['pk'], partner=self.request.user.partner_id)
+ form.save(request=self.request, instance=instance)
+ return super(BLNReferralView, self).form_valid(form)
+
+
+class BLNFollowupView(LoginRequiredMixin,
+ GroupRequiredMixin,
+ FormView):
+
+ template_name = 'clm/bln_followup.html'
+ form_class = BLNFollowupForm
+ success_url = '/clm/bln-list/'
+ group_required = [u"CLM_BLN"]
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(BLNFollowupView, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ form_class = self.get_form_class()
+ instance = BLN.objects.get(id=self.kwargs['pk'], partner=self.request.user.partner_id)
+ if self.request.method == "POST":
+ return form_class(self.request.POST, instance=instance)
+ else:
+ return form_class(instance=instance)
+
+ def form_valid(self, form):
+ instance = BLN.objects.get(id=self.kwargs['pk'], partner=self.request.user.partner_id)
+ form.save(request=self.request, instance=instance)
+ return super(BLNFollowupView, self).form_valid(form)
+
+
class BLNDashboardView(LoginRequiredMixin,
GroupRequiredMixin,
TemplateView):
@@ -279,6 +396,284 @@ def get_context_data(self, **kwargs):
}
+class ABLNAddView(LoginRequiredMixin,
+ GroupRequiredMixin,
+ FormView):
+
+ template_name = 'clm/create_form.html'
+ form_class = ABLNForm
+ success_url = '/clm/abln-list/'
+ group_required = [u"CLM_ABLN"]
+
+ def get_success_url(self):
+ if self.request.POST.get('save_add_another', None):
+ return '/clm/abln-add/'
+ if self.request.POST.get('save_and_continue', None):
+ return '/clm/abln-edit/' + str(self.request.session.get('instance_id')) + '/'
+ if self.request.POST.get('save_and_pretest', None):
+ return assessment_form(
+ instance_id=self.request.session.get('instance_id'),
+ stage='pre_test',
+ enrollment_model='ABLN',
+ assessment_slug='abln_pre_test',
+ callback=self.request.build_absolute_uri(reverse('clm:abln_edit',
+ kwargs={'pk': self.request.session.get('instance_id')})))
+ return self.success_url
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ kwargs['is_allowed_create'] = is_allowed_create('ABLN')
+ return super(ABLNAddView, self).get_context_data(**kwargs)
+
+ def get_initial(self):
+ initial = super(ABLNAddView, self).get_initial()
+ data = {
+ 'new_registry': self.request.GET.get('new_registry', ''),
+ 'student_outreached': self.request.GET.get('student_outreached', ''),
+ 'have_barcode': self.request.GET.get('have_barcode', '')
+ }
+ if self.request.GET.get('enrollment_id'):
+ instance = ABLN.objects.get(id=self.request.GET.get('enrollment_id'))
+ data = ABLNSerializer(instance).data
+ data['student_nationality'] = data['student_nationality_id']
+ data['learning_result'] = ''
+
+ if self.request.GET.get('child_id'):
+ instance = Child.objects.get(id=int(self.request.GET.get('child_id')))
+ data = ChildSerializer(instance).data
+ if data:
+ data['new_registry'] = self.request.GET.get('new_registry', '')
+ data['student_outreached'] = self.request.GET.get('student_outreached', '')
+ data['have_barcode'] = self.request.GET.get('have_barcode', '')
+ initial = data
+
+ return initial
+
+ def form_valid(self, form):
+ form.save(self.request)
+ return super(ABLNAddView, self).form_valid(form)
+
+
+class ABLNEditView(LoginRequiredMixin,
+ GroupRequiredMixin,
+ FormView):
+
+ template_name = 'clm/edit_form.html'
+ form_class = ABLNForm
+ success_url = '/clm/abln-list/'
+ group_required = [u"CLM_ABLN"]
+
+ def get_success_url(self):
+ if self.request.POST.get('save_add_another', None):
+ return '/clm/abln-add/'
+ if self.request.POST.get('save_and_continue', None):
+ return '/clm/abln-edit/' + str(self.request.session.get('instance_id')) + '/'
+ if self.request.POST.get('save_and_pretest', None):
+ return assessment_form(
+ instance_id=self.request.session.get('instance_id'),
+ stage='pre_test',
+ enrollment_model='ABLN',
+ assessment_slug='abln_pre_test',
+ callback=self.request.build_absolute_uri(reverse('clm:abln_edit',
+ kwargs={'pk': self.request.session.get('instance_id')})))
+ return self.success_url
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ kwargs['is_allowed_edit'] = is_allowed_edit('ABLN')
+ return super(ABLNEditView, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ instance = ABLN.objects.get(id=self.kwargs['pk'])
+ if self.request.method == "POST":
+ return ABLNForm(self.request.POST, instance=instance, request=self.request)
+ else:
+ data = ABLNSerializer(instance).data
+ data['student_nationality'] = data['student_nationality_id']
+ return ABLNForm(data, instance=instance, request=self.request)
+
+ def form_valid(self, form):
+ instance = ABLN.objects.get(id=self.kwargs['pk'])
+ form.save(request=self.request, instance=instance)
+ return super(ABLNEditView, self).form_valid(form)
+
+
+class ABLNListView(LoginRequiredMixin,
+ GroupRequiredMixin,
+ FilterView,
+ ExportMixin,
+ SingleTableView,
+ RequestConfig):
+
+ table_class = ABLNTable
+ model = ABLN
+ template_name = 'clm/abln_list.html'
+ table = BootstrapTable(ABLN.objects.all(), order_by='id')
+ group_required = [u"CLM_ABLN"]
+
+ filterset_class = ABLNFilter
+
+ def get_queryset(self):
+ force_default_language(self.request)
+ return ABLN.objects.filter(partner=self.request.user.partner_id)
+
+
+class ABLNReferralView(LoginRequiredMixin,
+ GroupRequiredMixin,
+ FormView):
+
+ template_name = 'clm/abln_referral.html'
+ form_class = ABLNReferralForm
+ success_url = '/clm/abln-list/'
+ group_required = [u"CLM_ABLN"]
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(ABLNReferralView, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ form_class = self.get_form_class()
+ instance = ABLN.objects.get(id=self.kwargs['pk'], partner=self.request.user.partner_id)
+ if self.request.method == "POST":
+ return form_class(self.request.POST, instance=instance)
+ else:
+ return form_class(instance=instance)
+
+ def form_valid(self, form):
+ instance = ABLN.objects.get(id=self.kwargs['pk'], partner=self.request.user.partner_id)
+ form.save(request=self.request, instance=instance)
+ return super(ABLNReferralView, self).form_valid(form)
+
+
+class ABLNPostAssessmentView(LoginRequiredMixin,
+ GroupRequiredMixin,
+ FormView):
+
+ template_name = 'clm/abln_post_assessment.html'
+ form_class = ABLNAssessmentForm
+ success_url = '/clm/abln-list/'
+ group_required = [u"CLM_ABLN"]
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(ABLNPostAssessmentView, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ form_class = self.get_form_class()
+ instance = ABLN.objects.get(id=self.kwargs['pk'], partner=self.request.user.partner_id)
+ if self.request.method == "POST":
+ return form_class(self.request.POST, instance=instance, request=self.request)
+ else:
+ return form_class(instance=instance, request=self.request)
+
+ def form_valid(self, form):
+ instance = ABLN.objects.get(id=self.kwargs['pk'], partner=self.request.user.partner_id)
+ form.save(request=self.request, instance=instance)
+ return super(ABLNPostAssessmentView, self).form_valid(form)
+
+
+class BLNPostAssessmentView(LoginRequiredMixin,
+ GroupRequiredMixin,
+ FormView):
+
+ template_name = 'clm/bln_post_assessment.html'
+ form_class = BLNAssessmentForm
+ success_url = '/clm/bln-list/'
+ group_required = [u"CLM_BLN"]
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(BLNPostAssessmentView, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ form_class = self.get_form_class()
+ instance = BLN.objects.get(id=self.kwargs['pk'], partner=self.request.user.partner_id)
+ if self.request.method == "POST":
+ return form_class(self.request.POST, instance=instance, request=self.request)
+ else:
+ return form_class(instance=instance, request=self.request)
+
+ def form_valid(self, form):
+ instance = BLN.objects.get(id=self.kwargs['pk'], partner=self.request.user.partner_id)
+ form.save(request=self.request, instance=instance)
+ return super(BLNPostAssessmentView, self).form_valid(form)
+
+
+class CBECEPostAssessmentView(LoginRequiredMixin,
+ GroupRequiredMixin,
+ FormView):
+
+ template_name = 'clm/cbece_post_assessment.html'
+ form_class = CBECEAssessmentForm
+ success_url = '/clm/cbece-list/'
+ group_required = [u"CLM_CBECE"]
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(CBECEPostAssessmentView, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ form_class = self.get_form_class()
+ instance = CBECE.objects.get(id=self.kwargs['pk'], partner=self.request.user.partner_id)
+ if self.request.method == "POST":
+ return form_class(self.request.POST, instance=instance, request=self.request)
+ else:
+ return form_class(instance=instance, request=self.request)
+
+ def form_valid(self, form):
+ instance = CBECE.objects.get(id=self.kwargs['pk'], partner=self.request.user.partner_id)
+ form.save(request=self.request, instance=instance)
+ return super(CBECEPostAssessmentView, self).form_valid(form)
+
+
+class ABLNFollowupView(LoginRequiredMixin,
+ GroupRequiredMixin,
+ FormView):
+
+ template_name = 'clm/abln_followup.html'
+ form_class = ABLNFollowupForm
+ success_url = '/clm/abln-list/'
+ group_required = [u"CLM_ABLN"]
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(ABLNFollowupView, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ form_class = self.get_form_class()
+ instance = ABLN.objects.get(id=self.kwargs['pk'], partner=self.request.user.partner_id)
+ if self.request.method == "POST":
+ return form_class(self.request.POST, instance=instance)
+ else:
+ return form_class(instance=instance)
+
+ def form_valid(self, form):
+ instance = ABLN.objects.get(id=self.kwargs['pk'], partner=self.request.user.partner_id)
+ form.save(request=self.request, instance=instance)
+ return super(ABLNFollowupView, self).form_valid(form)
+
+
class RSDashboardView(LoginRequiredMixin,
GroupRequiredMixin,
TemplateView):
@@ -294,6 +689,7 @@ def get_context_data(self, **kwargs):
clm_round = self.request.user.partner.rs_round
clm_rounds = CLMRound.objects.all()
governorates = Location.objects.filter(parent__isnull=True)
+ disability = Disability.objects.filter(active=True)
# queryset = self.model.objects.filter(round=clm_round)
queryset = self.model.objects.all()
@@ -312,6 +708,11 @@ def get_context_data(self, **kwargs):
repeat_class_male = repeat_class.filter(student__sex='Male')
repeat_class_female = repeat_class.filter(student__sex='Female')
+ student_male = queryset.filter(student__sex='Male')
+ student_female = queryset.filter(student__sex='Female')
+
+ dis_gov = []
+
for gov in governorates:
total_gov = queryset.filter(governorate=gov).count()
@@ -364,12 +765,30 @@ def get_context_data(self, **kwargs):
'repetition_male': round((float(repeat_class_male_gov) / float(total_gov)) * 100.0, 2) if total_gov else 0.0,
'repetition_female': round((float(repeat_class_female_gov) / float(total_gov)) * 100.0, 2) if total_gov else 0.0,
+
+
+ 'repetition_male1': round((float(repeat_class_male_gov) / float(total_gov)) * 100.0,
+ 2) if total_gov else 0.0,
+ 'repetition_female1': round((float(repeat_class_female_gov) / float(total_gov)) * 100.0,
+ 2) if total_gov else 0.0,
})
+ dis_count = []
+ for dis in disability:
+ dis_count.append({
+ 'student_male_dis': student_male.filter(governorate=gov, disability=dis).count(),
+ 'student_female_dis': student_female.filter(governorate=gov, disability=dis).count(),
+ })
+ dis_gov.append({
+ 'governorate': gov.name,
+ 'dis': dis_count
+ })
return {
'clm_round': clm_round,
'clm_rounds': clm_rounds,
- 'per_gov': per_gov
+ 'per_gov': per_gov,
+ 'disability': disability,
+ 'dis_gov': dis_gov
}
@@ -507,7 +926,7 @@ class RSAddView(LoginRequiredMixin,
GroupRequiredMixin,
FormView):
- template_name = 'clm/common_form.html'
+ template_name = 'clm/create_form.html'
form_class = RSForm
success_url = '/clm/rs-list/'
group_required = [u"CLM_RS"]
@@ -515,6 +934,17 @@ class RSAddView(LoginRequiredMixin,
def get_success_url(self):
if self.request.POST.get('save_add_another', None):
return '/clm/rs-add/'
+ if self.request.POST.get('save_and_continue', None):
+ return '/clm/rs-edit/' + str(self.request.session.get('instance_id')) + '/'
+ if self.request.POST.get('save_and_pretest', None):
+ return assessment_form(
+ instance_id=self.request.session.get('instance_id'),
+ stage='pre_test',
+ enrollment_model='RS',
+ assessment_slug='rs_pre_test',
+ callback=self.request.build_absolute_uri(reverse('clm:rs_edit',
+ kwargs={'pk': self.request.session.get('instance_id')})))
+
return self.success_url
def get_context_data(self, **kwargs):
@@ -522,6 +952,7 @@ def get_context_data(self, **kwargs):
"""Insert the form into the context dict."""
if 'form' not in kwargs:
kwargs['form'] = self.get_form()
+ kwargs['is_allowed_create'] = True
return super(RSAddView, self).get_context_data(**kwargs)
def get_initial(self):
@@ -566,7 +997,7 @@ class RSEditView(LoginRequiredMixin,
GroupRequiredMixin,
FormView):
- template_name = 'clm/common_form.html'
+ template_name = 'clm/edit_form.html'
form_class = RSForm
success_url = '/clm/rs-list/'
group_required = [u"CLM_RS"]
@@ -574,6 +1005,8 @@ class RSEditView(LoginRequiredMixin,
def get_success_url(self):
if self.request.POST.get('save_add_another', None):
return '/clm/rs-add/'
+ if self.request.POST.get('save_and_continue', None):
+ return '/clm/rs-edit/' + str(self.request.session.get('instance_id')) + '/'
return self.success_url
def get_context_data(self, **kwargs):
@@ -581,6 +1014,7 @@ def get_context_data(self, **kwargs):
"""Insert the form into the context dict."""
if 'form' not in kwargs:
kwargs['form'] = self.get_form()
+ kwargs['is_allowed_edit'] = True
return super(RSEditView, self).get_context_data(**kwargs)
def get_form(self, form_class=None):
@@ -622,7 +1056,7 @@ class CBECEAddView(LoginRequiredMixin,
GroupRequiredMixin,
FormView):
- template_name = 'clm/common_form.html'
+ template_name = 'clm/create_form.html'
form_class = CBECEForm
success_url = '/clm/cbece-list/'
group_required = [u"CLM_CBECE"]
@@ -630,6 +1064,16 @@ class CBECEAddView(LoginRequiredMixin,
def get_success_url(self):
if self.request.POST.get('save_add_another', None):
return '/clm/cbece-add/'
+ if self.request.POST.get('save_and_continue', None):
+ return '/clm/cbece-edit/' + str(self.request.session.get('instance_id')) + '/'
+ if self.request.POST.get('save_and_pretest', None):
+ return assessment_form(
+ instance_id=self.request.session.get('instance_id'),
+ stage='pre_test',
+ enrollment_model='CBECE',
+ assessment_slug='cbece_pre_test',
+ callback=self.request.build_absolute_uri(reverse('clm:cbece_edit',
+ kwargs={'pk': self.request.session.get('instance_id')})))
return self.success_url
def get_context_data(self, **kwargs):
@@ -637,6 +1081,7 @@ def get_context_data(self, **kwargs):
"""Insert the form into the context dict."""
if 'form' not in kwargs:
kwargs['form'] = self.get_form()
+ kwargs['is_allowed_create'] = is_allowed_create('CBECE')
return super(CBECEAddView, self).get_context_data(**kwargs)
def get_initial(self):
@@ -672,7 +1117,7 @@ class CBECEEditView(LoginRequiredMixin,
GroupRequiredMixin,
FormView):
- template_name = 'clm/common_form.html'
+ template_name = 'clm/edit_form.html'
form_class = CBECEForm
success_url = '/clm/cbece-list/'
group_required = [u"CLM_CBECE"]
@@ -680,6 +1125,16 @@ class CBECEEditView(LoginRequiredMixin,
def get_success_url(self):
if self.request.POST.get('save_add_another', None):
return '/clm/cbece-add/'
+ if self.request.POST.get('save_and_continue', None):
+ return '/clm/cbece-edit/' + str(self.request.session.get('instance_id')) + '/'
+ if self.request.POST.get('save_and_pretest', None):
+ return assessment_form(
+ instance_id=self.request.session.get('instance_id'),
+ stage='pre_test',
+ enrollment_model='CBECE',
+ assessment_slug='cbece_pre_test',
+ callback=self.request.build_absolute_uri(reverse('clm:cbece_edit',
+ kwargs={'pk': self.request.session.get('instance_id')})))
return self.success_url
def get_context_data(self, **kwargs):
@@ -687,6 +1142,7 @@ def get_context_data(self, **kwargs):
"""Insert the form into the context dict."""
if 'form' not in kwargs:
kwargs['form'] = self.get_form()
+ kwargs['is_allowed_edit'] = is_allowed_edit('CBECE')
return super(CBECEEditView, self).get_context_data(**kwargs)
def get_form(self, form_class=None):
@@ -724,6 +1180,65 @@ def get_queryset(self):
return CBECE.objects.filter(partner=self.request.user.partner_id)
+class CBECEReferralView(LoginRequiredMixin,
+ GroupRequiredMixin,
+ FormView):
+
+ template_name = 'clm/cbece_referral.html'
+ form_class = CBECEReferralForm
+ success_url = '/clm/cbece-list/'
+ group_required = [u"CLM_CBECE"]
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(CBECEReferralView, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ form_class = self.get_form_class()
+ instance = CBECE.objects.get(id=self.kwargs['pk'], partner=self.request.user.partner_id)
+ if self.request.method == "POST":
+ return form_class(self.request.POST, instance=instance)
+ else:
+ return form_class(instance=instance)
+
+ def form_valid(self, form):
+ instance = CBECE.objects.get(id=self.kwargs['pk'], partner=self.request.user.partner_id)
+ form.save(request=self.request, instance=instance)
+ return super(CBECEReferralView, self).form_valid(form)
+
+
+class CBECEFollowupView(LoginRequiredMixin,
+ GroupRequiredMixin,
+ FormView):
+
+ template_name = 'clm/cbece_followup.html'
+ form_class = CBECEFollowupForm
+ success_url = '/clm/cbece-list/'
+ group_required = [u"CLM_CBECE"]
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(CBECEFollowupView, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ form_class = self.get_form_class()
+ instance = CBECE.objects.get(id=self.kwargs['pk'], partner=self.request.user.partner_id)
+ if self.request.method == "POST":
+ return form_class(self.request.POST, instance=instance)
+ else:
+ return form_class(instance=instance)
+
+ def form_valid(self, form):
+ instance = CBECE.objects.get(id=self.kwargs['pk'], partner=self.request.user.partner_id)
+ form.save(request=self.request, instance=instance)
+ return super(CBECEFollowupView, self).form_valid(form)
+
####################### API VIEWS #############################
@@ -739,7 +1254,11 @@ class BLNViewSet(mixins.RetrieveModelMixin,
permission_classes = (permissions.IsAuthenticated,)
def get_queryset(self):
+ from datetime import datetime
+
qs = self.queryset
+ if self.request.GET.get('creation_date', None):
+ return self.queryset.filter(created__gte=datetime.strptime(self.request.GET.get('creation_date', None), '%Y-%m-%d'))
if self.request.GET.get('school', None):
return self.queryset.filter(school_id=self.request.GET.get('school', None))
@@ -751,19 +1270,23 @@ def delete(self, request, *args, **kwargs):
return JsonResponse({'status': status.HTTP_200_OK})
-class RSViewSet(mixins.RetrieveModelMixin,
- mixins.ListModelMixin,
- mixins.CreateModelMixin,
- mixins.UpdateModelMixin,
- viewsets.GenericViewSet):
+class ABLNViewSet(mixins.RetrieveModelMixin,
+ mixins.ListModelMixin,
+ mixins.CreateModelMixin,
+ mixins.UpdateModelMixin,
+ viewsets.GenericViewSet):
- model = RS
- queryset = RS.objects.all()
- serializer_class = RSSerializer
+ model = ABLN
+ queryset = ABLN.objects.all()
+ serializer_class = ABLNSerializer
permission_classes = (permissions.IsAuthenticated,)
def get_queryset(self):
+ from datetime import datetime
+
qs = self.queryset
+ if self.request.GET.get('creation_date', None):
+ return self.queryset.filter(created__gte=datetime.strptime(self.request.GET.get('creation_date', None), '%Y-%m-%d'))
if self.request.GET.get('school', None):
return self.queryset.filter(school_id=self.request.GET.get('school', None))
@@ -775,8 +1298,32 @@ def delete(self, request, *args, **kwargs):
return JsonResponse({'status': status.HTTP_200_OK})
-class CBECEViewSet(mixins.RetrieveModelMixin,
- mixins.ListModelMixin,
+class RSViewSet(mixins.RetrieveModelMixin,
+ mixins.ListModelMixin,
+ mixins.CreateModelMixin,
+ mixins.UpdateModelMixin,
+ viewsets.GenericViewSet):
+
+ model = RS
+ queryset = RS.objects.all()
+ serializer_class = RSSerializer
+ permission_classes = (permissions.IsAuthenticated,)
+
+ def get_queryset(self):
+ qs = self.queryset
+ if self.request.GET.get('school', None):
+ return self.queryset.filter(school_id=self.request.GET.get('school', None))
+
+ return qs
+
+ def delete(self, request, *args, **kwargs):
+ instance = self.model.objects.get(id=kwargs['pk'])
+ instance.delete()
+ return JsonResponse({'status': status.HTTP_200_OK})
+
+
+class CBECEViewSet(mixins.RetrieveModelMixin,
+ mixins.ListModelMixin,
mixins.CreateModelMixin,
mixins.UpdateModelMixin,
viewsets.GenericViewSet):
@@ -830,7 +1377,7 @@ def get_queryset(self):
self.model = CBECE
self.serializer_class = CBECESerializer
- qs = self.model.objects.all()
+ qs = self.model.objects.filter(partner=self.request.user.partner_id)
if terms:
for term in terms.split():
@@ -855,10 +1402,13 @@ def get_queryset(self):
def get(self, request, *args, **kwargs):
headers = {
+ 'id': 'enropllment_id',
'partner__name': 'Partner',
+ 'source_of_identification': 'Source of Identification',
+ 'first_attendance_date': 'first attendance date',
'round__name': 'CLM Round',
- 'governorate__name': 'Governorate',
- 'district__name': 'District',
+ 'governorate__name_en': 'Governorate',
+ 'district__name_en': 'District',
'location': 'Location',
'language': 'The language supported in the program',
'student__first_name': 'First name',
@@ -875,22 +1425,63 @@ def get(self, request, *args, **kwargs):
'student__number': 'unique number',
'student__family_status': 'What is the family status of the child?',
'student__have_children': 'Does the child have children?',
- 'disability__name': 'Does the child have any disability or special need?',
+ 'disability__name_en': 'Does the child have any disability or special need?',
'internal_number': 'Internal number',
'comments': 'Comments',
- 'hh_educational_level__name': 'What is the educational level of a person who is valuable to the child?',
+
+ 'phone_number': 'Phone number',
+ 'phone_number_confirm': 'Phone number confirm',
+
+ 'id_type': 'ID Type',
+ 'case_number': 'UNHCR case number',
+ 'case_number_confirm': 'UNHCR case number confirm',
+ 'individual_case_number': 'Child individual ID',
+ 'individual_case_number_confirm': 'Child individual ID confirm',
+ 'parent_individual_case_number': 'Parent individual ID',
+ 'parent_individual_case_number_confirm': 'Parent individual ID confirm',
+ 'recorded_number': 'UNHCR recorded barcode',
+ 'recorded_number_confirm': 'UNHCR recorded barcode confirm',
+ 'national_number': 'Child Lebanese ID number',
+ 'national_number_confirm': 'Child Lebanese ID number confirm',
+ 'syrian_national_number': 'Child Syrian ID number',
+ 'syrian_national_number_confirm': 'Child Syrian ID number confirm',
+ 'sop_national_number': 'Child Palestinian ID number',
+ 'sop_national_number_confirm': 'Child Palestinian ID number confirm',
+ 'parent_national_number': 'Parent Lebanese ID number',
+ 'parent_national_number_confirm': 'Parent Lebanese ID number confirm',
+ 'parent_syrian_national_number': 'Parent Syrian ID number',
+ 'parent_syrian_national_number_confirm': 'Parent Syrian ID number confirm',
+ 'parent_sop_national_number': 'Parent Palestinian ID number',
+ 'parent_sop_national_number_confirm': 'Parent Palestinian ID number confirm',
+ 'caretaker_first_name': 'Caretaker first name',
+ 'caretaker_middle_name': 'Caretaker middle name',
+ 'caretaker_last_name': 'Caretaker last name',
+ 'caretaker_mother_name': 'Caretaker mother name',
+
+ 'hh_educational_level__name': 'What is the educational level of the mother?',
+ 'father_educational_level__name': 'What is the educational level of the father?',
'have_labour': 'Does the child participate in work?',
'labours': 'What is the type of work?',
'labour_hours': 'How many hours does this child work in a day?',
- 'pre_test_arabic': 'Pre-test Arabic',
- 'pre_test_foreign_language': 'Pre-test Foreign language',
- 'pre_test_math': 'Pre-test Math',
+
+ 'unsuccessful_pretest_reason': 'Reason why not doing the Pre-test',
+ 'unsuccessful_posttest_reason': 'Reason why not doing the Post-test',
+
+ 'pre_test_arabic': 'Pre-test Arabic Language Development ',
+ 'pre_test_foreign_language': 'Pre-test Foreign Language Development',
+ 'pre_test_math': 'Pre-test Cognitive Development - Mathematics',
+ 'pre_test_social_emotional': 'Pre-test Social-Emotional Development',
+ 'pre_test_psychomotor': 'Pre-test Psychomotor Development for children with special need',
+ 'pre_test_artistic': 'Pre-test Artistic Development',
'pre_test_score': 'Pre-test score',
- 'post_test_arabic': 'Post-test Arabic',
- 'post_test_foreign_language': 'Post-test Foreign language',
- 'post_test_math': 'Post-test Math',
+ 'post_test_arabic': 'Post-test Arabic Language Development ',
+ 'post_test_foreign_language': 'Post-test Foreign Language Development',
+ 'post_test_math': 'Post-test Cognitive Development - Mathematics',
+ 'post_test_social_emotional': 'Post-test Social-Emotional Development',
+ 'post_test_psychomotor': 'Post-test Psychomotor Development for children with special need',
+ 'post_test_artistic': 'Post-test Artistic Development',
'post_test_score': 'Post-test Score',
- 'participation': 'How was the level of child participation in the program?',
+ 'participation': 'Level of participation / Absence',
'barriers': 'The main barriers affecting the daily attendance and performance of the child or drop out of school?',
'learning_result': 'Based on the overall score, what is the recommended learning path?',
'new_registry': 'First time registered?',
@@ -900,20 +1491,298 @@ def get(self, request, *args, **kwargs):
'modified_by__username': 'modified_by',
'created': 'created',
'modified': 'modified',
+
+ 'referral_programme_type_1': 'Referral programme type 1',
+ 'referral_partner_1': 'Referral partner 1',
+ 'referral_date_1': 'Referral date 1',
+ 'confirmation_date_1': 'Referral confirmation date 1',
+
+ 'referral_programme_type_2': 'Referral programme type 2',
+ 'referral_partner_2': 'Referral partner 2',
+ 'referral_date_2': 'Referral date 2',
+ 'confirmation_date_2': 'Referral confirmation date 2',
+
+ 'referral_programme_type_3': 'Referral programme type 3',
+ 'referral_partner_3': 'Referral partner 3',
+ 'referral_date_3': 'Referral date 3',
+ 'confirmation_date_3': 'Referral confirmation date 3',
+
+ 'followup_call_date_1': 'Follow-up call 1 date',
+ 'followup_call_reason_1': 'Follow-up call 1 reason',
+ 'followup_call_result_1': 'Follow-up call 1 result',
+
+ 'followup_call_date_2': 'Follow-up call 2 date',
+ 'followup_call_reason_2': 'Follow-up call 2 reason',
+ 'followup_call_result_2': 'Follow-up call 2 result',
+
+ 'followup_visit_date_1': 'Follow-up visit 1 date',
+ 'followup_visit_reason_1': 'Follow-up visit 1 reason',
+ 'followup_visit_result_1': 'Follow-up visit 1 result',
}
+ header_list = (
+ 'enropllment_id',
+ 'Partner',
+ 'Source of Identification',
+ 'first attendance date',
+ 'CLM Round',
+ 'Governorate',
+ 'District',
+ 'Location',
+ 'The language supported in the program',
+ 'First name',
+ 'Father name',
+ 'Last name',
+ 'Sex',
+ 'Birthday - day',
+ 'Birthday - month',
+ 'Birthday - year',
+ 'Nationality',
+ 'Mother fullname',
+ 'P-Code If a child lives in a tent / Brax in a random camp',
+ 'ID number',
+ 'unique number',
+ 'What is the family status of the child?',
+ 'Does the child have children?',
+ 'Does the child have any disability or special need?',
+ 'Internal number',
+ 'Comments',
+
+ 'Phone number',
+ 'Phone number confirm',
+
+ 'ID Type',
+ 'UNHCR case number',
+ 'UNHCR case number confirm',
+ 'Child individual ID',
+ 'Child individual ID confirm',
+ 'Parent individual ID',
+ 'Parent individual ID confirm',
+ 'UNHCR recorded barcode',
+ 'UNHCR recorded barcode confirm',
+ 'Child Lebanese ID number',
+ 'Child Lebanese ID number confirm',
+ 'Child Syrian ID number',
+ 'Child Syrian ID number confirm',
+ 'Child Palestinian ID number',
+ 'Child Palestinian ID number confirm',
+ 'Parent Lebanese ID number',
+ 'Parent Lebanese ID number confirm',
+ 'Parent Syrian ID number',
+ 'Parent Syrian ID number confirm',
+ 'Parent Palestinian ID number',
+ 'Parent Palestinian ID number confirm',
+ 'Caretaker first name',
+ 'Caretaker middle name',
+ 'Caretaker last name',
+ 'Caretaker mother name',
+
+ 'What is the educational level of a person who is valuable to the child?',
+ 'Does the child participate in work?',
+ 'What is the type of work?',
+ 'How many hours does this child work in a day?',
+
+ 'Reason why not doing the Pre-test',
+ 'Reason why not doing the Post-test',
+
+ 'Pre-test Arabic Language Development ',
+ 'Pre-test Cognitive Development - Mathematics',
+ 'Pre-test Social-Emotional Development',
+ 'Pre-test Psychomotor Development for children with special need',
+ 'Pre-test Artistic Development',
+ 'Pre-test score',
+ 'Post-test Arabic Language Development ',
+ 'Post-test Cognitive Development - Mathematics',
+ 'Post-test Social-Emotional Development',
+ 'Post-test Psychomotor Development for children with special need',
+ 'Post-test Artistic Development',
+ 'Post-test Score',
+ 'Level of participation / Absence',
+ 'The main barriers affecting the daily attendance and performance of the child or drop out of school?',
+ 'Based on the overall score, what is the recommended learning path?',
+ 'cycle_completed',
+ 'enrolled_at_school',
+
+ 'Referral programme type 1',
+ 'Referral partner 1',
+ 'Referral date 1',
+ 'Referral confirmation date 1',
+
+ 'Referral programme type 2',
+ 'Referral partner 2',
+ 'Referral date 2',
+ 'Referral confirmation date 2',
+
+ 'Referral programme type 3',
+ 'Referral partner 3',
+ 'Referral date 3',
+ 'Referral confirmation date 3',
+
+ 'Follow-up call 1 date',
+ 'Follow-up call 1 reason',
+ 'Follow-up call 1 result',
+
+ 'Follow-up call 2 date',
+ 'Follow-up call 2 reason',
+ 'Follow-up call 2 result',
+
+ 'Follow-up visit 1 date',
+ 'Follow-up visit 1 reason',
+ 'Follow-up visit 1 result',
+
+ 'First time registered?',
+ 'Student outreached?',
+ 'Have barcode with him?',
+ 'owner',
+ 'modified_by',
+ 'created',
+ 'modified'
+ )
+ field_list = (
+ 'id',
+ 'partner__name',
+ 'source_of_identification',
+ 'first_attendance_date',
+ 'round__name',
+ 'governorate__name_en',
+ 'district__name_en',
+ 'location',
+ 'language',
+ 'student__first_name',
+ 'student__father_name',
+ 'student__last_name',
+ 'student__sex',
+ 'student__birthday_day',
+ 'student__birthday_month',
+ 'student__birthday_year',
+ 'student__nationality__name',
+ 'student__mother_fullname',
+ 'student__p_code',
+ 'student__id_number',
+ 'student__number',
+ 'student__family_status',
+ 'student__have_children',
+ 'disability__name_en',
+ 'internal_number',
+ 'comments',
+
+ 'phone_number',
+ 'phone_number_confirm',
+
+ 'id_type',
+ 'case_number',
+ 'case_number_confirm',
+ 'individual_case_number',
+ 'individual_case_number_confirm',
+ 'parent_individual_case_number',
+ 'parent_individual_case_number_confirm',
+ 'recorded_number',
+ 'recorded_number_confirm',
+ 'national_number',
+ 'national_number_confirm',
+ 'syrian_national_number',
+ 'syrian_national_number_confirm',
+ 'sop_national_number',
+ 'sop_national_number_confirm',
+ 'parent_national_number',
+ 'parent_national_number_confirm',
+ 'parent_syrian_national_number',
+ 'parent_syrian_national_number_confirm',
+ 'parent_sop_national_number',
+ 'parent_sop_national_number_confirm',
+ 'caretaker_first_name',
+ 'caretaker_middle_name',
+ 'caretaker_last_name',
+ 'caretaker_mother_name',
+
+ 'hh_educational_level__name',
+ 'father_educational_level__name',
+ 'have_labour',
+ 'labours',
+ 'labour_hours',
+
+ 'unsuccessful_pretest_reason',
+ 'unsuccessful_posttest_reason',
+
+ 'pre_test_arabic',
+ 'post_test_arabic',
+ 'pre_test_foreign_language',
+ 'post_test_foreign_language',
+ 'pre_test_math',
+ 'post_test_math',
+ 'pre_test_social_emotional',
+ 'post_test_social_emotional',
+ 'pre_test_psychomotor',
+ 'post_test_psychomotor',
+ 'pre_test_artistic',
+ 'post_test_artistic',
+ 'pre_test_score',
+ 'post_test_score',
+
+ 'participation',
+ 'barriers',
+ 'learning_result',
+ 'cycle_completed',
+ 'enrolled_at_school',
+
+ 'referral_programme_type_1',
+ 'referral_partner_1',
+ 'referral_date_1',
+ 'confirmation_date_1',
+
+ 'referral_programme_type_2',
+ 'referral_partner_2',
+ 'referral_date_2',
+ 'confirmation_date_2',
+
+ 'referral_programme_type_3',
+ 'referral_partner_3',
+ 'referral_date_3',
+ 'confirmation_date_3',
+
+ 'followup_call_date_1',
+ 'followup_call_reason_1',
+ 'followup_call_result_1',
+
+ 'followup_call_date_2',
+ 'followup_call_reason_2',
+ 'followup_call_result_2',
+
+ 'followup_visit_date_1',
+ 'followup_visit_reason_1',
+ 'followup_visit_result_1',
+
+ 'new_registry',
+ 'student_outreached',
+ 'have_barcode',
+ 'owner__username',
+ 'modified_by__username',
+ 'created',
+ 'modified',
+ )
qs = self.get_queryset().extra(select={
+ # 'participation': "CONCAT(participation, '_absence')",
+
'pre_test_arabic': "pre_test->>'BLN_ASSESSMENT/arabic'",
'pre_test_foreign_language': "pre_test->>'BLN_ASSESSMENT/foreign_language'",
'pre_test_math': "pre_test->>'BLN_ASSESSMENT/math'",
+ 'pre_test_social_emotional': "pre_test->>'BLN_ASSESSMENT/social_emotional'",
+ 'pre_test_psychomotor': "pre_test->>'BLN_ASSESSMENT/psychomotor'",
+ 'pre_test_artistic': "pre_test->>'BLN_ASSESSMENT/artistic'",
+
'post_test_arabic': "post_test->>'BLN_ASSESSMENT/arabic'",
'post_test_foreign_language': "post_test->>'BLN_ASSESSMENT/foreign_language'",
'post_test_math': "post_test->>'BLN_ASSESSMENT/math'",
+ 'post_test_social_emotional': "post_test->>'BLN_ASSESSMENT/social_emotional'",
+ 'post_test_psychomotor': "post_test->>'BLN_ASSESSMENT/psychomotor'",
+ 'post_test_artistic': "post_test->>'BLN_ASSESSMENT/artistic'",
}).values(
+ 'id',
'partner__name',
+ 'first_attendance_date',
'round__name',
- 'governorate__name',
- 'district__name',
+ 'governorate__name_en',
+ 'district__name_en',
'location',
'language',
'student__first_name',
@@ -930,24 +1799,35 @@ def get(self, request, *args, **kwargs):
'student__number',
'student__family_status',
'student__have_children',
- 'disability__name',
+ 'disability__name_en',
'internal_number',
'comments',
'hh_educational_level__name',
+ 'father_educational_level__name',
'have_labour',
'labours',
'labour_hours',
+ 'unsuccessful_pretest_reason',
+ 'unsuccessful_posttest_reason',
'pre_test_arabic',
'pre_test_foreign_language',
'pre_test_math',
+ 'pre_test_social_emotional',
+ 'pre_test_psychomotor',
+ 'pre_test_artistic',
'pre_test_score',
'post_test_arabic',
'post_test_foreign_language',
'post_test_math',
+ 'post_test_social_emotional',
+ 'post_test_psychomotor',
+ 'post_test_artistic',
'post_test_score',
'participation',
'barriers',
'learning_result',
+ 'cycle_completed',
+ 'enrolled_at_school',
'new_registry',
'student_outreached',
'have_barcode',
@@ -955,9 +1835,556 @@ def get(self, request, *args, **kwargs):
'modified_by__username',
'created',
'modified',
+
+ 'phone_number',
+ 'phone_number_confirm',
+ 'id_type',
+ 'case_number',
+ 'case_number_confirm',
+ 'individual_case_number',
+ 'individual_case_number_confirm',
+ 'parent_individual_case_number',
+ 'parent_individual_case_number_confirm',
+ 'recorded_number',
+ 'recorded_number_confirm',
+ 'national_number',
+ 'national_number_confirm',
+ 'syrian_national_number',
+ 'syrian_national_number_confirm',
+ 'sop_national_number',
+ 'sop_national_number_confirm',
+ 'parent_national_number',
+ 'parent_national_number_confirm',
+ 'parent_syrian_national_number',
+ 'parent_syrian_national_number_confirm',
+ 'parent_sop_national_number',
+ 'parent_sop_national_number_confirm',
+ 'source_of_identification',
+ 'caretaker_first_name',
+ 'caretaker_middle_name',
+ 'caretaker_last_name',
+ 'caretaker_mother_name',
+
+ 'referral_programme_type_1',
+ 'referral_partner_1',
+ 'referral_date_1',
+ 'confirmation_date_1',
+ 'referral_programme_type_2',
+ 'referral_partner_2',
+ 'referral_date_2',
+ 'confirmation_date_2',
+ 'referral_programme_type_3',
+ 'referral_partner_3',
+ 'referral_date_3',
+ 'confirmation_date_3',
+
+ 'followup_call_date_1',
+ 'followup_call_reason_1',
+ 'followup_call_result_1',
+ 'followup_call_date_2',
+ 'followup_call_reason_2',
+ 'followup_call_result_2',
+ 'followup_visit_date_1',
+ 'followup_visit_reason_1',
+ 'followup_visit_result_1',
)
- return render_to_csv_response(qs, field_header_map=headers)
+ return render_to_csv_response(qs, field_header_map=headers, field_order=field_list)
+
+
+class ABLNExportViewSet(LoginRequiredMixin, ListView):
+
+ model = ABLN
+ queryset = ABLN.objects.all()
+
+ def get_queryset(self):
+ if not self.request.user.is_staff:
+ return self.queryset.filter(partner=self.request.user.partner)
+ return self.queryset
+
+ def get(self, request, *args, **kwargs):
+
+ headers = {
+ 'id': 'enropllment_id',
+ 'partner__name': 'Partner',
+ 'source_of_identification': 'Source of Identification',
+ 'first_attendance_date': 'first attendance date',
+ 'round__name': 'CLM Round',
+ 'governorate__name_en': 'Governorate',
+ 'district__name_en': 'District',
+ 'location': 'Location',
+ 'language': 'The language supported in the program',
+ 'student__first_name': 'First name',
+ 'student__father_name': 'Father name',
+ 'student__last_name': 'Last name',
+ 'student__sex': 'Sex',
+ 'student__birthday_day': 'Birthday - day',
+ 'student__birthday_month': 'Birthday - month',
+ 'student__birthday_year': 'Birthday - year',
+ 'student__nationality__name': 'Nationality',
+ 'student__mother_fullname': 'Mother fullname',
+ 'student__p_code': 'P-Code If a child lives in a tent / Brax in a random camp',
+ 'student__id_number': 'ID number',
+ 'student__number': 'unique number',
+ 'student__family_status': 'What is the family status of the child?',
+ 'student__have_children': 'Does the child have children?',
+ 'disability__name_en': 'Does the child have any disability or special need?',
+ 'internal_number': 'Internal number',
+ 'comments': 'Comments',
+
+ 'phone_number': 'Phone number',
+ 'phone_number_confirm': 'Phone number confirm',
+
+ 'id_type': 'ID Type',
+ 'case_number': 'UNHCR case number',
+ 'case_number_confirm': 'UNHCR case number confirm',
+ 'individual_case_number': 'Child individual ID',
+ 'individual_case_number_confirm': 'Child individual ID confirm',
+ 'parent_individual_case_number': 'Parent individual ID',
+ 'parent_individual_case_number_confirm': 'Parent individual ID confirm',
+ 'recorded_number': 'UNHCR recorded barcode',
+ 'recorded_number_confirm': 'UNHCR recorded barcode confirm',
+ 'national_number': 'Child Lebanese ID number',
+ 'national_number_confirm': 'Child Lebanese ID number confirm',
+ 'syrian_national_number': 'Child Syrian ID number',
+ 'syrian_national_number_confirm': 'Child Syrian ID number confirm',
+ 'sop_national_number': 'Child Palestinian ID number',
+ 'sop_national_number_confirm': 'Child Palestinian ID number confirm',
+ 'parent_national_number': 'Parent Lebanese ID number',
+ 'parent_national_number_confirm': 'Parent Lebanese ID number confirm',
+ 'parent_syrian_national_number': 'Parent Syrian ID number',
+ 'parent_syrian_national_number_confirm': 'Parent Syrian ID number confirm',
+ 'parent_sop_national_number': 'Parent Palestinian ID number',
+ 'parent_sop_national_number_confirm': 'Parent Palestinian ID number confirm',
+ 'caretaker_first_name': 'Caretaker first name',
+ 'caretaker_middle_name': 'Caretaker middle name',
+ 'caretaker_last_name': 'Caretaker last name',
+ 'caretaker_mother_name': 'Caretaker mother name',
+
+ 'hh_educational_level__name': 'What is the educational level of the mother?',
+ 'father_educational_level__name': 'What is the educational level of the father?',
+ 'have_labour': 'Does the child participate in work?',
+ 'labours': 'What is the type of work?',
+ 'labour_hours': 'How many hours does this child work in a day?',
+
+ 'unsuccessful_pretest_reason': 'Reason why not doing the Pre-test',
+ 'unsuccessful_posttest_reason': 'Reason why not doing the Post-test',
+
+ 'pre_test_arabic': 'Pre-test Arabic Language Development ',
+ 'pre_test_math': 'Pre-test Cognitive Development - Mathematics',
+ 'pre_test_social_emotional': 'Pre-test Social-Emotional Development',
+ 'pre_test_psychomotor': 'Pre-test Psychomotor Development for children with special need',
+ 'pre_test_artistic': 'Pre-test Artistic Development',
+ 'pre_test_score': 'Pre-test score',
+ 'post_test_arabic': 'Post-test Arabic Language Development ',
+ 'post_test_math': 'Post-test Cognitive Development - Mathematics',
+ 'post_test_social_emotional': 'Post-test Social-Emotional Development',
+ 'post_test_psychomotor': 'Post-test Psychomotor Development for children with special need',
+ 'post_test_artistic': 'Post-test Artistic Development',
+ 'post_test_score': 'Post-test Score',
+ 'participation': 'Level of participation / Absence',
+ 'barriers': 'The main barriers affecting the daily attendance and performance of the child or drop out of school?',
+ 'learning_result': 'Based on the overall score, what is the recommended learning path?',
+ 'new_registry': 'First time registered?',
+ 'student_outreached': 'Student outreached?',
+ 'have_barcode': 'Have barcode with him?',
+ 'owner__username': 'owner',
+ 'modified_by__username': 'modified_by',
+ 'created': 'created',
+ 'modified': 'modified',
+
+ 'referral_programme_type_1': 'Referral programme type 1',
+ 'referral_partner_1': 'Referral partner 1',
+ 'referral_date_1': 'Referral date 1',
+ 'confirmation_date_1': 'Referral confirmation date 1',
+
+ 'referral_programme_type_2': 'Referral programme type 2',
+ 'referral_partner_2': 'Referral partner 2',
+ 'referral_date_2': 'Referral date 2',
+ 'confirmation_date_2': 'Referral confirmation date 2',
+
+ 'referral_programme_type_3': 'Referral programme type 3',
+ 'referral_partner_3': 'Referral partner 3',
+ 'referral_date_3': 'Referral date 3',
+ 'confirmation_date_3': 'Referral confirmation date 3',
+
+ 'followup_call_date_1': 'Follow-up call 1 date',
+ 'followup_call_reason_1': 'Follow-up call 1 reason',
+ 'followup_call_result_1': 'Follow-up call 1 result',
+
+ 'followup_call_date_2': 'Follow-up call 2 date',
+ 'followup_call_reason_2': 'Follow-up call 2 reason',
+ 'followup_call_result_2': 'Follow-up call 2 result',
+
+ 'followup_visit_date_1': 'Follow-up visit 1 date',
+ 'followup_visit_reason_1': 'Follow-up visit 1 reason',
+ 'followup_visit_result_1': 'Follow-up visit 1 result',
+ }
+ header_list = (
+ 'enropllment_id',
+ 'Partner',
+ 'Source of Identification',
+ 'first attendance date',
+ 'CLM Round',
+ 'Governorate',
+ 'District',
+ 'Location',
+ 'The language supported in the program',
+ 'First name',
+ 'Father name',
+ 'Last name',
+ 'Sex',
+ 'Birthday - day',
+ 'Birthday - month',
+ 'Birthday - year',
+ 'Nationality',
+ 'Mother fullname',
+ 'P-Code If a child lives in a tent / Brax in a random camp',
+ 'ID number',
+ 'unique number',
+ 'What is the family status of the child?',
+ 'Does the child have children?',
+ 'Does the child have any disability or special need?',
+ 'Internal number',
+ 'Comments',
+
+ 'Phone number',
+ 'Phone number confirm',
+
+ 'ID Type',
+ 'UNHCR case number',
+ 'UNHCR case number confirm',
+ 'Child individual ID',
+ 'Child individual ID confirm',
+ 'Parent individual ID',
+ 'Parent individual ID confirm',
+ 'UNHCR recorded barcode',
+ 'UNHCR recorded barcode confirm',
+ 'Child Lebanese ID number',
+ 'Child Lebanese ID number confirm',
+ 'Child Syrian ID number',
+ 'Child Syrian ID number confirm',
+ 'Child Palestinian ID number',
+ 'Child Palestinian ID number confirm',
+ 'Parent Lebanese ID number',
+ 'Parent Lebanese ID number confirm',
+ 'Parent Syrian ID number',
+ 'Parent Syrian ID number confirm',
+ 'Parent Palestinian ID number',
+ 'Parent Palestinian ID number confirm',
+ 'Caretaker first name',
+ 'Caretaker middle name',
+ 'Caretaker last name',
+ 'Caretaker mother name',
+
+ 'What is the educational level of a person who is valuable to the child?',
+ 'Does the child participate in work?',
+ 'What is the type of work?',
+ 'How many hours does this child work in a day?',
+
+ 'Reason why not doing the Pre-test',
+ 'Reason why not doing the Post-test',
+
+ 'Pre-test Arabic Language Development ',
+ 'Pre-test Cognitive Development - Mathematics',
+ 'Pre-test Social-Emotional Development',
+ 'Pre-test Psychomotor Development for children with special need',
+ 'Pre-test Artistic Development',
+ 'Pre-test score',
+ 'Post-test Arabic Language Development ',
+ 'Post-test Cognitive Development - Mathematics',
+ 'Post-test Social-Emotional Development',
+ 'Post-test Psychomotor Development for children with special need',
+ 'Post-test Artistic Development',
+ 'Post-test Score',
+ 'Level of participation / Absence',
+ 'The main barriers affecting the daily attendance and performance of the child or drop out of school?',
+ 'Based on the overall score, what is the recommended learning path?',
+ 'cycle_completed',
+ 'enrolled_at_school',
+
+ 'Referral programme type 1',
+ 'Referral partner 1',
+ 'Referral date 1',
+ 'Referral confirmation date 1',
+
+ 'Referral programme type 2',
+ 'Referral partner 2',
+ 'Referral date 2',
+ 'Referral confirmation date 2',
+
+ 'Referral programme type 3',
+ 'Referral partner 3',
+ 'Referral date 3',
+ 'Referral confirmation date 3',
+
+ 'Follow-up call 1 date',
+ 'Follow-up call 1 reason',
+ 'Follow-up call 1 result',
+
+ 'Follow-up call 2 date',
+ 'Follow-up call 2 reason',
+ 'Follow-up call 2 result',
+
+ 'Follow-up visit 1 date',
+ 'Follow-up visit 1 reason',
+ 'Follow-up visit 1 result',
+
+ 'First time registered?',
+ 'Student outreached?',
+ 'Have barcode with him?',
+ 'owner',
+ 'modified_by',
+ 'created',
+ 'modified'
+ )
+ field_list = (
+ 'id',
+ 'partner__name',
+ 'source_of_identification',
+ 'first_attendance_date',
+ 'round__name',
+ 'governorate__name_en',
+ 'district__name_en',
+ 'location',
+ 'language',
+ 'student__first_name',
+ 'student__father_name',
+ 'student__last_name',
+ 'student__sex',
+ 'student__birthday_day',
+ 'student__birthday_month',
+ 'student__birthday_year',
+ 'student__nationality__name',
+ 'student__mother_fullname',
+ 'student__p_code',
+ 'student__id_number',
+ 'student__number',
+ 'student__family_status',
+ 'student__have_children',
+ 'disability__name_en',
+ 'internal_number',
+ 'comments',
+
+ 'phone_number',
+ 'phone_number_confirm',
+
+ 'id_type',
+ 'case_number',
+ 'case_number_confirm',
+ 'individual_case_number',
+ 'individual_case_number_confirm',
+ 'parent_individual_case_number',
+ 'parent_individual_case_number_confirm',
+ 'recorded_number',
+ 'recorded_number_confirm',
+ 'national_number',
+ 'national_number_confirm',
+ 'syrian_national_number',
+ 'syrian_national_number_confirm',
+ 'sop_national_number',
+ 'sop_national_number_confirm',
+ 'parent_national_number',
+ 'parent_national_number_confirm',
+ 'parent_syrian_national_number',
+ 'parent_syrian_national_number_confirm',
+ 'parent_sop_national_number',
+ 'parent_sop_national_number_confirm',
+ 'caretaker_first_name',
+ 'caretaker_middle_name',
+ 'caretaker_last_name',
+ 'caretaker_mother_name',
+
+ 'hh_educational_level__name',
+ 'father_educational_level__name',
+ 'have_labour',
+ 'labours',
+ 'labour_hours',
+
+ 'unsuccessful_pretest_reason',
+ 'unsuccessful_posttest_reason',
+
+ 'pre_test_arabic',
+ 'post_test_arabic',
+ 'pre_test_math',
+ 'post_test_math',
+ 'pre_test_social_emotional',
+ 'post_test_social_emotional',
+ 'pre_test_psychomotor',
+ 'post_test_psychomotor',
+ 'pre_test_artistic',
+ 'post_test_artistic',
+ 'pre_test_score',
+ 'post_test_score',
+
+ 'participation',
+ 'barriers',
+ 'learning_result',
+ 'cycle_completed',
+ 'enrolled_at_school',
+
+ 'referral_programme_type_1',
+ 'referral_partner_1',
+ 'referral_date_1',
+ 'confirmation_date_1',
+
+ 'referral_programme_type_2',
+ 'referral_partner_2',
+ 'referral_date_2',
+ 'confirmation_date_2',
+
+ 'referral_programme_type_3',
+ 'referral_partner_3',
+ 'referral_date_3',
+ 'confirmation_date_3',
+
+ 'followup_call_date_1',
+ 'followup_call_reason_1',
+ 'followup_call_result_1',
+
+ 'followup_call_date_2',
+ 'followup_call_reason_2',
+ 'followup_call_result_2',
+
+ 'followup_visit_date_1',
+ 'followup_visit_reason_1',
+ 'followup_visit_result_1',
+
+ 'new_registry',
+ 'student_outreached',
+ 'have_barcode',
+ 'owner__username',
+ 'modified_by__username',
+ 'created',
+ 'modified',
+ )
+
+ qs = self.get_queryset().extra(select={
+ # 'participation': "CONCAT(participation, '_absence')",
+
+ 'pre_test_arabic': "pre_test->>'ABLN_ASSESSMENT/arabic'",
+ 'pre_test_math': "pre_test->>'ABLN_ASSESSMENT/math'",
+ 'pre_test_social_emotional': "pre_test->>'ABLN_ASSESSMENT/social_emotional'",
+ 'pre_test_psychomotor': "pre_test->>'ABLN_ASSESSMENT/psychomotor'",
+ 'pre_test_artistic': "pre_test->>'ABLN_ASSESSMENT/artistic'",
+
+ 'post_test_arabic': "post_test->>'ABLN_ASSESSMENT/arabic'",
+ 'post_test_math': "post_test->>'ABLN_ASSESSMENT/math'",
+ 'post_test_social_emotional': "post_test->>'ABLN_ASSESSMENT/social_emotional'",
+ 'post_test_psychomotor': "post_test->>'ABLN_ASSESSMENT/psychomotor'",
+ 'post_test_artistic': "post_test->>'ABLN_ASSESSMENT/artistic'",
+ }).values(
+ 'id',
+ 'partner__name',
+ 'first_attendance_date',
+ 'round__name',
+ 'governorate__name_en',
+ 'district__name_en',
+ 'location',
+ 'language',
+ 'student__first_name',
+ 'student__father_name',
+ 'student__last_name',
+ 'student__sex',
+ 'student__birthday_day',
+ 'student__birthday_month',
+ 'student__birthday_year',
+ 'student__nationality__name',
+ 'student__mother_fullname',
+ 'student__p_code',
+ 'student__id_number',
+ 'student__number',
+ 'student__family_status',
+ 'student__have_children',
+ 'disability__name_en',
+ 'internal_number',
+ 'comments',
+ 'hh_educational_level__name',
+ 'father_educational_level__name',
+ 'have_labour',
+ 'labours',
+ 'labour_hours',
+ 'unsuccessful_pretest_reason',
+ 'unsuccessful_posttest_reason',
+ 'pre_test_arabic',
+ 'pre_test_math',
+ 'pre_test_social_emotional',
+ 'pre_test_psychomotor',
+ 'pre_test_artistic',
+ 'pre_test_score',
+ 'post_test_arabic',
+ 'post_test_math',
+ 'post_test_social_emotional',
+ 'post_test_psychomotor',
+ 'post_test_artistic',
+ 'post_test_score',
+ 'participation',
+ 'barriers',
+ 'learning_result',
+ 'cycle_completed',
+ 'enrolled_at_school',
+ 'new_registry',
+ 'student_outreached',
+ 'have_barcode',
+ 'owner__username',
+ 'modified_by__username',
+ 'created',
+ 'modified',
+
+ 'phone_number',
+ 'phone_number_confirm',
+ 'id_type',
+ 'case_number',
+ 'case_number_confirm',
+ 'individual_case_number',
+ 'individual_case_number_confirm',
+ 'parent_individual_case_number',
+ 'parent_individual_case_number_confirm',
+ 'recorded_number',
+ 'recorded_number_confirm',
+ 'national_number',
+ 'national_number_confirm',
+ 'syrian_national_number',
+ 'syrian_national_number_confirm',
+ 'sop_national_number',
+ 'sop_national_number_confirm',
+ 'parent_national_number',
+ 'parent_national_number_confirm',
+ 'parent_syrian_national_number',
+ 'parent_syrian_national_number_confirm',
+ 'parent_sop_national_number',
+ 'parent_sop_national_number_confirm',
+ 'source_of_identification',
+ 'caretaker_first_name',
+ 'caretaker_middle_name',
+ 'caretaker_last_name',
+ 'caretaker_mother_name',
+
+ 'referral_programme_type_1',
+ 'referral_partner_1',
+ 'referral_date_1',
+ 'confirmation_date_1',
+ 'referral_programme_type_2',
+ 'referral_partner_2',
+ 'referral_date_2',
+ 'confirmation_date_2',
+ 'referral_programme_type_3',
+ 'referral_partner_3',
+ 'referral_date_3',
+ 'confirmation_date_3',
+
+ 'followup_call_date_1',
+ 'followup_call_reason_1',
+ 'followup_call_result_1',
+ 'followup_call_date_2',
+ 'followup_call_reason_2',
+ 'followup_call_result_2',
+ 'followup_visit_date_1',
+ 'followup_visit_reason_1',
+ 'followup_visit_result_1',
+ )
+
+ return render_to_csv_response(qs, field_header_map=headers, field_order=field_list)
class RSExportViewSet(LoginRequiredMixin, ListView):
@@ -978,8 +2405,8 @@ def get(self, request, *args, **kwargs):
'type': 'Program type',
'site': 'Program site',
'school__name': 'Attending in school',
- 'governorate__name': 'Governorate',
- 'district__name': 'District',
+ 'governorate__name_en': 'Governorate',
+ 'district__name_en': 'District',
'location': 'Location',
'language': 'The language supported in the program',
'student__first_name': 'First name',
@@ -996,7 +2423,7 @@ def get(self, request, *args, **kwargs):
'student__number': 'unique number',
'student__family_status': 'What is the family status of the child?',
'student__have_children': 'Does the child have children?',
- 'disability__name': 'Does the child have any disability or special need?',
+ 'disability__name_en': 'Does the child have any disability or special need?',
'internal_number': 'Internal number',
'comments': 'Comments',
'hh_educational_level__name': 'What is the educational level of a person who is valuable to the child?',
@@ -1077,7 +2504,7 @@ def get(self, request, *args, **kwargs):
'post_self_q13': ' يصغي اليّ أستاذي باهتمام عندما أتحدث - Self Assessment - Post',
'post_self_q14': 'عندما أكون بحاجة إلى المساعدة أحصل عليها من معلمي - Self Assessment - Post',
- 'participation': 'How was the level of child participation in the program?',
+ 'participation': 'Level of participation / Absence',
'barriers': 'The main barriers affecting the daily attendance and performance of the child or drop out of school?',
'learning_result': 'Based on the overall score, what is the recommended learning path?',
'new_registry': 'First time registered?',
@@ -1088,6 +2515,8 @@ def get(self, request, *args, **kwargs):
}
qs = self.get_queryset().extra(select={
+ # 'participation': "CONCAT(participation, '_absence')",
+
'pre_strategy_q1': "pre_test->>'RS_ASSESSMENT/FL1'",
'pre_strategy_q2': "pre_test->>'RS_ASSESSMENT/FL2'",
'pre_strategy_q3': "pre_test->>'RS_ASSESSMENT/FL3'",
@@ -1144,8 +2573,8 @@ def get(self, request, *args, **kwargs):
'type',
'site',
'school__name',
- 'governorate__name',
- 'district__name',
+ 'governorate__name_en',
+ 'district__name_en',
'location',
'language',
'student__first_name',
@@ -1162,7 +2591,7 @@ def get(self, request, *args, **kwargs):
'student__number',
'student__family_status',
'student__have_children',
- 'disability__name',
+ 'disability__name_en',
'internal_number',
'comments',
'hh_educational_level__name',
@@ -1278,8 +2707,8 @@ def get(self, request, *args, **kwargs):
'cycle__name': 'Level',
'site': 'Program site',
'school__name': 'Attending in school',
- 'governorate__name': 'Governorate',
- 'district__name': 'District',
+ 'governorate__name_en': 'Governorate',
+ 'district__name_en': 'District',
'location': 'Location',
'language': 'The language supported in the program',
'referral': 'Where was the child referred?',
@@ -1298,7 +2727,7 @@ def get(self, request, *args, **kwargs):
'student__number': 'unique number',
'student__family_status': 'What is the family status of the child?',
'student__have_children': 'Does the child have children?',
- 'disability__name': 'Does the child have any disability or special need?',
+ 'disability__name_en': 'Does the child have any disability or special need?',
'internal_number': 'Internal number',
'comments': 'Comments',
'child_muac': 'Child MUAC',
@@ -1311,51 +2740,76 @@ def get(self, request, *args, **kwargs):
'pre_test_score': 'Academic Result - Pre',
'post_test_score': 'Academic Result - Post',
- 'pre_test_LanguageArtDomain1': 'Language Art Domain - Pre - Level 1',
- 'pre_test_CognitiveDomian1': 'Cognitive Domain - Pre - Level 1',
- 'pre_test_ScienceDomain1': 'Science Domain - Pre - Level 1',
- 'pre_test_SocialEmotionalDomain1': 'Social Emotional Domain - Pre - Level 1',
- 'pre_test_PsychomotorDomain1': 'Psychomotor Domain - Pre - Level 1',
- 'pre_test_ArtisticDomain1': 'Artistic Domain - Pre - Level 1',
-
- 'post_test_LanguageArtDomain1': 'Language Art Domain - Post - Level 1',
- 'post_test_CognitiveDomian1': 'Cognitive Domain - Post - Level 1',
- 'post_test_ScienceDomain1': 'Science Domain - Post - Level 1',
- 'post_test_SocialEmotionalDomain1': 'Social Emotional Domain - Post - Level 1',
- 'post_test_PsychomotorDomain1': 'Psychomotor Domain - Post - Level 1',
- 'post_test_ArtisticDomain1': 'Artistic Domain - Post - Level 1',
-
- 'pre_test_LanguageArtDomain2': 'Language Art Domain - Pre - Level 2',
- 'pre_test_CognitiveDomian2': 'Cognitive Domain - Pre - Level 2',
- 'pre_test_ScienceDomain2': 'Science Domain - Pre - Level 2',
- 'pre_test_SocialEmotionalDomain2': 'Social Emotional Domain - Pre - Level 2',
- 'pre_test_PsychomotorDomain2': 'Psychomotor Domain - Pre - Level 2',
- 'pre_test_ArtisticDomain2': 'Artistic Domain - Pre - Level 2',
-
- 'post_test_LanguageArtDomain2': 'Language Art Domain - Post - Level 2',
- 'post_test_CognitiveDomian2': 'Cognitive Domain - Post - Level 2',
- 'post_test_ScienceDomain2': 'Science Domain - Post - Level 2',
- 'post_test_SocialEmotionalDomain2': 'Social Emotional Domain - Post - Level 2',
- 'post_test_PsychomotorDomain2': 'Psychomotor Domain - Post - Level 2',
- 'post_test_ArtisticDomain2': 'Artistic Domain - Post - Level 2',
-
- 'pre_test_LanguageArtDomain3': 'Language Art Domain - Pre - Level 3',
- 'pre_test_CognitiveDomian3': 'Cognitive Domain - Pre - Level 3',
- 'pre_test_ScienceDomain3': 'Science Domain - Pre - Level 3',
- 'pre_test_SocialEmotionalDomain3': 'Social Emotional Domain - Pre - Level 3',
- 'pre_test_PsychomotorDomain3': 'Psychomotor Domain - Pre - Level 3',
- 'pre_test_ArtisticDomain3': 'Artistic Domain - Pre - Level 3',
-
- 'post_test_LanguageArtDomain3': 'Language Art Domain - Post - Level 3',
- 'post_test_CognitiveDomian3': 'Cognitive Domain - Post - Level 3',
- 'post_test_ScienceDomain3': 'Science Domain - Post - Level 3',
- 'post_test_SocialEmotionalDomain3': 'Social Emotional Domain - Post - Level 3',
- 'post_test_PsychomotorDomain3': 'Psychomotor Domain - Post - Level 3',
- 'post_test_ArtisticDomain3': 'Artistic Domain - Post - Level 3',
-
- 'participation': 'How was the level of child participation in the program?',
+ 'pre_test_LanguageArtDomain1': 'Language Development - Pre - Level 1',
+ 'post_test_LanguageArtDomain1': 'Language Development - Post - Level 1',
+ 'pre_test_CognitiveDomian1': 'Cognitive Development - Mathematics - Pre - Level 1',
+ 'post_test_CognitiveDomian1': 'Cognitive Development - Mathematics - Post - Level 1',
+ 'pre_test_ScienceDomain1': 'Science Development - Science - Pre - Level 1',
+ 'post_test_ScienceDomain1': 'Science Development - Science - Post - Level 1',
+ 'pre_test_SocialEmotionalDomain1': 'Social-Emotional Development - Pre - Level 1',
+ 'post_test_SocialEmotionalDomain1': 'Social-Emotional Development - Post - Level 1',
+ 'pre_test_PsychomotorDomain1': 'Psychomotor Development - Pre - Level 1',
+ 'post_test_PsychomotorDomain1': 'Psychomotor Development - Post - Level 1',
+ 'pre_test_ArtisticDomain1': 'Artistic Development - Pre - Level 1',
+ 'post_test_ArtisticDomain1': 'Artistic Development - Post - Level 1',
+
+ 'pre_test_LanguageArtDomain2': 'Language Development - Pre - Level 2',
+ 'post_test_LanguageArtDomain2': 'Language Development - Post - Level 2',
+ 'pre_test_CognitiveDomian2': 'Cognitive Development - Mathematics - Pre - Level 2',
+ 'post_test_CognitiveDomian2': 'Cognitive Development - Mathematics - Post - Level 2',
+ 'pre_test_ScienceDomain2': 'Science Development - Science - Pre - Level 2',
+ 'post_test_ScienceDomain2': 'Science Development - Science - Post - Level 2',
+ 'pre_test_SocialEmotionalDomain2': 'Social-Emotional Development - Pre - Level 2',
+ 'post_test_SocialEmotionalDomain2': 'Social-Emotional Development - Post - Level 2',
+ 'pre_test_PsychomotorDomain2': 'Psychomotor Development - Pre - Level 2',
+ 'post_test_PsychomotorDomain2': 'Psychomotor Development - Post - Level 2',
+ 'pre_test_ArtisticDomain2': 'Artistic Development - Pre - Level 2',
+ 'post_test_ArtisticDomain2': 'Artistic Development - Post - Level 2',
+
+ 'pre_test_LanguageArtDomain3': 'Language Development - Pre - Level 3',
+ 'post_test_LanguageArtDomain3': 'Language Development - Post - Level 3',
+ 'pre_test_CognitiveDomian3': 'Cognitive Development - Mathematics - Pre - Level 3',
+ 'post_test_CognitiveDomian3': 'Cognitive Development - Mathematics - Post - Level 3',
+ 'pre_test_ScienceDomain3': 'Science Development - Science - Pre - Level 3',
+ 'post_test_ScienceDomain3': 'Science Development - Science - Post - Level 3',
+ 'pre_test_SocialEmotionalDomain3': 'Social-Emotional Development - Pre - Level 3',
+ 'post_test_SocialEmotionalDomain3': 'Social-Emotional Development - Post - Level 3',
+ 'pre_test_PsychomotorDomain3': 'Psychomotor Development - Pre - Level 3',
+ 'post_test_PsychomotorDomain3': 'Psychomotor Development - Post - Level 3',
+ 'pre_test_ArtisticDomain3': 'Artistic Development - Pre - Level 3',
+ 'post_test_ArtisticDomain3': 'Artistic Development - Post - Level 3',
+
+ 'participation': 'Level of participation / Absence',
'barriers': 'The main barriers affecting the daily attendance and performance of the child or drop out of school?',
'learning_result': 'Based on the overall score, what is the recommended learning path?',
+
+ 'referral_programme_type_1': 'Referral programme type 1',
+ 'referral_partner_1': 'Referral partner 1',
+ 'referral_date_1': 'Referral date 1',
+ 'confirmation_date_1': 'Referral confirmation date 1',
+
+ 'referral_programme_type_2': 'Referral programme type 2',
+ 'referral_partner_2': 'Referral partner 2',
+ 'referral_date_2': 'Referral date 2',
+ 'confirmation_date_2': 'Referral confirmation date 2',
+
+ 'referral_programme_type_3': 'Referral programme type 3',
+ 'referral_partner_3': 'Referral partner 3',
+ 'referral_date_3': 'Referral date 3',
+ 'confirmation_date_3': 'Referral confirmation date 3',
+
+ 'followup_call_date_1': 'Follow-up call 1 date',
+ 'followup_call_reason_1': 'Follow-up call 1 reason',
+ 'followup_call_result_1': 'Follow-up call 1 result',
+
+ 'followup_call_date_2': 'Follow-up call 2 date',
+ 'followup_call_reason_2': 'Follow-up call 2 reason',
+ 'followup_call_result_2': 'Follow-up call 2 result',
+
+ 'followup_visit_date_1': 'Follow-up visit 1 date',
+ 'followup_visit_reason_1': 'Follow-up visit 1 reason',
+ 'followup_visit_result_1': 'Follow-up visit 1 result',
+
'new_registry': 'First time registered?',
'student_outreached': 'Student outreached?',
'have_barcode': 'Have barcode with him?',
@@ -1365,7 +2819,127 @@ def get(self, request, *args, **kwargs):
'modified': 'modified',
}
+ field_list = (
+ 'partner__name',
+ 'round__name',
+ 'cycle__name',
+ 'site',
+ 'school__name',
+ 'governorate__name_en',
+ 'district__name_en',
+ 'location',
+ 'language',
+ 'referral',
+
+ 'student__first_name',
+ 'student__father_name',
+ 'student__last_name',
+ 'student__sex',
+ 'student__birthday_day',
+ 'student__birthday_month',
+ 'student__birthday_year',
+ 'student__nationality__name',
+ 'student__mother_fullname',
+ 'student__p_code',
+ 'student__id_number',
+ 'student__number',
+ 'student__family_status',
+ 'student__have_children',
+ 'disability__name_en',
+ 'internal_number',
+ 'comments',
+ 'child_muac',
+
+ 'hh_educational_level__name',
+ 'have_labour',
+ 'labours',
+ 'labour_hours',
+
+ 'pre_test_score',
+ 'post_test_score',
+
+ 'pre_test_LanguageArtDomain1',
+ 'post_test_LanguageArtDomain1',
+ 'pre_test_CognitiveDomian1',
+ 'post_test_CognitiveDomian1',
+ 'pre_test_ScienceDomain1',
+ 'post_test_ScienceDomain1',
+ 'pre_test_SocialEmotionalDomain1',
+ 'post_test_SocialEmotionalDomain1',
+ 'pre_test_PsychomotorDomain1',
+ 'post_test_PsychomotorDomain1',
+ 'pre_test_ArtisticDomain1',
+ 'post_test_ArtisticDomain1',
+
+ 'pre_test_LanguageArtDomain2',
+ 'post_test_LanguageArtDomain2',
+ 'pre_test_CognitiveDomian2',
+ 'post_test_CognitiveDomian2',
+ 'pre_test_ScienceDomain2',
+ 'post_test_ScienceDomain2',
+ 'pre_test_SocialEmotionalDomain2',
+ 'post_test_SocialEmotionalDomain2',
+ 'pre_test_PsychomotorDomain2',
+ 'post_test_PsychomotorDomain2',
+ 'pre_test_ArtisticDomain2',
+ 'post_test_ArtisticDomain2',
+
+ 'pre_test_LanguageArtDomain3',
+ 'post_test_LanguageArtDomain3',
+ 'pre_test_CognitiveDomian3',
+ 'post_test_CognitiveDomian3',
+ 'pre_test_ScienceDomain3',
+ 'post_test_ScienceDomain3',
+ 'pre_test_SocialEmotionalDomain3',
+ 'post_test_SocialEmotionalDomain3',
+ 'pre_test_PsychomotorDomain3',
+ 'post_test_PsychomotorDomain3',
+ 'pre_test_ArtisticDomain3',
+ 'post_test_ArtisticDomain3',
+
+ 'participation',
+ 'barriers',
+ 'learning_result',
+
+ 'referral_programme_type_1',
+ 'referral_partner_1',
+ 'referral_date_1',
+ 'confirmation_date_1',
+
+ 'referral_programme_type_2',
+ 'referral_partner_2',
+ 'referral_date_2',
+ 'confirmation_date_2',
+
+ 'referral_programme_type_3',
+ 'referral_partner_3',
+ 'referral_date_3',
+ 'confirmation_date_3',
+
+ 'followup_call_date_1',
+ 'followup_call_reason_1',
+ 'followup_call_result_1',
+
+ 'followup_call_date_2',
+ 'followup_call_reason_2',
+ 'followup_call_result_2',
+
+ 'followup_visit_date_1',
+ 'followup_visit_reason_1',
+ 'followup_visit_result_1',
+
+ 'new_registry',
+ 'student_outreached',
+ 'have_barcode',
+ 'owner__username',
+ 'modified_by__username',
+ 'created',
+ 'modified',
+ )
+
qs = self.get_queryset().extra(select={
+ # 'participation': "CONCAT(participation, '_absence')",
+
'pre_test_LanguageArtDomain1': "pre_test->>'CBECE_ASSESSMENT/LanguageArtDomain1'",
'pre_test_CognitiveDomian1': "pre_test->>'CBECE_ASSESSMENT/CognitiveDomian1'",
'pre_test_ScienceDomain1': "pre_test->>'CBECE_ASSESSMENT/ScienceDomain1'",
@@ -1414,8 +2988,8 @@ def get(self, request, *args, **kwargs):
'cycle__name',
'site',
'school__name',
- 'governorate__name',
- 'district__name',
+ 'governorate__name_en',
+ 'district__name_en',
'location',
'language',
'referral',
@@ -1434,7 +3008,7 @@ def get(self, request, *args, **kwargs):
'student__number',
'student__family_status',
'student__have_children',
- 'disability__name',
+ 'disability__name_en',
'internal_number',
'comments',
'child_muac',
@@ -1492,6 +3066,34 @@ def get(self, request, *args, **kwargs):
'participation',
'barriers',
'learning_result',
+
+ 'referral_programme_type_1',
+ 'referral_partner_1',
+ 'referral_date_1',
+ 'confirmation_date_1',
+
+ 'referral_programme_type_2',
+ 'referral_partner_2',
+ 'referral_date_2',
+ 'confirmation_date_2',
+
+ 'referral_programme_type_3',
+ 'referral_partner_3',
+ 'referral_date_3',
+ 'confirmation_date_3',
+
+ 'followup_call_date_1',
+ 'followup_call_reason_1',
+ 'followup_call_result_1',
+
+ 'followup_call_date_2',
+ 'followup_call_reason_2',
+ 'followup_call_result_2',
+
+ 'followup_visit_date_1',
+ 'followup_visit_reason_1',
+ 'followup_visit_result_1',
+
'new_registry',
'student_outreached',
'have_barcode',
@@ -1501,4 +3103,55 @@ def get(self, request, *args, **kwargs):
'modified',
)
- return render_to_csv_response(qs, field_header_map=headers)
+ return render_to_csv_response(qs, field_header_map=headers, field_order=field_list)
+
+
+def load_districts(request):
+ from django.shortcuts import render
+
+ id_governorate = request.GET.get('id_governorate')
+ cities = Location.objects.filter(parent_id=id_governorate).order_by('name')
+ return render(request, 'clm/city_dropdown_list_options.html', {'cities': cities})
+
+
+def search_clm_child(request):
+ clm_type = request.GET.get('clm_type', 'BLN')
+ terms = request.GET.get('term', 0)
+ model = BLN
+ if clm_type == 'RS':
+ model = RS
+ elif clm_type == 'ABLN':
+ model = ABLN
+ elif clm_type == 'CBECE':
+ model = CBECE
+
+ qs = model.objects.filter(partner=request.user.partner_id)
+
+ if terms:
+ for term in terms.split():
+ qs = qs.filter(
+ Q(student__first_name__contains=term) |
+ Q(student__father_name__contains=term) |
+ Q(student__last_name__contains=term) |
+ Q(student__id_number=term) |
+ Q(internal_number=term)
+ ).values('id', 'student__first_name', 'student__father_name',
+ 'student__last_name', 'student__mother_fullname',
+ 'student__sex', 'student__birthday_day', 'student__birthday_month',
+ 'student__birthday_year', 'internal_number').distinct()
+
+ return JsonResponse({'result': json.dumps(list(qs))})
+
+
+class ExecABLNUpdateView(LoginRequiredMixin, TemplateView):
+
+ template_name = 'clm/execs.html'
+
+ def get_context_data(self, **kwargs):
+
+ instances = ABLN.objects.filter(round_id=8)
+ instances.update(round_id=9)
+
+ return {
+ 'result': instances.count(),
+ }
diff --git a/student_registration/dashboard/urls.py b/student_registration/dashboard/urls.py
index 43a0b1299..f429f5818 100644
--- a/student_registration/dashboard/urls.py
+++ b/student_registration/dashboard/urls.py
@@ -6,6 +6,11 @@
from student_registration.dashboard.secondshift import views as secondshift
urlpatterns = [
+ url(
+ regex=r'^run-filling_data/$',
+ view=views.fill_data,
+ name='run-filling_data'
+ ),
url(
regex=r'^exporter/$',
view=views.ExporterView.as_view(),
@@ -16,6 +21,16 @@
view=views.RunExporterViewSet.as_view(),
name='run-exporter'
),
+ url(
+ regex=r'^run-exporter-attendance/$',
+ view=views.run_attendance,# RunExporterAttendanceViewSet.as_view(),
+ name='run-exporter-attendance'
+ ),
+ url(
+ regex=r'^run-to-excel-per-day/$',
+ view=views.run_to_excel_per_day,
+ name='run-to-excel-per-day'
+ ),
url(
regex=r'^registrations-alp/$',
view=views.RegistrationsALPView.as_view(),
@@ -82,4 +97,69 @@
view=secondshift.SchoolNationalityView.as_view(),
name='2ndshift_school_nationality'
),
+ url(
+ regex=r'^update_duplicatestd/$',
+ view=views.update_duplicatestd,
+ name='update_duplicatestd'
+ ),
+ url(
+ regex=r'^fix_dupstd/$',
+ view=views.fix_dupstd,
+ name='fix_dupstd'
+ ),
+ url(
+ regex=r'^dup_id_enr/$',
+ view=views.dup_id_enr,
+ name='dup_id_enr'
+ ),
+ url(
+ regex=r'^dup_nb_enr/$',
+ view=views.dup_nb_enr,
+ name='dup_nb_enr'
+ ),
+ url(
+ regex=r'^generate_pretest_result/$',
+ view=views.generate_pretest_result,
+ name='generate_pretest_result'
+ ),
+ url(
+ regex=r'^utilities/$',
+ view=views.View_Utilities.as_view(),
+ name='utilities'
+ ),
+ url(
+ regex=r'^run-list-justification/$',
+ view=views.List_Justification.as_view(),
+ name='run-list-justification'
+ ),
+ url(
+ regex=r'^run-list-justification-sec/$',
+ view=views.List_Justification_BySection.as_view(),
+ name='run-list-justification-sec'
+ ),
+ url(
+ regex=r'^run-generate-justification/$',
+ view=views.Generate_Justification_number,
+ name='run-generate-justification'
+ ),
+ url(
+ regex=r'^run-available-documents/$',
+ view=views.List_of_available_documents.as_view(),
+ name='run-available-documents'
+ ),
+ url(
+ regex=r'^degenerate-list-justification/$',
+ view=views.degenerate_list_justification,
+ name='degenerate-list-justification'
+ ),
+ url(
+ regex=r'^export-summary-attendance/$',
+ view=views.export_summary_of_Attendance,
+ name='export-summary-attendance'
+ ),
+ url(
+ regex=r'^evaluation/$',
+ view=views.generate_evaluation,
+ name='evaluation'
+ ),
]
diff --git a/student_registration/dashboard/views.py b/student_registration/dashboard/views.py
index 4575c3b18..f616984b9 100644
--- a/student_registration/dashboard/views.py
+++ b/student_registration/dashboard/views.py
@@ -1,14 +1,23 @@
# from django.http import HttpResponse
# from django.template import loader
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-import datetime
+from __future__ import absolute_import, unicode_literals
+from django.contrib.auth.models import User
+from student_registration.backends.djqscsv import render_to_csv_response
+from django.utils.translation import ugettext as _
+from django.contrib import messages
+from django.shortcuts import render
+from datetime import datetime
from django.core.urlresolvers import reverse
from django.http import HttpResponseForbidden
-from django.views.generic import ListView, TemplateView
+from django.views.generic import ListView, TemplateView, UpdateView
from django.contrib.auth.mixins import LoginRequiredMixin
from braces.views import GroupRequiredMixin, SuperuserRequiredMixin
+from django.shortcuts import render
+from django.contrib.auth.models import Group
+from django.utils.translation import ugettext as _
+from import_export.formats import base_formats
from student_registration.locations.models import (
Location,
)
@@ -18,12 +27,17 @@
EducationLevel,
ClassLevel,
ClassRoom,
+ Evaluation,
)
+import time
+from django_tables2.export.export import TableExport
+from student_registration.users.utils import force_default_language
+from django.shortcuts import redirect
from student_registration.alp.models import Outreach, ALPRound
from student_registration.users.models import User
from student_registration.backends.exporter import export_full_data
-
+import tablib
class ExporterView(LoginRequiredMixin,
GroupRequiredMixin,
@@ -57,6 +71,329 @@ def get(self, request, *args, **kwargs):
return export_full_data(self.request.GET)
+def dup_id_enr(request, *args):
+ from student_registration.enrollments.models import Enrollment, DuplicateStd
+
+ education_year = EducationYear.objects.get(current_year=True)
+ Q_Enr = Enrollment.objects.filter(education_year_id=education_year, school_id__isnull=False,
+ school__is_2nd_shift=True, disabled=False, moved=False)
+ for q_enr in Q_Enr:
+ Q_If_Exist_Enr = Enrollment.objects.filter(education_year_id=education_year, student_id=q_enr.student_id,
+ school_id__isnull=False, moved=False, disabled=False,
+ school__is_2nd_shift=True).exclude(id=q_enr.id)
+ for q_if_exist_enr in Q_If_Exist_Enr:
+ Q_duplicatestd = DuplicateStd.objects.filter(enrollment_id=q_if_exist_enr.id, is_solved=False).count()
+ if Q_duplicatestd == 0:
+ model_duplicatestd = DuplicateStd.objects.create(
+ enrollment_id=q_if_exist_enr.id,
+ is_solved=False,
+ school_type='2ndshift',
+ owner=q_if_exist_enr.owner,
+ coordinator_id=q_if_exist_enr.school.coordinator_id,
+ Level_id=q_if_exist_enr.last_education_level_id,
+ section_id=q_if_exist_enr.section_id,
+ classroom_id=q_if_exist_enr.classroom_id,
+ education_year=education_year,
+ remark='SAME STUDENT ID',
+ )
+ model_duplicatestd.save()
+ model_duplicatestd = DuplicateStd.objects.create(
+ enrollment_id=q_enr.id,
+ is_solved=False,
+ school_type='2ndshift',
+ owner=q_enr.owner,
+ coordinator_id=q_enr.school.coordinator_id,
+ Level_id=q_enr.last_education_level_id,
+ section_id=q_enr.section_id,
+ classroom_id=q_enr.classroom_id,
+ education_year=education_year,
+ remark='SAME STUDENT ID',
+ )
+ model_duplicatestd.save()
+ context = {}
+ return render(request, "dashboard/exporter.html", context)
+
+
+def dup_nb_enr(request, *args):
+ from student_registration.enrollments.models import Enrollment, DuplicateStd
+ from student_registration.students.models import Student
+
+ education_year = EducationYear.objects.get(current_year=True)
+ Q_Enr = Enrollment.objects.filter(education_year_id=education_year, school_id__isnull=False,
+ school__is_2nd_shift=True, disabled=False, moved=False)
+ for q_enr in Q_Enr:
+ Q_Std = Student.objects.get(id=q_enr.student_id)
+ v_count = 0
+ Q_same_nb_Exist = Student.objects.filter(number=Q_Std.number)
+ std_list = []
+ for q_same_nb_exist in Q_same_nb_Exist:
+ std_list.append(q_same_nb_exist.id)
+ v_count += 1
+ if v_count > 1:
+ Q_If_Exist_Enr = Enrollment.objects.filter(education_year_id=education_year, student_id__in=std_list,
+ school_id__isnull=False, moved=False, disabled=False,
+ school__is_2nd_shift=True).exclude(id=q_enr.id)
+ for q_if_exist_enr in Q_If_Exist_Enr:
+ Q_duplicatestd = DuplicateStd.objects.filter(enrollment_id=q_if_exist_enr.id, is_solved=False).count()
+ if Q_duplicatestd == 0:
+ model_duplicatestd = DuplicateStd.objects.create(
+ enrollment_id=q_if_exist_enr.id,
+ is_solved=False,
+ school_type='2ndshift',
+ owner=q_if_exist_enr.owner,
+ coordinator_id=q_if_exist_enr.school.coordinator_id,
+ Level_id=q_if_exist_enr.last_education_level_id,
+ section_id=q_if_exist_enr.section_id,
+ classroom_id=q_if_exist_enr.classroom_id,
+ education_year=education_year,
+ remark='SAME STUDENT NUMBER',
+ )
+ model_duplicatestd.save()
+ model_duplicatestd = DuplicateStd.objects.create(
+ enrollment_id=q_enr.id,
+ is_solved=False,
+ school_type='2ndshift',
+ owner=q_enr.owner,
+ coordinator_id=q_enr.school.coordinator_id,
+ Level_id=q_enr.last_education_level_id,
+ section_id=q_enr.section_id,
+ classroom_id=q_enr.classroom_id,
+ education_year=education_year,
+ remark='SAME STUDENT NUMBER',
+ )
+ model_duplicatestd.save()
+ context = {}
+ return render(request, "dashboard/exporter.html", context)
+
+
+def fix_dupstd(request, *args):
+ from student_registration.enrollments.models import DuplicateStd
+ education_year = EducationYear.objects.get(current_year=True)
+
+ Q_duplicatestd = DuplicateStd.objects.all()
+ for q_duplicatestd in Q_duplicatestd:
+ q_duplicatestd.education_year = education_year
+ q_duplicatestd.save()
+
+ context = {}
+ return render(request, "dashboard/exporter.html", context)
+
+
+def update_duplicatestd(request):
+ from student_registration.enrollments.models import DuplicateStd, Enrollment
+ from student_registration.students.models import Student
+
+ education_year = EducationYear.objects.get(current_year=True)
+ Q_duplicatestd = DuplicateStd.objects.filter(is_solved=False, education_year=education_year)
+ for q_duplicatestd in Q_duplicatestd:
+ Q_student = Student.objects.filter(number=q_duplicatestd.enrollment.student.number)
+ str = []
+ for q_student in Q_student:
+ str.append(q_student.id)
+
+ v_exist = Enrollment.objects.filter(education_year_id=education_year, school_id__isnull=False,
+ school__is_2nd_shift=True, student_id__in=str, disabled=False).count()
+ if v_exist < 2:
+ q_duplicatestd.is_solved = True
+ q_duplicatestd.save()
+
+ context = {}
+ return render(request, "dashboard/exporter.html", context)
+
+
+def fill_data(request, *args):
+ from student_registration.enrollments.models import Enrollment
+ from student_registration.schools.models import ClassRoom
+
+ T_Enrollment = Enrollment.objects.filter(created__gt='2019-10-9', created__lt='2019-10-11', school_id__isnull=True,
+ education_year_id__isnull=True)# classroom_id__isnull=True,
+ for T_Enr in T_Enrollment:
+ try:
+ last_enrollment = Enrollment.objects.filter(student_id=T_Enr.student_id, education_year_id=1).order_by('-created')[:1]
+ for line in last_enrollment:
+ T_Enr.school_id = line.school_id
+ T_Enr.education_year_id = 4
+
+ try:
+ last_class = ClassRoom.objects.filter(id__gt=line.classroom_id)[:1]
+ for v_class in last_class:
+ T_Enr.classroom_id = v_class.id
+ except ClassRoom.DoesNotExist:
+ False
+ T_Enr.owner_id = line.owner_id
+ T_Enr.save()
+ except Enrollment.DoesNotExist:
+ continue
+ context = {}
+ return render(request, "dashboard/exporter.html", context)
+
+
+def run_attendance(request):
+ from student_registration.attendances.tasks import geo_calculate_attendances_by_student,\
+ geo_calculate_last_attendance_date
+ from_school = request.GET['txtfromschool']
+ to_school = request.GET['txttoschool']
+ from_date = request.GET['txtfromdate']
+ to_date = request.GET['txttodate']
+
+ if request.GET.get('btn_lastattendance') == 'Generate':
+ geo_calculate_attendances_by_student(from_school, to_school, from_date, to_date)
+ geo_calculate_last_attendance_date(from_school, to_school)
+ messages.add_message(request, messages.INFO, 'Finished !')
+ context = {}
+ return render(request, "dashboard/exporter.html", context)
+ if request.GET.get('btn_lastattendance') == 'Excel':
+ from student_registration.enrollments.models import Enrollment
+ queryset = Enrollment.objects.filter(education_year__current_year=True).order_by('school__number')
+ queryset = queryset.filter(school__number__gte=from_school, school__number__lte=to_school)
+ headers = {
+ 'school__number': _('School number'),
+ 'school__name': _('School'),
+ 'school__location__name': _('District'),
+ 'school__location__parent__name': _('Governorate'),
+ 'student__number': 'student number',
+ 'student__first_name': _('Student first name'),
+ 'student__father_name': _('Student father name'),
+ 'student__last_name': _('Student last name'),
+ 'student__mother_fullname': _('Mother fullname'),
+ 'student__sex': _('Sex'),
+ 'student__birthday_year': _('year'),
+ 'student__birthday_month': _('month'),
+ 'student__birthday_day': _('day'),
+ 'student__place_of_birth': _('Place of birth'),
+ 'student__phone': _('Phone number'),
+ 'student__phone_prefix': _('Phone prefix'),
+ 'student__id_number': _('Student ID Number'),
+ 'student__nationality__name': _('Student nationality'),
+ 'section__name': _('Current Section'),
+ 'classroom__name': _('Current Class'),
+ 'last_attendance_date': _('Last attendance date'),
+ 'last_absent_date': _('Last absent date'),
+ 'dropout_status': _('dropout status'),
+ 'dropout_date': _('dropout date'),
+ 'moved': _('moved'),
+ 'last_moved_date': _('last moved date'),
+ }
+ queryset = queryset.values(
+ 'school__number',
+ 'school__name',
+ 'school__location__name',
+ 'school__location__parent__name',
+ 'student__number',
+ 'student__first_name',
+ 'student__father_name',
+ 'student__last_name',
+ 'student__mother_fullname',
+ 'student__sex',
+ 'student__birthday_year',
+ 'student__birthday_month',
+ 'student__birthday_day',
+ 'student__place_of_birth',
+ 'student__phone',
+ 'student__phone_prefix',
+ 'student__id_number',
+ 'student__nationality__name',
+ 'section__name',
+ 'classroom__name',
+ 'last_attendance_date',
+ 'last_absent_date',
+ 'dropout_status',
+ 'dropout_date',
+ 'moved',
+ 'last_moved_date',
+ )
+ return render_to_csv_response(queryset, field_header_map=headers)
+
+
+def run_to_excel_per_day(request):
+ from student_registration.attendances.tasks import geo_calculate_attendances_per_day
+ from student_registration.attendances.models import AttendanceDt
+ from student_registration.students.models import Student
+ from_school = request.GET['txt_from_school']
+ to_school = request.GET['txt_to_school']
+ from_date = request.GET['txt_from_date']
+ to_date = request.GET['txt_to_date']
+ txt_std = request.GET['txt_student']
+ if request.GET.get('btntype') == 'Generate':
+ geo_calculate_attendances_per_day(from_school, to_school, from_date, to_date, txt_std)
+ messages.add_message(request, messages.INFO, 'Finished !')
+ context = {}
+ return render(request, "dashboard/exporter.html", context)
+ else:
+ if txt_std:
+ std_id = ()
+ std = Student.objects.filter(number=txt_std)
+ for st in std:
+ std_id = st.id,
+ qs_attendancedt = AttendanceDt.objects.filter(attendance_date__gte=from_date, attendance_date__lte=to_date,
+ school__number__gte=from_school, school__number__lte=to_school,
+ student_id__in=std_id).\
+ order_by('attendance_date', 'school__number')
+ else:
+ qs_attendancedt = AttendanceDt.objects.filter(attendance_date__gte=from_date, attendance_date__lte=to_date,
+ school__number__gte=from_school, school__number__lte=to_school
+ ).order_by('attendance_date', 'school__number')
+
+ headers = {
+ 'school__number': _('School number'),
+ 'school__name': _('School'),
+ 'school__location__name': _('District'),
+ 'school__location__parent__name': _('Governorate'),
+ 'student__number': 'student number',
+ 'student__first_name': _('Student first name'),
+ 'student__father_name': _('Student father name'),
+ 'student__last_name': _('Student last name'),
+ 'student__mother_fullname': _('Mother fullname'),
+ 'student__sex': _('Sex'),
+ 'student__birthday_year': _('year'),
+ 'student__birthday_month': _('month'),
+ 'student__birthday_day': _('day'),
+ 'student__place_of_birth': _('Place of birth'),
+ 'student__phone': _('Phone number'),
+ 'student__phone_prefix': _('Phone prefix'),
+
+ 'student__id_number': _('Student ID Number'),
+ 'student__nationality__name': _('Student nationality'),
+
+ 'section__name': _('Current Section'),
+ 'levelname': _('Current Class'),
+
+ 'attendance_date': _('Attendance date'),
+ 'is_present': _('Is Present'),
+
+ }
+ qs_attendancedt = qs_attendancedt.values(
+ 'school__number',
+ 'school__name',
+ 'school__location__name',
+ 'school__location__parent__name',
+ 'student__number',
+ 'student__first_name',
+ 'student__father_name',
+ 'student__last_name',
+ 'student__mother_fullname',
+ 'student__sex',
+ 'student__birthday_year',
+ 'student__birthday_month',
+ 'student__birthday_day',
+ 'student__place_of_birth',
+ 'student__phone',
+ 'student__phone_prefix',
+
+ 'student__id_number',
+ 'student__nationality__name',
+
+ 'section__name',
+ 'levelname',
+
+ 'attendance_date',
+ 'is_present',
+
+ )
+
+ return render_to_csv_response(qs_attendancedt, field_header_map=headers)
+
+
class RegistrationsALPView(LoginRequiredMixin,
GroupRequiredMixin,
TemplateView):
@@ -293,6 +630,15 @@ def get_context_data(self, **kwargs):
}
+class View_Utilities(TemplateView):
+ template_name = 'dashboard/utilities.html'
+
+ group_required = [u"MEHE"]
+
+ def handle_no_permission(self, request):
+ return HttpResponseForbidden()
+
+
class RegistrationsALPPostTestView(LoginRequiredMixin,
GroupRequiredMixin,
TemplateView):
@@ -327,3 +673,357 @@ def get_context_data(self, **kwargs):
'governorates': governorates,
'education_levels': ClassLevel.objects.all()
}
+
+
+def generate_pretest_result(request):
+ from student_registration.alp.utils import assign_to_level
+ from student_registration.alp.models import Outreach, ALPRound
+ alp_round = ALPRound.objects.get(current_pre_test=True)
+
+ registrations = Outreach.objects.filter(alp_round=alp_round, level__isnull=False)
+
+ for registry in registrations:
+ try:
+ registry.assigned_to_level = assign_to_level(registry.level, registry.exam_total)
+ registry.save()
+ except Exception as ex:
+ continue
+ context = {}
+ return render(request, "dashboard/exporter.html", context)
+
+
+class List_Justification(TemplateView):
+ template_name = 'dashboard/list_justification.html'
+ group_required = [u"MEHE"]
+
+ def handle_no_permission(self, request):
+ return HttpResponseForbidden()
+
+ def get_queryset(self):
+ if (self.request.GET.get('rb_groupby') == 'BYSECTION'):
+ print('Section')
+ else:
+ print ('class')
+
+ def get_context_data(self, **kwargs):
+ from student_registration.enrollments.models import Enrollment
+ from student_registration.schools.models import EducationYear
+ education_year = EducationYear.objects.get(current_year=True)
+ v_exist = Enrollment.objects.filter(education_year_id=education_year, disabled=False,
+ school_id__isnull=False, school__is_2nd_shift=True,
+ school_id=self.request.user.school_id,
+ justificationnumber__isnull=False).count()
+ if v_exist:
+ v_last_nb = Enrollment.objects.filter(education_year_id=education_year,
+ school_id__isnull=False, school__is_2nd_shift=True,
+ school_id=self.request.user.school_id, disabled=False,
+ justificationnumber__isnull=False).values_list('justificationnumber',
+ flat=True).order_by('-justificationnumber')[0]
+ else:
+ v_last_nb = ''
+ return {
+ 'enrollment': Enrollment.objects.filter(education_year_id=education_year, school_id__isnull=False,
+ school__is_2nd_shift=True, disabled=False,
+ school_id=self.request.user.school_id).
+ order_by('classroom_id', 'student__first_name', 'student__father_name', 'student__last_name'),
+ 'school': School.objects.filter(id=self.request.user.school_id),
+ 'education_year': education_year,
+ 'current_date': datetime.now(),
+ 'last_justificationnumber': v_last_nb,
+ 'rep_groupby': 'CLASS',
+ }
+
+
+class List_Justification_BySection(TemplateView):
+ template_name = 'dashboard/list_justification.html'
+ group_required = [u"MEHE"]
+
+ def handle_no_permission(self, request):
+ return HttpResponseForbidden()
+
+ def get_queryset(self):
+ if (self.request.GET.get('rb_groupby') == 'BYSECTION'):
+ print('Section')
+ else:
+ print ('class')
+
+ def get_context_data(self, **kwargs):
+ from student_registration.enrollments.models import Enrollment
+ from student_registration.schools.models import EducationYear
+ education_year = EducationYear.objects.get(current_year=True)
+ v_exist = Enrollment.objects.filter(education_year_id=education_year, disabled=False,
+ school_id__isnull=False, school__is_2nd_shift=True,
+ school_id=self.request.user.school_id,
+ justificationnumber__isnull=False).count()
+ if v_exist:
+ v_last_nb = Enrollment.objects.filter(education_year_id=education_year,
+ school_id__isnull=False, school__is_2nd_shift=True,
+ school_id=self.request.user.school_id, disabled=False,
+ justificationnumber__isnull=False).values_list('justificationnumber',
+ flat=True).order_by('-justificationnumber')[0]
+ else:
+ v_last_nb = ''
+ return {
+ 'enrollment': Enrollment.objects.filter(education_year_id=education_year, school_id__isnull=False,
+ school__is_2nd_shift=True, disabled=False,
+ school_id=self.request.user.school_id).
+ order_by('classroom_id', 'section_id', 'student__first_name', 'student__father_name', 'student__last_name'),
+ 'school': School.objects.filter(id=self.request.user.school_id),
+ 'education_year': education_year,
+ 'current_date': datetime.now(),
+ 'last_justificationnumber': v_last_nb,
+ 'rep_groupby': 'SECTION',
+ }
+
+class List_of_available_documents(TemplateView):
+ template_name = 'dashboard/available_documents.html'
+
+ def handle_no_permission(self, request):
+ return HttpResponseForbidden()
+
+ def get_context_data(self, **kwargs):
+ from student_registration.enrollments.models import Enrollment
+ from student_registration.schools.models import EducationYear
+ education_year = EducationYear.objects.get(current_year=True)
+
+ return {
+ 'enrollment': Enrollment.objects.filter(education_year_id=education_year, school_id__isnull=False,
+ school__is_2nd_shift=True, disabled=False, #dropout_status=False, moved=False,
+ school_id=self.request.user.school_id).order_by('classroom_id', 'section_id','student'),
+ 'education_year': education_year,
+ 'current_date': datetime.now(),
+
+ }
+
+
+def Generate_Justification_number(request):
+ from student_registration.enrollments.models import Enrollment
+ from student_registration.schools.models import EducationYear
+ education_year = EducationYear.objects.get(current_year=True)
+ Q_Enr = Enrollment.objects.filter(education_year_id=education_year, school_id__isnull=False,
+ school__is_2nd_shift=True, #dropout_status=False, moved=False,
+ school_id=request.user.school_id, justificationnumber__isnull=True)\
+ .order_by('classroom_id'),
+ q_count = Enrollment.objects.filter(education_year_id=education_year, school_id__isnull=False,
+ school__is_2nd_shift=True,# dropout_status=False, moved=False,
+ school_id=request.user.school_id,
+ justificationnumber__isnull=False).\
+ exclude(justificationnumber='').distinct('justificationnumber').order_by('justificationnumber').count(),
+ for q_enr in Q_Enr:
+ q_enr.update(justificationnumber=
+ str(request.user.school.number)+'-'+str(education_year)+'-'+str(int(q_count[0])+1))
+
+ Q_Users = User.objects.filter(school=request.user.school, is_active=True)
+ group = Group.objects.get(name='ENROL_CREATE')
+ for q_users in Q_Users:
+ q_users.groups.remove(group)
+ group = Group.objects.get(name='ENROL_EDIT')
+ for q_users in Q_Users:
+ q_users.groups.remove(group)
+ group = Group.objects.get(name='ENROL_DELETE')
+ for q_users in Q_Users:
+ q_users.groups.remove(group)
+
+ context = {}
+ return render(request, "dashboard/utilities.html", context)
+
+
+def degenerate_list_justification(request):
+ from student_registration.enrollments.models import Enrollment
+ from student_registration.schools.models import EducationYear
+ education_year = EducationYear.objects.get(current_year=True)
+
+ if request.method == 'GET':
+ if request.GET['txt_school']:
+ Q_Enr = Enrollment.objects.filter(education_year_id=education_year, school_id__isnull=False,
+ school__is_2nd_shift=True, # dropout_status=False, moved=False,
+ school__number=request.GET['txt_school']).exclude(justificationnumber=''),
+
+ for q_enr in Q_Enr:
+ q_enr.update(justificationnumber=None)
+ Q_Users = User.objects.filter(school__number=request.GET['txt_school'], is_active=True)
+ group = Group.objects.get(name='ENROL_CREATE')
+ for q_users in Q_Users:
+ q_users.groups.add(group)
+ group = Group.objects.get(name='ENROL_EDIT')
+ for q_users in Q_Users:
+ q_users.groups.add(group)
+ group = Group.objects.get(name='ENROL_DELETE')
+ for q_users in Q_Users:
+ q_users.groups.add(group)
+
+ context = {}
+ return render(request, "dashboard/exporter.html", context)
+
+
+class List_of_Attendance(TemplateView):
+ template_name = 'dashboard/attendance_list.html'
+
+ def handle_no_permission(self, request):
+ return HttpResponseForbidden()
+
+ def get_context_data(self, **kwargs):
+ from student_registration.attendances.models import AttendanceDt
+ from student_registration.enrollments.models import Enrollment
+ from student_registration.schools.models import EducationYear
+ from_school = self.request.GET['att_fromschool']
+ to_school = self.request.GET['att_toschool']
+ from_date = self.request.GET['att_fromdate']
+ to_date = self.request.GET['att_todate']
+ education_year = EducationYear.objects.get(current_year=True)
+ ENR = Enrollment.objects.filter(education_year_id=education_year, school_id__isnull=False,
+ # moved=False, dropout_status=False,
+ school__is_2nd_shift=True, disabled=False, school__number__gte=from_school,
+ school__number__lte=to_school).order_by('school_id', 'classroom_id',
+ 'section_id', 'student__first_name',
+ 'student__father_name',
+ 'student__last_name')
+ list_data = []
+ for enr in ENR:
+ ATTEND = AttendanceDt.objects.filter(attendance_date__gte=from_date, attendance_date__lte=to_date,
+ is_present=True, student_id=enr.student_id,
+ school_id=enr.school_id,
+ classlevel_id=enr.classroom_id, section_id=enr.section_id).count()
+ ABSENCES = AttendanceDt.objects.filter(attendance_date__gte=from_date, attendance_date__lte=to_date,
+ is_present=False, student_id=enr.student_id,
+ school_id=enr.school_id,
+ classlevel_id=enr.classroom_id,
+ section_id=enr.section_id).count()
+ if (((self.request.GET['rb_option'] == 'rb_nozero_attend') and (ATTEND != 0))
+ or (self.request.GET['rb_option'] == 'rb_all')
+ or ((self.request.GET['rb_option'] == 'rb_zero_attend') and (ATTEND == 0))):
+ list_data.append({
+ 'groupby': u'{} - {} - {}'.format(enr.school, enr.classroom, enr.section),
+ 'school_id': enr.school,
+ 'class_id': enr.classroom,
+ 'section_id': enr.section,
+ 'student_id': enr.student_id,
+ 'full_name': enr.student.full_name,
+ 'mother_fullname': enr.student.mother_fullname,
+ 'birthday': enr.student.birthday,
+ 'sex': enr.student.sex,
+ 'total_attend': ATTEND,
+ 'total_absent': ABSENCES})
+ return {'v_data': list_data}
+
+
+def export_summary_of_Attendance(request):
+ from student_registration.enrollments.models import Enrollment
+ from student_registration.schools.models import EducationYear
+ from_school = request.GET['att_fromschool']
+ to_school = request.GET['att_toschool']
+ from_date = request.GET['att_fromdate']
+ to_date = request.GET['att_todate']
+ education_year = EducationYear.objects.get(current_year=True)
+ if (from_school)and(to_date):
+ qs_enr = Enrollment.objects.filter(education_year_id=education_year, school_id__isnull=False,
+ school__is_2nd_shift=True, school__number__gte=from_school,
+ school__number__lte=to_school).extra(
+ select={
+ 'attend': """ select count(id) from attendances_attendancedt where is_present=True and
+ attendances_attendancedt.student_id=enrollments_enrollment.student_id and
+ attendances_attendancedt.school_id=enrollments_enrollment.school_id
+ and attendances_attendancedt.attendance_date between %s and %s""",
+ 'absent': """ select count(id) from attendances_attendancedt where is_present=False and
+ attendances_attendancedt.student_id=enrollments_enrollment.student_id and
+ attendances_attendancedt.school_id=enrollments_enrollment.school_id
+ and attendances_attendancedt.attendance_date between %s and %s""",
+ 'tel': """ concat(phone_prefix,phone) """,
+ 'first_attend': """ select min(attendance_date) attendance_date from attendances_attendancedt
+ where attendances_attendancedt.student_id = enrollments_enrollment.student_id
+ and is_present=True and attendances_attendancedt.school_id =enrollments_enrollment.school_id """,
+ }, select_params=[from_date, to_date, from_date, to_date]).order_by('school_id', 'classroom_id',
+ 'section_id', 'student__first_name',
+ 'student__father_name', 'student__last_name')
+ else:
+ qs_enr = Enrollment.objects.filter(education_year_id=education_year, school_id__isnull=False,
+ school__is_2nd_shift=True, disabled=False,).extra(
+ select={
+ 'attend': """ select count(id) from attendances_attendancedt where is_present=True and
+ attendances_attendancedt.student_id=enrollments_enrollment.student_id and
+ attendances_attendancedt.school_id=enrollments_enrollment.school_id
+ and attendances_attendancedt.attendance_date between %s and %s""",
+ 'absent': """ select count(id) from attendances_attendancedt where is_present=False and
+ attendances_attendancedt.student_id=enrollments_enrollment.student_id and
+ attendances_attendancedt.school_id=enrollments_enrollment.school_id
+ and attendances_attendancedt.attendance_date between %s and %s""",
+ 'tel': """ concat(phone_prefix,phone) """,
+ 'first_attend': """ select min(attendance_date) attendance_date from attendances_attendancedt
+ where attendances_attendancedt.student_id = enrollments_enrollment.student_id
+ and is_present=True and attendances_attendancedt.school_id =enrollments_enrollment.school_id """,
+ }, select_params=[from_date, to_date, from_date, to_date]).order_by('school_id', 'classroom_id',
+ 'section_id', 'student__first_name',
+ 'student__father_name',
+ 'student__last_name')
+ headers = {
+ 'school__number': _('School number'),
+ 'school__name': _('School'),
+ 'school__location__name': _('District'),
+ 'school__location__parent__name': _('Governorate'),
+ 'section__name': _('Current Section'),
+ 'classroom__name': _('Current Class'),
+ 'student__id': 'student id',
+ 'student__number': 'student number',
+ 'student__first_name': _('Student first name'),
+ 'student__father_name': _('Student father name'),
+ 'student__last_name': _('Student last name'),
+ 'student__mother_fullname': _('Mother fullname'),
+ 'student__sex': _('Sex'),
+ 'student__birthday_year': _('year'),
+ 'student__birthday_month': _('month'),
+ 'student__birthday_day': _('day'),
+ 'student__place_of_birth': _('Place of birth'),
+ 'tel': _('Phone'),
+ 'student__id_number': _('Student ID Number'),
+ 'student__nationality__name': _('Student nationality'),
+ 'attend': _('attend'),
+ 'absent': _('absent'),
+ 'disabled': _('disabled'),
+ 'moved': _('moved'),
+ 'dropout_status': _('dropout status'),
+ 'first_attend': _('first attend'),
+ }
+ qs_enr = qs_enr.values(
+ 'school__number',
+ 'school__name',
+ 'school__location__name',
+ 'school__location__parent__name',
+ 'section__name',
+ 'classroom__name',
+ 'student__id',
+ 'student__number',
+ 'student__first_name',
+ 'student__father_name',
+ 'student__last_name',
+ 'student__mother_fullname',
+ 'student__sex',
+ 'student__birthday_year',
+ 'student__birthday_month',
+ 'student__birthday_day',
+ 'student__place_of_birth',
+ 'tel',
+ 'student__id_number',
+ 'student__nationality__name',
+ 'attend',
+ 'absent',
+ 'disabled',
+ 'moved',
+ 'dropout_status',
+ 'first_attend',
+ )
+ return render_to_csv_response(qs_enr, field_header_map=headers)
+
+
+def generate_evaluation(request):
+ school = School.objects.filter(is_closed=False)
+ education_year = EducationYear.objects.get(current_year=True)
+ for sch in school:
+ count_evaluation = Evaluation.objects.filter(school_id=sch.id, education_year=education_year).count()
+ if count_evaluation == 0:
+ Evaluation.objects.create(
+ school_id=sch.id,
+ education_year=education_year,
+ owner_id=request.user.id,
+ )
+ context = {}
+ return render(request, "dashboard/exporter.html", context)
diff --git a/student_registration/enrollments/admin.py b/student_registration/enrollments/admin.py
index b529056be..6341818a6 100644
--- a/student_registration/enrollments/admin.py
+++ b/student_registration/enrollments/admin.py
@@ -16,9 +16,11 @@
EnrollmentGrading,
StudentMove,
LoggingStudentMove,
- LoggingProgramMove
+ LoggingProgramMove,
+ DuplicateStd,
+ DocumentType,
)
-from .forms import EnrollmentAdminForm, LoggingStudentMoveForm
+from .forms import EnrollmentAdminForm, LoggingStudentMoveForm, DuplicateStdAdminForm
from .utils import initiate_grading
from student_registration.schools.models import (
School,
@@ -26,6 +28,37 @@
from student_registration.locations.models import Location
+class DuplicateStdResource(resources.ModelResource):
+
+ class Meta:
+ model = DuplicateStd
+ form = DuplicateStdAdminForm
+ fields = (
+ 'is_solved',
+ 'remark',
+ 'enrollment__student__first_name',
+ 'enrollment__student__father_name',
+ 'enrollment__student__last_name',
+ 'enrollment__student__birthday_day',
+ 'enrollment__student__birthday_month',
+ 'enrollment__student__birthday_year',
+ 'enrollment__student__mother_fullname',
+ 'classroom__name',
+ 'enrollment__student__id_number',
+ 'enrollment__student__number',
+ 'enrollment__student__sex',
+ 'enrollment__school__location',
+ 'enrollment__school__number',
+ 'enrollment__school__name',
+ 'governorate',
+ 'district',
+ 'enrollment__section__name',
+ 'coordinator__name',
+ 'is_deleted',
+ 'enrollment__moved',
+ )
+
+
class EnrollmentResource(resources.ModelResource):
governorate = fields.Field(
column_name='governorate',
@@ -93,8 +126,13 @@ class Meta:
'created',
'modified',
'moved',
+ 'last_moved_date',
'dropout_status',
+ 'dropout_date',
'disabled',
+ 'is_justified',
+ 'justified_date',
+ 'justified_by',
)
export_order = fields
@@ -205,6 +243,7 @@ def lookups(self, request, model_admin):
('1', 'Cycle 1'),
('2', 'Cycle 2'),
('3', 'Cycle 3'),
+ ('4', 'KG'),
)
def queryset(self, request, queryset):
@@ -215,6 +254,8 @@ def queryset(self, request, queryset):
return queryset.filter(classroom_id__in=[5, 6, 7])
if self.value() == '3':
return queryset.filter(classroom_id__in=[8, 9, 10])
+ if self.value() == '4':
+ return queryset.filter(classroom_id__in=[1])
return queryset
@@ -267,6 +308,9 @@ class EnrollmentAdmin(ImportExportModelAdmin):
'student_mother_nationality',
'student_phone_number',
'student_address',
+ 'is_justified',
+ 'justified_date',
+ 'justified_by',
)
}),
('Current Situation', {
@@ -303,6 +347,7 @@ class EnrollmentAdmin(ImportExportModelAdmin):
'moved',
'last_moved_date',
'dropout_status',
+ 'dropout_date',
'disabled',
'last_attendance_date',
'last_absent_date',
@@ -335,6 +380,9 @@ class EnrollmentAdmin(ImportExportModelAdmin):
'last_absent_date',
'created',
'modified',
+ 'is_justified',
+ 'justified_date',
+ 'justified_by',
)
list_filter = (
'education_year',
@@ -373,6 +421,7 @@ class EnrollmentAdmin(ImportExportModelAdmin):
'new_registry',
'student_outreached',
'have_barcode',
+ 'is_justified',
)
search_fields = (
'student__first_name',
@@ -777,10 +826,96 @@ def get_export_formats(self):
return get_default_export_formats()
+class DuplicateStdAdmin(ImportExportModelAdmin):
+ resource_class = DuplicateStdResource
+ form = DuplicateStdAdminForm
+ readonly_fields = (
+ 'school_type',
+ 'student_fullname',
+ 'student_birthday',
+ 'student_sex',
+ 'student_id_number',
+ 'student_number',
+ 'student_mother_fullname',
+ 'school_number',
+ 'classroom_name',
+ 'section_name',
+ 'school_name',
+ 'school_location',
+ 'coordinator_name',
+ 'owner',
+ )
+ fieldsets = (
+ ('Enrollment Info', {
+ 'fields': (
+ 'school_type',
+ 'student_fullname',
+ 'student_birthday',
+ 'student_sex',
+ 'student_id_number',
+ 'student_number',
+ 'student_mother_fullname',
+ 'school_number',
+ 'classroom_name',
+ 'section_name',
+ 'school_name',
+ 'school_location',
+ 'coordinator_name',
+ 'remark',
+ 'owner',
+ 'is_solved',
+ 'is_deleted',
+
+ )
+ }),
+ )
+ list_display = (
+ 'student_fullname',
+ 'student_birthday',
+ 'student_sex',
+ 'student_id_number',
+ 'student_number',
+ 'student_mother_fullname',
+ 'school_type',
+ 'school_number',
+ 'classroom_name',
+ 'section_name',
+ 'school_name',
+ 'school_location',
+ 'coordinator_name',
+ 'remark',
+ 'owner',
+ 'is_solved',
+ 'is_deleted',
+
+ )
+ list_filter = (
+ 'school_type',
+ 'is_solved',
+ 'enrollment__school__number',
+ 'enrollment__school__name',
+ 'remark',
+
+ )
+ search_fields = (
+ 'enrollment__student__first_name',
+ 'enrollment__student__father_name',
+ 'enrollment__student__last_name',
+ )
+
+ def save_model(self, request, obj, form, change):
+ enr = Enrollment.objects.get(id=obj.enrollment_id)
+ enr.disabled = obj.is_deleted
+ enr.save()
+ obj.save()
+
+
+admin.site.register(DuplicateStd, DuplicateStdAdmin)
admin.site.register(Enrollment, EnrollmentAdmin)
admin.site.register(Dropout, DropoutAdmin)
admin.site.register(Disabled, DisabledAdmin)
-# admin.site.register(StudentMove, StudentMoveAdmin)
+admin.site.register(StudentMove, StudentMoveAdmin)
admin.site.register(LoggingStudentMove, LoggingStudentMoveAdmin)
admin.site.register(LoggingProgramMove, LoggingProgramMoveAdmin)
admin.site.register(EnrollmentGrading, GradingAdmin)
+admin.site.register(DocumentType)
diff --git a/student_registration/enrollments/filters.py b/student_registration/enrollments/filters.py
index a4c252136..0271cd67d 100644
--- a/student_registration/enrollments/filters.py
+++ b/student_registration/enrollments/filters.py
@@ -2,8 +2,8 @@
from django_filters import FilterSet, ModelChoiceFilter
-from student_registration.locations.models import Location
-from student_registration.schools.models import EducationYear, Section, ClassRoom
+from model_utils import Choices
+from student_registration.schools.models import EducationYear, Section, ClassRoom, School
from student_registration.students.models import Nationality
from .models import Enrollment
@@ -46,3 +46,27 @@ class Meta:
'student__id_number': ['contains'],
'student__nationality': ['exact'],
}
+
+
+class Common_ByRegion_Filter(FilterSet):
+ school = ModelChoiceFilter(queryset=School.objects.all(), empty_label=_('School'))
+ classroom = ModelChoiceFilter(queryset=ClassRoom.objects.all(), empty_label=_('Class'))
+ section = ModelChoiceFilter(queryset=Section.objects.all(), empty_label=_('Section'))
+ student__nationality = ModelChoiceFilter(queryset=Nationality.objects.all(), empty_label=_('Nationality'))
+
+
+class Enrollment_by_region_Filter(Common_ByRegion_Filter):
+ class Meta:
+ model = Enrollment
+ fields = {
+ 'school': ['exact'],
+ 'is_justified': ['exact'],
+ 'classroom': ['exact'],
+ 'section': ['exact'],
+ 'student__first_name': ['contains'],
+ 'student__father_name': ['contains'],
+ 'student__last_name': ['contains'],
+ 'student__mother_fullname': ['contains'],
+ 'student__id_number': ['contains'],
+ 'student__nationality': ['exact'],
+ }
diff --git a/student_registration/enrollments/forms.py b/student_registration/enrollments/forms.py
index ecc07d8ba..699c8e5cd 100644
--- a/student_registration/enrollments/forms.py
+++ b/student_registration/enrollments/forms.py
@@ -1,3 +1,4 @@
+
from __future__ import unicode_literals, absolute_import, division
from django.utils.translation import ugettext as _
@@ -9,12 +10,16 @@
from crispy_forms.helper import FormHelper
from crispy_forms.bootstrap import FormActions
from crispy_forms.layout import Layout, Fieldset, Button, Submit, Div, Field, HTML
+from student_registration.students.models import Birth_DocumentType
from student_registration.students.models import (
Person,
Student,
IDType,
Nationality,
+ SpecialNeeds,
+ SpecialNeedsDt,
+ FinancialSupport,
)
from student_registration.schools.models import (
School,
@@ -27,6 +32,7 @@
from .models import Enrollment, LoggingStudentMove, EducationYear
from .serializers import EnrollmentSerializer
from .utils import initiate_grading
+from student_registration.enrollments.models import DuplicateStd, DocumentType
YES_NO_CHOICE = ((1, _("Yes")), (0, _("No")))
@@ -40,6 +46,13 @@
DAYS.insert(0, ('', '---------'))
+class DuplicateStdAdminForm(forms.ModelForm):
+
+ class Meta:
+ model = DuplicateStd
+ fields = '__all__'
+
+
class EnrollmentAdminForm(forms.ModelForm):
student = forms.ModelChoiceField(
@@ -235,6 +248,10 @@ class EnrollmentForm(forms.ModelForm):
label=_("Place of birth"),
widget=forms.TextInput, required=False
)
+ student_recordnumber = forms.CharField(
+ label=_('Identity record number'),
+ widget=forms.TextInput, required=False
+ )
number_in_previous_school = forms.CharField(
label=_("Serial number in previous school"),
widget=forms.TextInput, required=False
@@ -307,12 +324,74 @@ class EnrollmentForm(forms.ModelForm):
required=True, to_field_name='id',
initial=27
)
-
+ student_is_specialneeds = forms.BooleanField(required=False, label=_('Special Needs'))
+ student_specialneeds = forms.ModelChoiceField(
+ label=_('Special needs program'),
+ queryset=SpecialNeeds.objects.all(),
+ widget=forms.Select,
+ required=False, to_field_name='id'
+ )
+ student_specialneedsdt = forms.ModelChoiceField(
+ label=_('Details Special needs'),
+ queryset=SpecialNeedsDt.objects.all(),
+ widget=forms.Select,
+ required=False, to_field_name='id'
+ )
+ student_is_financialsupport = forms.BooleanField(required=False, label=_('Is Financial Support'))
+ student_Financialsupport_number = forms.CharField(
+ label=_('Financial Support Nb'),
+ required=False,
+ widget=forms.TextInput,
+ )
+ student_financialsupport = forms.ModelChoiceField(
+ label=_('Financial Support Program'),
+ queryset=FinancialSupport.objects.all(),
+ widget=forms.Select,
+ required=False, to_field_name='id'
+ )
+ student_unhcr_family = forms.RegexField(
+ regex=r'^((245)|(380)|(568)|(705)|(781)|(909)|(947)|(954)|(LEB)|(leb))-[0-9][0-9][C]\d{5}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: XXX-XXCXXXXX'}),
+ required=False,
+ label=_('UNHCR Family Nb.'),
+ )
+ student_unhcr_personal = forms.RegexField(
+ label=_('UNHCR Personal Nb.'),
+ regex=r'^((245)|(380)|(568)|(705)|(781)|(909)|(947)|(954)|(LEB)|(leb))-[0-9]{8}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: XXX-XXXXXXXX'}),
+ required=False,
+ )
+ # student_id_image = forms.ImageField(
+ # required=False,
+ # label='_(ID Picture)')
student_id = forms.CharField(widget=forms.HiddenInput, required=False)
enrollment_id = forms.CharField(widget=forms.HiddenInput, required=False)
student_outreach_child = forms.CharField(widget=forms.HiddenInput, required=False)
age_min_restricted = forms.BooleanField(widget=forms.HiddenInput, required=False)
age_max_restricted = forms.BooleanField(widget=forms.HiddenInput, required=False)
+ documenttype = forms.ModelChoiceField(
+ label=_("Private Document Type"),
+ queryset=DocumentType.objects.all(), widget=forms.Select,
+ required=True, to_field_name='id',
+ )
+ documentyear = forms.ModelChoiceField(
+ label=_("Document Year"),
+ queryset=EducationYear.objects.all(), widget=forms.Select,
+ required=False, to_field_name='id',
+ )
+ signature_cert_date = forms.DateField(
+ label=_("Signature Date"),
+ required=False
+ )
+ documentnumber = forms.CharField(
+ label=_('Document Number'),
+ required=False,
+ widget=forms.TextInput,
+ )
+ document_lastyear = forms.ImageField(
+ label=_('picture of previous education'),
+ required=False,
+ )
def __init__(self, *args, **kwargs):
self.request = kwargs.pop('request', None)
@@ -323,9 +402,16 @@ def __init__(self, *args, **kwargs):
display_registry = ''
self.helper = FormHelper()
self.helper.form_show_labels = True
+ str_image = ''
+ str_id = '-1'
if instance:
display_registry = ' d-none'
form_action = reverse('enrollments:edit', kwargs={'pk': instance.id})
+ if instance.student.std_image:
+ str_image = instance.student.std_image.url
+
+ if instance.student.id:
+ str_id = str(instance.student.id)
else:
form_action = reverse('enrollments:add')
try:
@@ -335,7 +421,6 @@ def __init__(self, *args, **kwargs):
self.fields['last_school'].initial = na_school
self.helper.form_action = form_action
-
self.helper.layout = Layout(
Fieldset(
None,
@@ -391,6 +476,14 @@ def __init__(self, *args, **kwargs):
Div(
HTML(''+_('Basic Data')+'
')
),
+
+ Div(
+
+ HTML('
'),
+
+ #Div('student_std_image', css_class='col-md-3'),
+ ),
+
Div(
HTML('1'),
Div('registration_date', css_class='col-md-3'),
@@ -443,6 +536,13 @@ def __init__(self, *args, **kwargs):
Div('student_id_number', css_class='col-md-3'),
css_class='row',
),
+ Div(
+ HTML('15.1'),
+ Div('student_unhcr_family', css_class='col-md-3'),
+ HTML('15.2'),
+ Div('student_unhcr_personal', css_class='col-md-3'),
+ css_class='row',
+ ),
Div(
HTML('16'),
Div('student_phone_prefix', css_class='col-md-3'),
@@ -456,11 +556,55 @@ def __init__(self, *args, **kwargs):
HTML('19'),
Div('student_place_of_birth', css_class='col-md-3'),
HTML('20'),
+ Div('student_recordnumber', css_class='col-md-3'),
+ HTML('21'),
Div('number_in_previous_school', css_class='col-md-3'),
css_class='row',
),
css_class='bd-callout bd-callout-warning child_data'
),
+ Fieldset(
+ None,
+ Div(
+ Div(
+ HTML('' + _('Special needs') + '
')
+ ),
+ Div(
+ HTML(''),
+ Div('student_is_specialneeds', css_class='col-md-3'),
+ HTML(''),
+ ),
+ Div(
+ Div('student_specialneeds', css_class='col-md-3'),
+ Div('student_specialneedsdt', css_class='col-md-3'),
+ css_class='row',
+ ),
+ ),
+ css_class='bd-callout bd-callout-warning child_data'
+ ),
+ Fieldset(
+ None,
+ Div(
+ # HTML(' '),
+ Div(
+ HTML('
' + _('Financial support') + '
')
+ ),
+
+ Div(
+ HTML(''),
+ Div('student_is_financialsupport', css_class='col-md-3'),
+ HTML(''),
+ ),
+ Div(
+ Div('student_financialsupport', css_class='col-md-3'),
+ Div('student_Financialsupport_number', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning child_data'
+ ),
+ # HTML(''),
+ ),
+
Fieldset(
None,
Div(
@@ -516,13 +660,48 @@ def __init__(self, *args, **kwargs):
),
css_class='bd-callout bd-callout-warning child_data'
),
+ Fieldset(
+ None,
+ Div(
+ HTML(''
+ + _('Details of the documents justifying the most recent school year (regular or informal)')
+ + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('documenttype', css_class='col-md-3'),
+ HTML('2'),
+ Div('documentyear', css_class='col-md-3'),
+ HTML('3'),
+ Div('signature_cert_date', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('4'),
+ Div('document_lastyear', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''+_('The name of file should not be in arabic')+''),
+ ),
+ css_class='bd-callout bd-callout-warning child_data'
+ ),
+
FormActions(
Submit('save', _('Save'), css_class='child_data'),
Submit('save_add_another', _('Save and add another'), css_class='child_data'),
# Submit('save_continue_editing', _('Save and continue editing')),
HTML('' + _('Back to list') + ''),
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Upload Pictures') + ' ')
+
+ )
)
+
)
# def clean(self):
@@ -539,20 +718,77 @@ def save(self, request=None, instance=None):
else:
messages.warning(request, serializer.errors)
else:
- serializer = EnrollmentSerializer(data=request.POST)
+ serializer = EnrollmentSerializer(data=request.POST )
if serializer.is_valid():
instance = serializer.create(validated_data=serializer.validated_data)
- instance.school = request.user.school
+ if request.FILES:
+ if request.FILES['document_lastyear']:
+ instance.document_lastyear = request.FILES['document_lastyear']
+ instance.school_id = request.user.school_id
instance.owner = request.user
instance.education_year = EducationYear.objects.get(current_year=True)
- instance.save()
initiate_grading(enrollment=instance, term=1)
initiate_grading(enrollment=instance, term=2)
initiate_grading(enrollment=instance, term=3)
initiate_grading(enrollment=instance, term=4)
+ instance.save()
messages.success(request, _('Your data has been sent successfully to the server'))
else:
messages.warning(request, serializer.errors)
+ if instance.id:
+ from django.db.models import Q
+ std = Student.objects.filter(id=instance.student_id)
+ for st in std:
+ q_students = Student.objects.filter(
+ Q(first_name=st.first_name, father_name=st.father_name, last_name=st.last_name,
+ mother_fullname=st.mother_fullname, birthday_year=st.birthday_year, birthday_month=
+ st.birthday_month, birthday_day=st.birthday_day)
+ | Q(first_name=st.first_name, father_name=st.father_name, last_name=st.last_name,
+ mother_fullname=st.mother_fullname, id_number=st.id_number)
+ | Q(first_name=st.first_name, father_name=st.father_name, last_name=st.last_name,
+ id_number=st.id_number, birthday_year=st.birthday_year,
+ birthday_month=st.birthday_month,
+ birthday_day=st.birthday_day)
+ | Q(first_name=st.first_name, father_name=st.father_name, last_name=st.last_name,
+ id_number=st.id_number, birthday_year=st.birthday_year)).exclude(id=st.id)
+ q_enr = Enrollment.objects.filter(education_year=EducationYear.objects.get(current_year=True), student__in=q_students)
+ if q_enr:
+ try:
+ DuplicateStd.objects.get(enrollment_id=instance.id, is_solved=False)
+ except DuplicateStd.DoesNotExist:
+ # SAVING THE CURRENT ROW
+ q_coordinator = School.objects.get(id=instance.last_school_id)
+ model_duplicatestd = DuplicateStd.objects.create(
+ enrollment_id=instance.id,
+ is_solved=False,
+ school_type='2ndshift',
+ owner=request.user,
+ coordinator_id=q_coordinator.coordinator_id,
+ Level_id=instance.last_education_level_id,
+ section_id=instance.section_id,
+ classroom_id=instance.classroom_id,
+ education_year=EducationYear.objects.get(current_year=True),
+ )
+ model_duplicatestd.save()
+ # SAVING THE SAME AS IT
+ for enr in q_enr:
+ try:
+ DuplicateStd.objects.get(enrollment_id=enr.id, is_solved=False)
+ except DuplicateStd.DoesNotExist:
+ # SAVING THE CURRENT ROW
+ q_coordinator = School.objects.get(id=enr.last_school_id)
+ model_duplicatestd = DuplicateStd.objects.create(
+ enrollment_id=enr.id,
+ is_solved=False,
+ school_type='2ndshift',
+ owner=enr.owner,
+ coordinator_id=q_coordinator.coordinator_id,
+ Level_id=enr.last_education_level_id,
+ section_id=enr.section_id,
+ classroom_id=enr.classroom_id,
+ education_year=EducationYear.objects.get(current_year=True),
+ )
+ model_duplicatestd.save()
class Meta:
model = Enrollment
@@ -568,6 +804,7 @@ class Meta:
'student_birthday_month',
'student_birthday_day',
'student_place_of_birth',
+ 'student_recordnumber',
'student_phone',
'student_phone_prefix',
'student_id_number',
@@ -595,13 +832,22 @@ class Meta:
'have_barcode',
'age_min_restricted',
'age_max_restricted',
+ 'student_is_specialneeds',
+ 'student_specialneeds',
+ 'student_specialneedsdt',
+ 'student_is_financialsupport',
+ 'student_Financialsupport_number',
+ 'student_financialsupport',
+ 'student_unhcr_family',
+ 'student_unhcr_personal',
+ 'document_lastyear',
)
initial_fields = fields
widgets = {}
class Media:
js = (
- # 'js/jquery-1.12.3.min.js',
+ # 'js/jquery-3.3.1.min.js',
# 'js/jquery-ui-1.12.1.js',
# 'js/validator.js',
# 'js/registrations.js',
@@ -638,6 +884,7 @@ def __init__(self, *args, **kwargs):
(_('D'), _('D')),
(_('E'), _('E')),
(_('F'), _('F')),
+ (_('G'), _('G')),
)
if instance.exam_term in ['3', '4']:
@@ -870,7 +1117,7 @@ def __init__(self, *args, **kwargs):
label=_('Math') + ' (/60)', required=True,
widget=forms.NumberInput(attrs=({'maxlength': 5})),
min_value=0, max_value=60
- )
+ )
self.fields['exam_result_physic'] = forms.FloatField(
label=_('Physic') + ' (/20)', required=True,
@@ -1375,6 +1622,7 @@ def save(self, request=None, instance=None):
if serializer.is_valid():
serializer.update(validated_data=serializer.validated_data, instance=instance)
messages.success(request, _('Your data has been sent successfully to the server'))
+
else:
messages.warning(request, serializer.errors)
@@ -1397,8 +1645,548 @@ class Meta:
class Media:
js = (
- 'js/jquery-1.12.3.min.js',
+ 'js/jquery-3.3.1.min.js',
'js/jquery-ui-1.12.1.js',
'js/validator.js',
'js/registrations.js',
)
+
+
+class ImageStudentForm(forms.ModelForm):
+ document_type = forms.ModelChoiceField(
+ label=_("Document Type"),
+ queryset=Birth_DocumentType.objects.all(), widget=forms.Select,
+ )
+
+ def __init__(self, *args, **kwargs):
+ super(ImageStudentForm, self).__init__(*args, **kwargs)
+
+ class Meta:
+ model = Student
+ fields = [
+ 'id',
+ 'birth_documenttype',
+ ]
+
+
+class Modify_Images_Form(forms.ModelForm):
+ image = forms.ImageField()
+
+ class Meta:
+ model = Student
+ fields = (
+ 'std_image',
+ )
+
+
+class EnrollmentRegion_Form(forms.ModelForm):
+ new_registry = forms.ChoiceField(
+ label=_("First time registered?"),
+ widget=forms.Select, required=True,
+ choices=(('yes', _("Yes")), ('no', _("No"))),
+ initial='no'
+ )
+ student_outreached = forms.ChoiceField(
+ label=_("Student outreached?"),
+ widget=forms.Select, required=True,
+ choices=(('yes', _("Yes")), ('no', _("No"))),
+ initial='yes'
+ )
+ have_barcode = forms.ChoiceField(
+ label=_("Have barcode with him?"),
+ widget=forms.Select, required=True,
+ choices=(('yes', _("Yes")), ('no', _("No"))),
+ initial='yes'
+ )
+ search_barcode = forms.CharField(
+ label=_("Search a barcode"),
+ widget=forms.TextInput,
+ required=False
+ )
+ search_student = forms.CharField(
+ label=_("Search a student"),
+ widget=forms.TextInput,
+ required=False
+ )
+ search_school = forms.ModelChoiceField(
+ label=_("Search by School"),
+ queryset=School.objects.all(), widget=forms.Select,
+ required=False, to_field_name='id',
+ initial=0
+ )
+
+ school_type = forms.ChoiceField(
+ label=_("School type"),
+ widget=forms.Select, required=False,
+ choices=(
+ ('', '----------'),
+ ('alp', _('ALP')),
+ ('2ndshift', _('2nd Shift')),
+ )
+ )
+ outreach_barcode = forms.RegexField(
+ label=_('Outreach barcode'),
+ regex=r'^([A-Z]{2})(\d{8})|(-(\d{1}))$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: AA11111111'}),
+ required=False
+ )
+ registration_date = forms.DateField(
+ label=_("Registration date"),
+ required=True
+ )
+ student_first_name = forms.CharField(
+ label=_("First name"),
+ widget=forms.TextInput, required=True
+ )
+ student_father_name = forms.CharField(
+ label=_("Father name"),
+ widget=forms.TextInput, required=True
+ )
+ student_last_name = forms.CharField(
+ label=_("Last name"),
+ widget=forms.TextInput, required=True
+ )
+ student_sex = forms.ChoiceField(
+ label=_("Sex"),
+ widget=forms.Select, required=True,
+ choices=(
+ ('', '----------'),
+ ('Male', _('Male')),
+ ('Female', _('Female')),
+ )
+ )
+ student_birthday_year = forms.ChoiceField(
+ label=_("Birthday year"),
+ widget=forms.Select, required=True,
+ choices=YEARS
+ )
+ student_birthday_month = forms.ChoiceField(
+ label=_("Birthday month"),
+ widget=forms.Select, required=True,
+ choices=(
+ ('', '----------'),
+ ('1', _('January')),
+ ('2', _('February')),
+ ('3', _('March')),
+ ('4', _('April')),
+ ('5', _('May')),
+ ('6', _('June')),
+ ('7', _('July')),
+ ('8', _('August')),
+ ('9', _('September')),
+ ('10', _('October')),
+ ('11', _('November')),
+ ('12', _('December')),
+ )
+ )
+ student_birthday_day = forms.ChoiceField(
+ label=_("Birthday day"),
+ widget=forms.Select, required=True,
+ choices=DAYS
+ )
+
+ student_nationality = forms.ModelChoiceField(
+ label=_("Nationality"),
+ queryset=Nationality.objects.all(), widget=forms.Select,
+ required=True, to_field_name='id',
+ )
+
+ student_mother_fullname = forms.CharField(
+ label=_("Mother fullname"),
+ widget=forms.TextInput, required=True
+ )
+ student_mother_nationality = forms.ModelChoiceField(
+ label=_("Mother nationality"),
+ queryset=Nationality.objects.all(), widget=forms.Select,
+ required=True, to_field_name='id',
+ )
+ student_registered_in_unhcr = forms.ChoiceField(
+ label=_("Registered in UNHCR"),
+ widget=forms.Select, required=True,
+ choices=(
+ ('', '-----------'),
+ (1, _("Yes")),
+ (0, _("No"))
+ )
+ )
+ student_id_type = forms.ModelChoiceField(
+ label=_("ID type"),
+ queryset=IDType.objects.all(), widget=forms.Select,
+ required=True, to_field_name='id'
+ )
+ student_id_number = forms.CharField(
+ label=_("ID number - Cell 14"),
+ widget=forms.TextInput, required=True
+ )
+ student_phone_prefix = forms.CharField(
+ label=_("Phone prefix"),
+ widget=forms.TextInput(attrs=({'maxlength': 2})), required=True
+ )
+ student_phone = forms.CharField(
+ label=_("Phone number"),
+ widget=forms.TextInput(attrs=({'maxlength': 6})), required=True
+ )
+ student_address = forms.CharField(
+ label=_("Address"),
+ widget=forms.TextInput, required=True
+ )
+ student_place_of_birth = forms.CharField(
+ label=_("Place of birth"),
+ widget=forms.TextInput, required=False
+ )
+ student_recordnumber = forms.CharField(
+ label=_('Identity record number'),
+ widget=forms.TextInput, required=False
+ )
+ number_in_previous_school = forms.CharField(
+ label=_("Serial number in previous school"),
+ widget=forms.TextInput, required=False
+ )
+ student_unhcr_family = forms.RegexField(
+ regex=r'^((245)|(380)|(568)|(705)|(781)|(909)|(947)|(954)|(LEB)|(leb))-[0-9][0-9][C]\d{5}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: XXX-XXCXXXXX'}),
+ required=False,
+ label=_('UNHCR Family Nb.'),
+ )
+ student_unhcr_personal = forms.RegexField(
+ label=_('UNHCR Personal Nb.'),
+ regex=r'^((245)|(380)|(568)|(705)|(781)|(909)|(947)|(954)|(LEB)|(leb))-[0-9]{8}$',
+ widget=forms.TextInput(attrs={'placeholder': 'Format: XXX-XXXXXXXX'}),
+ required=False,
+ )
+ student_id = forms.CharField(widget=forms.HiddenInput, required=False)
+ enrollment_id = forms.CharField(widget=forms.HiddenInput, required=False)
+ student_outreach_child = forms.CharField(widget=forms.HiddenInput, required=False)
+ age_min_restricted = forms.BooleanField(widget=forms.HiddenInput, required=False)
+ age_max_restricted = forms.BooleanField(widget=forms.HiddenInput, required=False)
+ documenttype = forms.ModelChoiceField(
+ label=_("Private Document Type"),
+ queryset=DocumentType.objects.all(), widget=forms.Select,
+ required=True, to_field_name='id',
+ )
+ documentyear = forms.ModelChoiceField(
+ label=_("Document Year"),
+ queryset=EducationYear.objects.all(), widget=forms.Select,
+ required=False, to_field_name='id',
+ )
+ signature_cert_date = forms.DateField(
+ label=_("Signature Date"),
+ required=False
+ )
+ documentnumber = forms.CharField(
+ label=_('Document Number'),
+ required=False,
+ widget=forms.TextInput,
+ )
+ document_lastyear = forms.ImageField(
+ label=_('picture of previous education'),
+ required=False,
+ )
+
+ def __init__(self, *args, **kwargs):
+ self.request = kwargs.pop('request', None)
+ super(EnrollmentRegion_Form, self).__init__(*args, **kwargs)
+
+ instance = kwargs['instance'] if 'instance' in kwargs else ''
+
+ display_registry = ''
+ self.helper = FormHelper()
+ self.helper.form_show_labels = True
+ str_image = ''
+ str_id = '-1'
+ if instance:
+ display_registry = ' d-none'
+ form_action = reverse('enrollments:edit_region', kwargs={'pk': instance.id})
+ if instance.student.std_image:
+ str_image = instance.student.std_image.url
+ if instance.student.id:
+ str_id = str(instance.student.id)
+
+ self.helper.form_action = form_action
+ self.helper.layout = Layout(
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Registry') + '
')
+ ),
+ Div(
+ 'student_id',
+ 'enrollment_id',
+ 'student_outreach_child',
+ 'age_min_restricted',
+ 'age_max_restricted',
+ HTML('1'),
+ Div('new_registry', css_class='col-md-3'),
+ HTML('2'),
+ Div('student_outreached', css_class='col-md-3'),
+ HTML('3'),
+ Div('have_barcode', css_class='col-md-3', css_id='have_barcode_option'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'+display_registry, css_id='registry_block'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML(''+_('Register by Barcode')+'
')
+ ),
+ Div(
+ HTML('1'),
+ Div('search_barcode', css_class='col-md-4'),
+ css_class='row',
+ ),
+ css_id='register_by_barcode', css_class='bd-callout bd-callout-warning'+display_registry
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML(''+_('Search old student (fullname Or ID number)')+'
')
+ ),
+ Div(
+ HTML('1'),
+ Div('school_type', css_class='col-md-3'),
+ HTML('2'),
+ Div('search_school', css_class='col-md-4'),
+ HTML('3'),
+ Div('search_student', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_id='search_options', css_class='bd-callout bd-callout-warning'+display_registry
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML(''+_('Basic Data')+'
')
+ ),
+ Div(
+ HTML('
'),
+ ),
+
+ Div(
+ HTML('1'),
+ Div('registration_date', css_class='col-md-3'),
+ HTML('2'),
+ Div('outreach_barcode', css_class='col-md-3'),
+ HTML('' +
+ _('The barcode is not required, enter a valid one or leave it empty') +
+ '.
' +
+ _('Click to see the barcode') + ''),
+ css_class='row',
+ ),
+ Div(
+ HTML('3'),
+ Div('student_first_name', css_class='col-md-3'),
+ HTML('4'),
+ Div('student_father_name', css_class='col-md-3'),
+ HTML('5'),
+ Div('student_last_name', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('6'),
+ Div('student_birthday_year', css_class='col-md-3'),
+ HTML('7'),
+ Div('student_birthday_month', css_class='col-md-3'),
+ HTML('8'),
+ Div('student_birthday_day', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('9'),
+ Div('student_sex', css_class='col-md-3'),
+ HTML('10'),
+ Div('student_nationality', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('11'),
+ Div('student_mother_fullname', css_class='col-md-3'),
+ HTML('12'),
+ Div('student_mother_nationality', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('13'),
+ Div('student_registered_in_unhcr', css_class='col-md-3'),
+ HTML('14'),
+ Div('student_id_type', css_class='col-md-3'),
+ HTML('15'),
+ Div('student_id_number', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('15.1'),
+ Div('student_unhcr_family', css_class='col-md-3'),
+ HTML('15.2'),
+ Div('student_unhcr_personal', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('16'),
+ Div('student_phone_prefix', css_class='col-md-3'),
+ HTML('17'),
+ Div('student_phone', css_class='col-md-3'),
+ HTML('18'),
+ Div('student_address', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('19'),
+ Div('student_place_of_birth', css_class='col-md-3'),
+ HTML('20'),
+ Div('student_recordnumber', css_class='col-md-3'),
+ HTML('21'),
+ Div('number_in_previous_school', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning child_data'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML(''
+ + _('Details of the documents justifying the most recent school year (regular or informal)')
+ + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('documenttype', css_class='col-md-3'),
+ HTML('2'),
+ Div('documentyear', css_class='col-md-3'),
+ HTML('3'),
+ Div('signature_cert_date', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('4'),
+ Div('document_lastyear', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''+_('The name of file should not be in arabic')+''),
+ ),
+ css_class='bd-callout bd-callout-warning child_data'
+ ),
+
+ FormActions(
+ Submit('save', _('Save'), css_class='child_data'),
+ HTML('' + _('Back to list') + ''),
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Upload Pictures') + ' ')
+
+ )
+ )
+
+ )
+
+ def save(self, request=None, instance=None):
+ if instance:
+ serializer = EnrollmentSerializer(instance, data=request.POST)
+ if serializer.is_valid():
+ serializer.update(validated_data=serializer.validated_data, instance=instance)
+ messages.success(request, _('Your data has been sent successfully to the server'))
+ else:
+ messages.warning(request, serializer.errors)
+ if instance.id:
+ from django.db.models import Q
+ std = Student.objects.filter(id=instance.student_id)
+ for st in std:
+ q_students = Student.objects.filter(
+ Q(first_name=st.first_name, father_name=st.father_name, last_name=st.last_name,
+ mother_fullname=st.mother_fullname, birthday_year=st.birthday_year, birthday_month=
+ st.birthday_month, birthday_day=st.birthday_day)
+ | Q(first_name=st.first_name, father_name=st.father_name, last_name=st.last_name,
+ mother_fullname=st.mother_fullname, id_number=st.id_number)
+ | Q(first_name=st.first_name, father_name=st.father_name, last_name=st.last_name,
+ id_number=st.id_number, birthday_year=st.birthday_year,
+ birthday_month=st.birthday_month,
+ birthday_day=st.birthday_day)
+ | Q(first_name=st.first_name, father_name=st.father_name, last_name=st.last_name,
+ id_number=st.id_number, birthday_year=st.birthday_year)).exclude(id=st.id)
+ q_enr = Enrollment.objects.filter(education_year=EducationYear.objects.get(current_year=True), student__in=q_students)
+ if q_enr:
+ try:
+ DuplicateStd.objects.get(enrollment_id=instance.id, is_solved=False)
+ except DuplicateStd.DoesNotExist:
+ # SAVING THE CURRENT ROW
+ q_coordinator = School.objects.get(id=instance.last_school_id)
+ model_duplicatestd = DuplicateStd.objects.create(
+ enrollment_id=instance.id,
+ is_solved=False,
+ school_type='2ndshift',
+ owner=request.user,
+ coordinator_id=q_coordinator.coordinator_id,
+ Level_id=instance.last_education_level_id,
+ section_id=instance.section_id,
+ classroom_id=instance.classroom_id,
+ education_year=EducationYear.objects.get(current_year=True),
+ )
+ model_duplicatestd.save()
+ # SAVING THE SAME AS IT
+ for enr in q_enr:
+ try:
+ DuplicateStd.objects.get(enrollment_id=enr.id, is_solved=False)
+ except DuplicateStd.DoesNotExist:
+ # SAVING THE CURRENT ROW
+ q_coordinator = School.objects.get(id=enr.last_school_id)
+ model_duplicatestd = DuplicateStd.objects.create(
+ enrollment_id=enr.id,
+ is_solved=False,
+ school_type='2ndshift',
+ owner=enr.owner,
+ coordinator_id=q_coordinator.coordinator_id,
+ Level_id=enr.last_education_level_id,
+ section_id=enr.section_id,
+ classroom_id=enr.classroom_id,
+ education_year=EducationYear.objects.get(current_year=True),
+ )
+ model_duplicatestd.save()
+
+ class Meta:
+ model = Enrollment
+ fields = (
+ 'student_id',
+ 'enrollment_id',
+ 'student_first_name',
+ 'student_father_name',
+ 'student_last_name',
+ 'student_mother_fullname',
+ 'student_sex',
+ 'student_birthday_year',
+ 'student_birthday_month',
+ 'student_birthday_day',
+ 'student_place_of_birth',
+ 'student_recordnumber',
+ 'student_phone',
+ 'student_phone_prefix',
+ 'student_id_number',
+ 'student_id_type',
+ 'student_nationality',
+ 'student_mother_nationality',
+ 'student_registered_in_unhcr',
+ 'number_in_previous_school',
+ 'student_address',
+ 'outreach_barcode',
+ 'new_registry',
+ 'student_outreached',
+ 'have_barcode',
+ 'age_min_restricted',
+ 'age_max_restricted',
+ 'student_unhcr_family',
+ 'student_unhcr_personal',
+ 'document_lastyear',
+ )
+ initial_fields = fields
+ widgets = {}
+
+ class Media:
+ js = (
+ # 'js/jquery-3.3.1.min.js',
+ # 'js/jquery-ui-1.12.1.js',
+ # 'js/validator.js',
+ # 'js/registrations.js',
+ )
diff --git a/student_registration/enrollments/migrations/0076_auto_20190314_2029.py b/student_registration/enrollments/migrations/0076_auto_20190314_2029.py
new file mode 100644
index 000000000..bd08e9a72
--- /dev/null
+++ b/student_registration/enrollments/migrations/0076_auto_20190314_2029.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-03-14 18:29
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0075_auto_20180405_1035'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='enrollment',
+ name='last_informal_edu_year',
+ field=models.CharField(blank=True, choices=[('2000/2001', '2000/2001'), ('2001/2002', '2001/2002'), ('2002/2003', '2002/2003'), ('2003/2004', '2003/2004'), ('2004/2005', '2004/2005'), ('2005/2006', '2005/2006'), ('2006/2007', '2006/2007'), ('2007/2008', '2007/2008'), ('2008/2009', '2008/2009'), ('2009/2010', '2009/2010'), ('2010/2011', '2010/2011'), ('2011/2012', '2011/2012'), ('2012/2013', '2012/2013'), ('2013/2014', '2013/2014'), ('2014/2015', '2014/2015'), ('2015/2016', '2015/2016'), ('2016/2017', '2016/2017'), ('2017/2018', '2017/2018')], max_length=10, null=True, verbose_name='\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0633\u0627\u0628\u0642\u0629 - \u0622\u062e\u0631 \u0633\u0646\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u063a\u064a\u0631 \u0627\u0644\u0646\u0638\u0627\u0645\u064a '),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0076_auto_20190314_2341.py b/student_registration/enrollments/migrations/0076_auto_20190314_2341.py
new file mode 100644
index 000000000..08d26caab
--- /dev/null
+++ b/student_registration/enrollments/migrations/0076_auto_20190314_2341.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-03-14 21:41
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0075_auto_20180405_1035'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='enrollment',
+ name='last_informal_edu_year',
+ field=models.CharField(blank=True, choices=[('2000/2001', '2000/2001'), ('2001/2002', '2001/2002'), ('2002/2003', '2002/2003'), ('2003/2004', '2003/2004'), ('2004/2005', '2004/2005'), ('2005/2006', '2005/2006'), ('2006/2007', '2006/2007'), ('2007/2008', '2007/2008'), ('2008/2009', '2008/2009'), ('2009/2010', '2009/2010'), ('2010/2011', '2010/2011'), ('2011/2012', '2011/2012'), ('2012/2013', '2012/2013'), ('2013/2014', '2013/2014'), ('2014/2015', '2014/2015'), ('2015/2016', '2015/2016'), ('2016/2017', '2016/2017'), ('2017/2018', '2017/2018')], max_length=10, null=True, verbose_name='\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0633\u0627\u0628\u0642\u0629 - \u0622\u062e\u0631 \u0633\u0646\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u063a\u064a\u0631 \u0627\u0644\u0646\u0638\u0627\u0645\u064a '),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0077_merge_20190320_1203.py b/student_registration/enrollments/migrations/0077_merge_20190320_1203.py
new file mode 100644
index 000000000..8dbb6446d
--- /dev/null
+++ b/student_registration/enrollments/migrations/0077_merge_20190320_1203.py
@@ -0,0 +1,16 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-03-20 10:03
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0076_auto_20190314_2029'),
+ ('enrollments', '0076_auto_20190314_2341'),
+ ]
+
+ operations = [
+ ]
diff --git a/student_registration/enrollments/migrations/0078_auto_20190328_1416.py b/student_registration/enrollments/migrations/0078_auto_20190328_1416.py
new file mode 100644
index 000000000..2700e92ce
--- /dev/null
+++ b/student_registration/enrollments/migrations/0078_auto_20190328_1416.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-03-28 12:16
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0077_merge_20190320_1203'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='enrollment',
+ name='last_school_type',
+ field=models.CharField(blank=True, choices=[('na', 'n/a'), ('out_the_country', '\u0645\u062f\u0631\u0633\u0629 \u062e\u0627\u0631\u062c \u0644\u0628\u0646\u0627\u0646'), ('public_in_country', '\u0645\u062f\u0631\u0633\u0629 \u0631\u0633\u0645\u064a\u0629 \u0641\u064a \u0644\u0628\u0646\u0627\u0646'), ('private_in_country', '\u0645\u062f\u0631\u0633\u0629 \u062e\u0627\u0635\u0629 \u0641\u064a \u0644\u0628\u0646\u0627\u0646'), ('CB_ECE', 'CB ECE')], max_length=50, null=True, verbose_name='\u0646\u0648\u0639 \u0627\u0644\u0645\u062f\u0631\u0633\u0629'),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0078_auto_20190402_2122.py b/student_registration/enrollments/migrations/0078_auto_20190402_2122.py
new file mode 100644
index 000000000..ec3f0c217
--- /dev/null
+++ b/student_registration/enrollments/migrations/0078_auto_20190402_2122.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-04-02 18:22
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0077_merge_20190320_1203'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='enrollment',
+ name='dropout_date',
+ field=models.DateField(blank=True, null=True, verbose_name='\u0627\u062e\u0631 \u062a\u0627\u0631\u064a\u062e \u0627\u0646\u062a\u0642\u0644 \u0641\u064a\u0647'),
+ ),
+ migrations.AlterField(
+ model_name='enrollment',
+ name='last_school_type',
+ field=models.CharField(blank=True, choices=[('na', 'n/a'), ('out_the_country', '\u0645\u062f\u0631\u0633\u0629 \u062e\u0627\u0631\u062c \u0644\u0628\u0646\u0627\u0646'), ('public_in_country', '\u0645\u062f\u0631\u0633\u0629 \u0631\u0633\u0645\u064a\u0629 \u0641\u064a \u0644\u0628\u0646\u0627\u0646'), ('private_in_country', '\u0645\u062f\u0631\u0633\u0629 \u062e\u0627\u0635\u0629 \u0641\u064a \u0644\u0628\u0646\u0627\u0646'), ('CB_ECE', 'CB ECE')], max_length=50, null=True, verbose_name='\u0646\u0648\u0639 \u0627\u0644\u0645\u062f\u0631\u0633\u0629'),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0079_merge_20190409_1038.py b/student_registration/enrollments/migrations/0079_merge_20190409_1038.py
new file mode 100644
index 000000000..8651a1a7d
--- /dev/null
+++ b/student_registration/enrollments/migrations/0079_merge_20190409_1038.py
@@ -0,0 +1,16 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-04-09 07:38
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0078_auto_20190328_1416'),
+ ('enrollments', '0078_auto_20190402_2122'),
+ ]
+
+ operations = [
+ ]
diff --git a/student_registration/enrollments/migrations/0080_auto_20190521_1343.py b/student_registration/enrollments/migrations/0080_auto_20190521_1343.py
new file mode 100644
index 000000000..9d5fa6a69
--- /dev/null
+++ b/student_registration/enrollments/migrations/0080_auto_20190521_1343.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-05-21 10:43
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0079_merge_20190409_1038'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='enrollment',
+ name='dropout_date',
+ field=models.DateField(blank=True, null=True, verbose_name='dropout date'),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0081_auto_20190819_1002.py b/student_registration/enrollments/migrations/0081_auto_20190819_1002.py
new file mode 100644
index 000000000..0a3d30171
--- /dev/null
+++ b/student_registration/enrollments/migrations/0081_auto_20190819_1002.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-08-19 07:02
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0080_auto_20190521_1343'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='enrollment',
+ name='dropout_date',
+ field=models.DateField(blank=True, null=True, verbose_name=' \u062a\u0627\u0631\u064a\u062e \u0627\u0644\u062a\u0633\u0631\u0628 '),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0081_duplicatestd.py b/student_registration/enrollments/migrations/0081_duplicatestd.py
new file mode 100644
index 000000000..2fc97c5a2
--- /dev/null
+++ b/student_registration/enrollments/migrations/0081_duplicatestd.py
@@ -0,0 +1,31 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-08-12 09:55
+from __future__ import unicode_literals
+
+import datetime
+from django.conf import settings
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ('enrollments', '0080_auto_20190521_1343'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='DuplicateStd',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('sysdate', models.DateTimeField(default=datetime.date.today)),
+ ('is_solved', models.BooleanField(default=False)),
+ ('remark', models.CharField(blank=True, max_length=500)),
+ ('school_type', models.CharField(max_length=20)),
+ ('enrollment', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='enrollment_id', to='enrollments.Enrollment')),
+ ('user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='added_by', to=settings.AUTH_USER_MODEL)),
+ ],
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0082_auto_20190812_1804.py b/student_registration/enrollments/migrations/0082_auto_20190812_1804.py
new file mode 100644
index 000000000..b7cfa2b42
--- /dev/null
+++ b/student_registration/enrollments/migrations/0082_auto_20190812_1804.py
@@ -0,0 +1,27 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-08-12 15:04
+from __future__ import unicode_literals
+
+from django.conf import settings
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ('enrollments', '0081_duplicatestd'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='duplicatestd',
+ name='user',
+ ),
+ migrations.AddField(
+ model_name='duplicatestd',
+ name='owner',
+ field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='\u0627\u0646\u0634\u0623 \u0645\u0646 \u0642\u0628\u0644'),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0083_auto_20190812_2135.py b/student_registration/enrollments/migrations/0083_auto_20190812_2135.py
new file mode 100644
index 000000000..dfa2d3e34
--- /dev/null
+++ b/student_registration/enrollments/migrations/0083_auto_20190812_2135.py
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-08-12 18:35
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.utils.timezone
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0082_auto_20190812_1804'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='duplicatestd',
+ name='sysdate',
+ field=models.DateTimeField(default=django.utils.timezone.now),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0084_auto_20190911_1704.py b/student_registration/enrollments/migrations/0084_auto_20190911_1704.py
new file mode 100644
index 000000000..1ed9912e0
--- /dev/null
+++ b/student_registration/enrollments/migrations/0084_auto_20190911_1704.py
@@ -0,0 +1,47 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-09-11 14:04
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0039_auto_20190619_1028'),
+ ('enrollments', '0083_auto_20190812_2135'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='duplicatestd',
+ name='Level',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.ClassLevel', verbose_name='Class Level'),
+ ),
+ migrations.AddField(
+ model_name='duplicatestd',
+ name='classroom',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.ClassRoom', verbose_name='\u0627\u0644\u0635\u0641 \u0627\u0644\u062d\u0627\u0644\u064a'),
+ ),
+ migrations.AddField(
+ model_name='duplicatestd',
+ name='coordinator',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='schools.Coordinator', verbose_name='Coordinator'),
+ ),
+ migrations.AddField(
+ model_name='duplicatestd',
+ name='current_year',
+ field=models.CharField(default=2019, max_length=10),
+ ),
+ migrations.AddField(
+ model_name='duplicatestd',
+ name='is_deleted',
+ field=models.BooleanField(default=False),
+ ),
+ migrations.AddField(
+ model_name='duplicatestd',
+ name='section',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.Section', verbose_name='\u0627\u0644\u0634\u0639\u0628\u0629 \u0627\u0644\u062d\u0627\u0644\u064a\u0629'),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0085_merge_20190919_1028.py b/student_registration/enrollments/migrations/0085_merge_20190919_1028.py
new file mode 100644
index 000000000..de86b0193
--- /dev/null
+++ b/student_registration/enrollments/migrations/0085_merge_20190919_1028.py
@@ -0,0 +1,16 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-09-19 07:28
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0084_auto_20190911_1704'),
+ ('enrollments', '0081_auto_20190819_1002'),
+ ]
+
+ operations = [
+ ]
diff --git a/student_registration/enrollments/migrations/0086_auto_20190928_0838.py b/student_registration/enrollments/migrations/0086_auto_20190928_0838.py
new file mode 100644
index 000000000..26476c217
--- /dev/null
+++ b/student_registration/enrollments/migrations/0086_auto_20190928_0838.py
@@ -0,0 +1,30 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-09-28 05:38
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0085_merge_20190919_1028'),
+ ]
+
+ operations = [
+ migrations.AlterModelOptions(
+ name='duplicatestd',
+ options={'verbose_name': 'Duplicated Students'},
+ ),
+ migrations.AlterField(
+ model_name='duplicatestd',
+ name='Level',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.ClassLevel', verbose_name='\u0627\u0644\u0645\u0633\u062a\u0648\u0649 '),
+ ),
+ migrations.AlterField(
+ model_name='duplicatestd',
+ name='coordinator',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='schools.Coordinator', verbose_name='\u0627\u0633\u0645 \u0627\u0644\u0645\u0646\u0633\u0642 \u0627\u0644\u0645\u064a\u062f\u0627\u0646\u064a'),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0087_auto_20191008_1151.py b/student_registration/enrollments/migrations/0087_auto_20191008_1151.py
new file mode 100644
index 000000000..58f1c1a7e
--- /dev/null
+++ b/student_registration/enrollments/migrations/0087_auto_20191008_1151.py
@@ -0,0 +1,31 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-10-08 08:51
+from __future__ import unicode_literals
+
+from django.db import migrations
+import django.utils.timezone
+import model_utils.fields
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0086_auto_20190928_0838'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='duplicatestd',
+ name='sysdate',
+ ),
+ migrations.AddField(
+ model_name='duplicatestd',
+ name='created',
+ field=model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created'),
+ ),
+ migrations.AddField(
+ model_name='duplicatestd',
+ name='modified',
+ field=model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified'),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0087_enrollment_nb_consecutiveabsences.py b/student_registration/enrollments/migrations/0087_enrollment_nb_consecutiveabsences.py
new file mode 100644
index 000000000..303b6231c
--- /dev/null
+++ b/student_registration/enrollments/migrations/0087_enrollment_nb_consecutiveabsences.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-10-06 18:22
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0086_auto_20190928_0838'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='enrollment',
+ name='nb_consecutiveabsences',
+ field=models.IntegerField(blank=True, null=True),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0088_merge_20191010_0457.py b/student_registration/enrollments/migrations/0088_merge_20191010_0457.py
new file mode 100644
index 000000000..bbb63fa2c
--- /dev/null
+++ b/student_registration/enrollments/migrations/0088_merge_20191010_0457.py
@@ -0,0 +1,16 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-10-10 01:57
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0087_enrollment_nb_consecutiveabsences'),
+ ('enrollments', '0087_auto_20191008_1151'),
+ ]
+
+ operations = [
+ ]
diff --git a/student_registration/enrollments/migrations/0089_duplicatestd_education_year.py b/student_registration/enrollments/migrations/0089_duplicatestd_education_year.py
new file mode 100644
index 000000000..69ddf9b66
--- /dev/null
+++ b/student_registration/enrollments/migrations/0089_duplicatestd_education_year.py
@@ -0,0 +1,22 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-12-05 10:46
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0042_setup'),
+ ('enrollments', '0088_merge_20191010_0457'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='duplicatestd',
+ name='education_year',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.EducationYear', verbose_name='\u0627\u0644\u0633\u0646\u0629 \u0627\u0644\u062f\u0631\u0627\u0633\u064a\u0629'),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0090_duplicatestd_alp_round.py b/student_registration/enrollments/migrations/0090_duplicatestd_alp_round.py
new file mode 100644
index 000000000..2da345b6e
--- /dev/null
+++ b/student_registration/enrollments/migrations/0090_duplicatestd_alp_round.py
@@ -0,0 +1,22 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-12-17 12:38
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('alp', '0053_auto_20191008_1151'),
+ ('enrollments', '0089_duplicatestd_education_year'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='duplicatestd',
+ name='alp_round',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='alp.ALPRound'),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0091_auto_20191217_1447.py b/student_registration/enrollments/migrations/0091_auto_20191217_1447.py
new file mode 100644
index 000000000..bb955795e
--- /dev/null
+++ b/student_registration/enrollments/migrations/0091_auto_20191217_1447.py
@@ -0,0 +1,27 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-12-17 12:47
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('alp', '0053_auto_20191008_1151'),
+ ('enrollments', '0090_duplicatestd_alp_round'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='duplicatestd',
+ name='outreach',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='outreach_id', to='alp.Outreach'),
+ ),
+ migrations.AlterField(
+ model_name='duplicatestd',
+ name='enrollment',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='enrollment_id', to='enrollments.Enrollment'),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0092_auto_20200105_2322.py b/student_registration/enrollments/migrations/0092_auto_20200105_2322.py
new file mode 100644
index 000000000..8cbd98b57
--- /dev/null
+++ b/student_registration/enrollments/migrations/0092_auto_20200105_2322.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-05 21:22
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0091_auto_20191217_1447'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='duplicatestd',
+ name='current_year',
+ field=models.CharField(default=2020, max_length=10),
+ ),
+ migrations.AlterField(
+ model_name='enrollment',
+ name='last_informal_edu_year',
+ field=models.CharField(blank=True, choices=[('2000/2001', '2000/2001'), ('2001/2002', '2001/2002'), ('2002/2003', '2002/2003'), ('2003/2004', '2003/2004'), ('2004/2005', '2004/2005'), ('2005/2006', '2005/2006'), ('2006/2007', '2006/2007'), ('2007/2008', '2007/2008'), ('2008/2009', '2008/2009'), ('2009/2010', '2009/2010'), ('2010/2011', '2010/2011'), ('2011/2012', '2011/2012'), ('2012/2013', '2012/2013'), ('2013/2014', '2013/2014'), ('2014/2015', '2014/2015'), ('2015/2016', '2015/2016'), ('2016/2017', '2016/2017'), ('2017/2018', '2017/2018'), ('2018/2019', '2018/2019')], max_length=10, null=True, verbose_name='\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0633\u0627\u0628\u0642\u0629 - \u0622\u062e\u0631 \u0633\u0646\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u063a\u064a\u0631 \u0627\u0644\u0646\u0638\u0627\u0645\u064a '),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0093_auto_20200116_1947.py b/student_registration/enrollments/migrations/0093_auto_20200116_1947.py
new file mode 100644
index 000000000..311e1a9db
--- /dev/null
+++ b/student_registration/enrollments/migrations/0093_auto_20200116_1947.py
@@ -0,0 +1,40 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-16 17:47
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0047_auto_20200114_0918'),
+ ('enrollments', '0092_auto_20200105_2322'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='DocumentType',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('name', models.CharField(blank=True, max_length=70, null=True)),
+ ('description', models.CharField(blank=True, max_length=500, null=True)),
+ ],
+ ),
+ migrations.AddField(
+ model_name='enrollment',
+ name='document_number',
+ field=models.CharField(blank=True, max_length=20, null=True, verbose_name='Document Nunber'),
+ ),
+ migrations.AddField(
+ model_name='enrollment',
+ name='document_year',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.EducationYear', verbose_name='Document Year'),
+ ),
+ migrations.AddField(
+ model_name='enrollment',
+ name='document_type',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='enrollments.DocumentType', verbose_name='Document Type'),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0094_auto_20200116_1957.py b/student_registration/enrollments/migrations/0094_auto_20200116_1957.py
new file mode 100644
index 000000000..c827681bf
--- /dev/null
+++ b/student_registration/enrollments/migrations/0094_auto_20200116_1957.py
@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-16 17:57
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0093_auto_20200116_1947'),
+ ]
+
+ operations = [
+ migrations.AlterModelOptions(
+ name='documenttype',
+ options={'ordering': ['id'], 'verbose_name': 'Document Type', 'verbose_name_plural': 'Documents Type'},
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0095_auto_20200116_2258.py b/student_registration/enrollments/migrations/0095_auto_20200116_2258.py
new file mode 100644
index 000000000..e1bc37121
--- /dev/null
+++ b/student_registration/enrollments/migrations/0095_auto_20200116_2258.py
@@ -0,0 +1,30 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-16 20:58
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0094_auto_20200116_1957'),
+ ]
+
+ operations = [
+ migrations.RenameField(
+ model_name='enrollment',
+ old_name='document_number',
+ new_name='documentnumber',
+ ),
+ migrations.RenameField(
+ model_name='enrollment',
+ old_name='document_type',
+ new_name='documenttype',
+ ),
+ migrations.RenameField(
+ model_name='enrollment',
+ old_name='document_year',
+ new_name='documentyear',
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0096_auto_20200117_1032.py b/student_registration/enrollments/migrations/0096_auto_20200117_1032.py
new file mode 100644
index 000000000..a9adfc65a
--- /dev/null
+++ b/student_registration/enrollments/migrations/0096_auto_20200117_1032.py
@@ -0,0 +1,37 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-17 08:32
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+import student_registration.enrollments.models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0095_auto_20200116_2258'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='enrollment',
+ name='document_lastyear',
+ field=models.ImageField(blank=True, help_text='\u0635\u0648\u0631\u0629 \u0639\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0627\u0644\u0633\u0627\u0628\u0642', null=True, upload_to='enr/doc', validators=[student_registration.enrollments.models.validate_file_size]),
+ ),
+ migrations.AlterField(
+ model_name='enrollment',
+ name='documentnumber',
+ field=models.CharField(blank=True, max_length=20, null=True, verbose_name='\u0631\u0642\u0645 \u0627\u0644\u0645\u0633\u062a\u0646\u062f'),
+ ),
+ migrations.AlterField(
+ model_name='enrollment',
+ name='documenttype',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='enrollments.DocumentType', verbose_name='\u0646\u0648\u0639 \u0627\u0644\u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0627\u0644\u062a\u0644\u0645\u064a\u0630'),
+ ),
+ migrations.AlterField(
+ model_name='enrollment',
+ name='documentyear',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.EducationYear', verbose_name='\u0633\u0646\u0629 \u0627\u0644\u062a\u0635\u062f\u064a\u0642'),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0097_documenttype_document_type.py b/student_registration/enrollments/migrations/0097_documenttype_document_type.py
new file mode 100644
index 000000000..2197b52c1
--- /dev/null
+++ b/student_registration/enrollments/migrations/0097_documenttype_document_type.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-18 18:19
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0096_auto_20200117_1032'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='documenttype',
+ name='document_type',
+ field=models.CharField(blank=True, choices=[('P', 'Personal'), ('E', 'Educational')], max_length=1, null=True),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0098_remove_documenttype_document_type.py b/student_registration/enrollments/migrations/0098_remove_documenttype_document_type.py
new file mode 100644
index 000000000..7d2e2047b
--- /dev/null
+++ b/student_registration/enrollments/migrations/0098_remove_documenttype_document_type.py
@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-20 10:27
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0097_documenttype_document_type'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='documenttype',
+ name='document_type',
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0099_enrollment_justificationnumber.py b/student_registration/enrollments/migrations/0099_enrollment_justificationnumber.py
new file mode 100644
index 000000000..6bf589cb4
--- /dev/null
+++ b/student_registration/enrollments/migrations/0099_enrollment_justificationnumber.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-26 18:32
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0098_remove_documenttype_document_type'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='enrollment',
+ name='justificationnumber',
+ field=models.CharField(blank=True, max_length=25, null=True, verbose_name='Justification Number'),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0100_documenttype_description2.py b/student_registration/enrollments/migrations/0100_documenttype_description2.py
new file mode 100644
index 000000000..85f12e631
--- /dev/null
+++ b/student_registration/enrollments/migrations/0100_documenttype_description2.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-30 17:10
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0099_enrollment_justificationnumber'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='documenttype',
+ name='description2',
+ field=models.CharField(blank=True, max_length=200, null=True),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0101_enrollment_signature_cert_date.py b/student_registration/enrollments/migrations/0101_enrollment_signature_cert_date.py
new file mode 100644
index 000000000..ee5ed5f2c
--- /dev/null
+++ b/student_registration/enrollments/migrations/0101_enrollment_signature_cert_date.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-31 11:59
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0100_documenttype_description2'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='enrollment',
+ name='signature_cert_date',
+ field=models.DateField(blank=True, null=True),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0102_auto_20200216_1831.py b/student_registration/enrollments/migrations/0102_auto_20200216_1831.py
new file mode 100644
index 000000000..ac09570ba
--- /dev/null
+++ b/student_registration/enrollments/migrations/0102_auto_20200216_1831.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-02-16 16:31
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0101_enrollment_signature_cert_date'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='enrollment',
+ name='justificationnumber',
+ field=models.CharField(blank=True, max_length=25, null=True, verbose_name='\u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0644\u0644\u0637\u0641\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='enrollment',
+ name='signature_cert_date',
+ field=models.DateField(blank=True, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u062a\u0635\u062f\u064a\u0642'),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0103_enrollment_is_justified.py b/student_registration/enrollments/migrations/0103_enrollment_is_justified.py
new file mode 100644
index 000000000..4296301a8
--- /dev/null
+++ b/student_registration/enrollments/migrations/0103_enrollment_is_justified.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-03-03 11:39
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0102_auto_20200216_1831'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='enrollment',
+ name='is_justified',
+ field=models.BooleanField(default=True),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0104_auto_20200303_1415.py b/student_registration/enrollments/migrations/0104_auto_20200303_1415.py
new file mode 100644
index 000000000..0c56e4dd9
--- /dev/null
+++ b/student_registration/enrollments/migrations/0104_auto_20200303_1415.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-03-03 12:15
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0103_enrollment_is_justified'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='enrollment',
+ name='is_justified',
+ field=models.BooleanField(default=False),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0105_enrollment_justified_date.py b/student_registration/enrollments/migrations/0105_enrollment_justified_date.py
new file mode 100644
index 000000000..3c76d230d
--- /dev/null
+++ b/student_registration/enrollments/migrations/0105_enrollment_justified_date.py
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-03-03 23:15
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.utils.timezone
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0104_auto_20200303_1415'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='enrollment',
+ name='justified_date',
+ field=models.DateField(blank=True, default=django.utils.timezone.now, null=True, verbose_name='Justified Date'),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0106_enrollment_justified_by.py b/student_registration/enrollments/migrations/0106_enrollment_justified_by.py
new file mode 100644
index 000000000..a2fd10f57
--- /dev/null
+++ b/student_registration/enrollments/migrations/0106_enrollment_justified_by.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-03-04 00:57
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0105_enrollment_justified_date'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='enrollment',
+ name='justified_by',
+ field=models.CharField(blank=True, max_length=30, null=True, verbose_name='Justified by'),
+ ),
+ ]
diff --git a/student_registration/enrollments/migrations/0107_auto_20200317_1935.py b/student_registration/enrollments/migrations/0107_auto_20200317_1935.py
new file mode 100644
index 000000000..0fa922e35
--- /dev/null
+++ b/student_registration/enrollments/migrations/0107_auto_20200317_1935.py
@@ -0,0 +1,26 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-03-17 17:35
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.utils.timezone
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('enrollments', '0106_enrollment_justified_by'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='enrollment',
+ name='justified_by',
+ field=models.CharField(blank=True, max_length=30, null=True, verbose_name='\u0645\u0628\u0631\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='enrollment',
+ name='justified_date',
+ field=models.DateField(blank=True, default=django.utils.timezone.now, null=True, verbose_name='\u0645\u0628\u0631\u0631'),
+ ),
+ ]
diff --git a/student_registration/enrollments/models.py b/student_registration/enrollments/models.py
index 216a859c6..03fb76770 100644
--- a/student_registration/enrollments/models.py
+++ b/student_registration/enrollments/models.py
@@ -1,14 +1,13 @@
from __future__ import unicode_literals, absolute_import, division
import datetime
+import django.utils.timezone
from django.db import models
from django.conf import settings
from django.utils.translation import ugettext as _
-
from model_utils import Choices
from model_utils.models import TimeStampedModel
-
from student_registration.students.models import Student
from student_registration.schools.models import (
School,
@@ -17,9 +16,11 @@
ClassRoom,
Section,
EducationYear,
+ Coordinator,
)
from student_registration.locations.models import Location
from student_registration.alp.models import ALPRound, Outreach
+from django.core.exceptions import ValidationError
class EnrollmentManager(models.Manager):
@@ -39,6 +40,28 @@ def get_queryset(self):
.filter(disabled=True, dropout_status=False)
+class DocumentType(models.Model):
+ name = models.CharField(blank=True, null=True, max_length=70)
+ description = models.CharField(blank=True, null=True, max_length=500)
+ description2 = models.CharField(blank=True, null=True, max_length=200)
+
+ class Meta:
+ ordering = ['id']
+ verbose_name = "Document Type"
+ verbose_name_plural = "Documents Type"
+
+ def __unicode__(self):
+ return self.description
+
+
+def validate_file_size(value):
+ filesize = value.size
+ if filesize > 250000:
+ raise ValidationError("The maximum file size that can be uploaded is 250K")
+ else:
+ return value
+
+
class Enrollment(TimeStampedModel):
"""
Captures the details of the child in the cash pilot
@@ -74,6 +97,7 @@ class Enrollment(TimeStampedModel):
('out_the_country', _('School out of the country')),
('public_in_country', _('Public school in the country')),
('private_in_country', _('Private school in the country')),
+ ('CB_ECE', _('CB ECE')),
)
SCHOOL_SHIFT = Choices(
@@ -442,6 +466,7 @@ class Enrollment(TimeStampedModel):
)
last_attendance_date = models.DateField(blank=True, null=True)
last_absent_date = models.DateField(blank=True, null=True)
+ nb_consecutiveabsences =models.IntegerField(blank=True, null=True)
dropout_status = models.BooleanField(
blank=True, default=False,
verbose_name=_('Dropout?')
@@ -487,11 +512,60 @@ class Enrollment(TimeStampedModel):
null=True,
verbose_name=_('Last moved date')
)
-
+ dropout_date = models.DateField(
+ blank=True,
+ null=True,
+ verbose_name=_('dropout date')
+ )
objects = EnrollmentManager()
drop_objects = EnrollmentDropoutManager()
disabled_objects = EnrollmentDisabledManager()
-
+ documenttype = models.ForeignKey(
+ DocumentType,
+ blank=True, null=True,
+ verbose_name=_('Document Type'),
+ related_name='+',
+ )
+ documentnumber = models.CharField(
+ blank=True, null=True,
+ max_length=20,
+ verbose_name=_('Document Nunber'),
+ )
+ documentyear = models.ForeignKey(
+ EducationYear,
+ blank=True, null=True,
+ verbose_name=_('Document Year'),
+ related_name='+',
+ )
+ document_lastyear = models.ImageField(
+ upload_to='enr/doc',
+ blank=True,
+ null=True,
+ help_text=_('picture of previous education'),
+ validators=[validate_file_size]
+ )
+ justificationnumber = models.CharField(
+ blank=True, null=True,
+ verbose_name=_('Justification Number'),
+ max_length=25,
+ )
+ signature_cert_date = models.DateField(
+ blank=True,
+ null=True,
+ verbose_name=_('Signature Date')
+ )
+ is_justified = models.BooleanField(default=False)
+ justified_date = models.DateField(
+ blank=True,
+ null=True,
+ default=django.utils.timezone.now,
+ verbose_name=_('Justified Date')
+ )
+ justified_by = models.CharField(
+ blank=True, null=True,
+ verbose_name=_('Justified by'),
+ max_length=30,
+ )
@property
def student_fullname(self):
if self.student:
@@ -546,6 +620,10 @@ def student_phone_number(self):
def student_address(self):
return self.student.address
+ @property
+ def class_section(self):
+ return "%s, %s" % (self.classroom, self.section)
+
@property
def cycle(self):
if self.classroom_id in [2, 3, 4]:
@@ -554,6 +632,8 @@ def cycle(self):
return 'Cycle 2'
if self.classroom_id in [8, 9, 10]:
return 'Cycle 3'
+ if self.classroom_id == 1:
+ return 'KG'
return ''
def grading(self, term):
@@ -926,3 +1006,196 @@ class Meta:
def __unicode__(self):
return str(self.id)
+
+
+class DuplicateStd(TimeStampedModel):
+ enrollment = models.ForeignKey(
+ Enrollment,
+ blank=True, null=True,
+ related_name='enrollment_id'
+ )
+ owner = models.ForeignKey(
+ settings.AUTH_USER_MODEL,
+ blank=False, null=True,
+ related_name='+',
+ verbose_name=_('Created by')
+ )
+ is_solved = models.BooleanField(default=False)
+ remark = models.CharField(
+ max_length=500,
+ blank=True,
+ )
+ school_type = models.CharField(
+ max_length=20,
+ )
+ coordinator = models.ForeignKey(
+ Coordinator,
+ blank=True,
+ null=True,
+ verbose_name=_('Coordinator')
+ )
+ is_deleted = models.BooleanField(default=False)
+ current_year = models.CharField(
+ max_length=10,
+ default=datetime.datetime.now().year
+ )
+ Level = models.ForeignKey(
+ ClassLevel,
+ blank=True, null=True,
+ related_name='+',
+ verbose_name=_('Class Level'),
+ )
+ section = models.ForeignKey(
+ Section,
+ blank=True, null=True,
+ related_name='+',
+ verbose_name=_('Current Section')
+ )
+ classroom = models.ForeignKey(
+ ClassRoom,
+ blank=True, null=True,
+ related_name='+',
+ verbose_name=_('Current Class')
+ )
+ education_year = models.ForeignKey(
+ EducationYear,
+ blank=True, null=True,
+ related_name='+',
+ verbose_name=_('Education year')
+ )
+ alp_round = models.ForeignKey(
+ ALPRound,
+ blank=True, null=True,
+ related_name='+',
+ )
+ outreach = models.ForeignKey(
+ Outreach,
+ blank=True, null=True,
+ related_name='outreach_id'
+ )
+
+ @property
+ def student_fullname(self):
+ if self.enrollment:
+ if self.enrollment.student:
+ return self.enrollment.student.full_name
+ else:
+ if self.outreach:
+ if self.outreach.student:
+ return self.outreach.student.full_name
+ return ''
+
+ @property
+ def student_birthday(self):
+ if self.enrollment:
+ return self.enrollment.student.birthday
+ else:
+ if self.outreach:
+ return self.outreach.student.birthday
+
+ @property
+ def student_mother_fullname(self):
+ if self.enrollment:
+ if self.enrollment.student:
+ return self.enrollment.student.mother_fullname
+ else:
+ if self.outreach:
+ if self.outreach.student:
+ return self.outreach.student.mother_fullname
+ return ''
+
+ @property
+ def school_name(self):
+ if self.enrollment:
+ if self.enrollment.school:
+ return self.enrollment.school.name
+ else:
+ if self.outreach:
+ if self.outreach.school:
+ return self.outreach.school.name
+ return ''
+
+ @property
+ def student_id_number(self):
+ if self.enrollment:
+ if self.enrollment.student:
+ return self.enrollment.student.id_number
+ else:
+ if self.outreach:
+ if self.outreach.student:
+ return self.outreach.student.id_number
+ return ''
+
+ @property
+ def student_number(self):
+ if self.enrollment:
+ if self.enrollment.student:
+ return self.enrollment.student.number
+ else:
+ if self.outreach:
+ if self.outreach.student:
+ return self.outreach.student.number
+ return ''
+
+ @property
+ def student_sex(self):
+ if self.enrollment:
+ if self.enrollment.student:
+ return self.enrollment.student.sex
+ else:
+ if self.outreach:
+ if self.outreach.student:
+ return self.outreach.student.sex
+ return ''
+
+ @property
+ def school_location(self):
+ if self.enrollment:
+ if self.enrollment.school:
+ if self.enrollment.school.location:
+ return self.enrollment.school.location.name
+ else:
+ if self.outreach:
+ if self.outreach.school:
+ if self.outreach.school.location:
+ return self.outreach.school.location.name
+ return ''
+
+ @property
+ def school_number(self):
+ if self.enrollment:
+ if self.enrollment.school:
+ return self.enrollment.school.number
+ else:
+ if self.outreach:
+ if self.outreach.school:
+ return self.outreach.school.number
+ return ''
+
+ @property
+ def classroom_name(self):
+ if self.classroom:
+ return self.classroom.name
+ return ''
+
+ @property
+ def section_name(self):
+ if self.section:
+ return self.section.name
+ return ''
+
+ @property
+ def level_name(self):
+ if self.Level:
+ return self.level.name
+ return ''
+
+ @property
+ def coordinator_name(self):
+ if self.coordinator:
+ return self.coordinator.name
+ return ''
+
+ class Meta:
+ verbose_name = 'Duplicated Students'
+
diff --git a/student_registration/enrollments/serializers.py b/student_registration/enrollments/serializers.py
index 47d61dc2b..1d4d8eeca 100644
--- a/student_registration/enrollments/serializers.py
+++ b/student_registration/enrollments/serializers.py
@@ -1,4 +1,3 @@
-
from rest_framework import serializers
from .models import Enrollment, LoggingStudentMove, LoggingProgramMove, EnrollmentGrading
@@ -54,6 +53,7 @@ class EnrollmentSerializer(serializers.ModelSerializer):
student_birthday_month = serializers.CharField(source='student.birthday_month')
student_birthday_day = serializers.CharField(source='student.birthday_day')
student_place_of_birth = serializers.CharField(source='student.place_of_birth', required=False)
+ student_recordnumber = serializers.CharField(source='student.recordnumber', required=False)
student_age = serializers.CharField(source='student.age', read_only=True)
student_phone = serializers.CharField(source='student.phone', required=False)
student_phone_prefix = serializers.CharField(source='student.phone_prefix', required=False)
@@ -80,13 +80,13 @@ class EnrollmentSerializer(serializers.ModelSerializer):
last_school_id = serializers.CharField(source='last_school.id', read_only=True)
# last_informal_edu_level_id = serializers.CharField(source='last_informal_edu_level.id', read_only=True)
last_informal_edu_round_id = serializers.CharField(source='last_informal_edu_round.id', read_only=True)
- last_informal_edu_final_result_id = serializers.CharField(source='last_informal_edu_final_result.id', read_only=True)
-
+ last_informal_edu_final_result_id = serializers.CharField(source='last_informal_edu_final_result.id',
+ read_only=True)
moved = serializers.CharField(read_only=True)
-
+ dropout_status = serializers.CharField(read_only=True)
+ document_lastyear = serializers.ImageField(read_only=True, source='get_absolute_url')
student_outreach_child = serializers.IntegerField(source='student.outreach_child', required=False)
student_outreach_child_id = serializers.IntegerField(source='student.outreach_child.id', read_only=True)
-
csrfmiddlewaretoken = serializers.IntegerField(source='owner.id', read_only=True)
save = serializers.IntegerField(source='owner.id', read_only=True)
enrollment_id = serializers.IntegerField(source='id', read_only=True)
@@ -94,6 +94,17 @@ class EnrollmentSerializer(serializers.ModelSerializer):
search_school = serializers.CharField(source='school.id', read_only=True)
school_type = serializers.CharField(source='school.name', read_only=True)
search_barcode = serializers.CharField(source='outreach_barcode', read_only=True)
+ student_is_specialneeds = serializers.BooleanField(source='student.is_specialneeds', required=False)
+ student_specialneeds = serializers.CharField(source='student.specialneeds', required=False)
+ student_specialneeds_id = serializers.CharField(source='student.specialneeds.id', read_only=True)
+ student_specialneedsdt = serializers.CharField(source='student.specialneedsdt', required=False)
+ student_specialneedsdt_id = serializers.CharField(source='student.specialneedsdt.id', read_only=True)
+ student_is_financialsupport = serializers.BooleanField(source='student.is_financialsupport', required=False)
+ student_Financialsupport_number = serializers.CharField(source='student.Financialsupport_number', required=False)
+ student_financialsupport = serializers.CharField(source='student.financialsupport', required=False)
+ student_financialsupport_id = serializers.CharField(source='student.financialsupport.id', read_only=True)
+ student_unhcr_family = serializers.CharField(source='student.unhcr_family', required=False)
+ student_unhcr_personal = serializers.CharField(source='student.unhcr_personal', required=False)
def create(self, validated_data):
from student_registration.students.serializers import StudentSerializer
@@ -109,7 +120,6 @@ def create(self, validated_data):
student_serializer = StudentSerializer(data=student_data)
student_serializer.is_valid(raise_exception=True)
student_serializer.instance = student_serializer.save()
-
try:
instance = Enrollment.objects.create(**validated_data)
instance.student = student_serializer.instance
@@ -123,20 +133,15 @@ def create(self, validated_data):
def update(self, instance, validated_data):
student_data = validated_data.pop('student', None)
-
if student_data:
from student_registration.students.serializers import StudentSerializer
-
student_serializer = StudentSerializer(instance.student, data=student_data)
student_serializer.is_valid(raise_exception=True)
student_serializer.instance = student_serializer.save()
-
try:
-
for key in validated_data:
if hasattr(instance, key):
setattr(instance, key, validated_data[key])
-
instance.save()
except Exception as ex:
@@ -163,6 +168,7 @@ class Meta:
'student_birthday_month',
'student_birthday_day',
'student_place_of_birth',
+ 'student_recordnumber',
'student_age',
'student_phone',
'student_phone_prefix',
@@ -204,6 +210,7 @@ class Meta:
'last_informal_edu_round_id',
'last_informal_edu_final_result_id',
'moved',
+ 'dropout_status',
'exam_result_arabic',
'exam_result_language',
'exam_result_education',
@@ -238,6 +245,22 @@ class Meta:
'school_type',
'age_min_restricted',
'age_max_restricted',
+ 'student_is_specialneeds',
+ 'student_specialneeds',
+ 'student_specialneedsdt',
+ 'student_specialneeds_id',
+ 'student_specialneedsdt_id',
+ 'student_is_financialsupport',
+ 'student_Financialsupport_number',
+ 'student_financialsupport',
+ 'student_financialsupport_id',
+ 'student_unhcr_personal',
+ 'student_unhcr_family',
+ 'documenttype',
+ 'documentyear',
+ 'documentnumber',
+ 'document_lastyear',
+ 'signature_cert_date',
)
@@ -414,6 +437,7 @@ class Meta:
'moved',
'dropout_status',
'disabled',
+ 'document_lastyear'
)
diff --git a/student_registration/enrollments/tables.py b/student_registration/enrollments/tables.py
index 3937d6c2f..1ae8afd1f 100644
--- a/student_registration/enrollments/tables.py
+++ b/student_registration/enrollments/tables.py
@@ -14,7 +14,9 @@ class Meta:
class EnrollmentTable(tables.Table):
-
+ std_image = tables.TemplateColumn(verbose_name=_('Images'), orderable=False,
+ template_name='enrollments/student_profile.html',
+ attrs={'url': '/enrollments/modify-images/', 'url2': '/enrollments/clear-images/'})
edit_column = tables.TemplateColumn(verbose_name=_('Edit student'), orderable=False,
template_name='enrollments/edit_column.html',
attrs={'url': '/enrollments/edit/'})
@@ -23,6 +25,8 @@ class EnrollmentTable(tables.Table):
attrs={'url': '/api/enrollments/'})
moved_column = tables.TemplateColumn(verbose_name=_('Student moved'), orderable=False,
template_name='django_tables2/moved_column.html')
+ dropout_column = tables.TemplateColumn(verbose_name=_('dropout students'), orderable=False,
+ template_name='django_tables2/dropout_column.html')
grading_term1 = tables.TemplateColumn(verbose_name=_('Term 1'), orderable=False,
template_name='django_tables2/grading_term1_column.html')
grading_term2 = tables.TemplateColumn(verbose_name=_('Term 2'), orderable=False,
@@ -42,9 +46,11 @@ class Meta:
model = Enrollment
template = 'django_tables2/bootstrap.html'
fields = (
+ 'std_image',
'edit_column',
'delete_column',
'moved_column',
+ 'dropout_column',
'grading_term1',
'grading_term2',
'grading_final',
@@ -87,12 +93,70 @@ class Meta:
)
-class EnrollmentOldDataTable(tables.Table):
+class Enrollment_By_School_Table(tables.Table):
+ is_verified_column = tables.TemplateColumn(verbose_name=_('Is Justified'), orderable=False,
+ template_name='django_tables2/is_verified.html')
+
+ edit_column = tables.TemplateColumn(verbose_name=_('Edit student'), orderable=False,
+ template_name='enrollments/edit_column_region.html',
+ attrs={'url': '/enrollments/edit_region/'})
+
+ student_age = tables.Column(verbose_name=_('Age'), accessor='student.age', orderable=False,)
+ student_birthday = tables.Column(verbose_name=_('Birthday'), accessor='student.birthday', orderable=False,)
+ student_phone_number = tables.Column(verbose_name=_('Phone number'), accessor='student.phone_number', orderable=False,)
+ student_registered_in_unhcr = tables.Column(verbose_name=_('Registered in UNHCR'), orderable=False,
+ accessor='student.registered_in_unhcr')
+ class Meta:
+ model = Enrollment
+ template = 'django_tables2/bootstrap.html'
+ fields = (
+ 'is_verified_column',
+ 'edit_column',
+ 'school',
+ 'registration_date',
+ 'student.first_name',
+ 'student.father_name',
+ 'student.last_name',
+ 'student.sex',
+ 'student_age',
+ 'student_birthday',
+ 'student.nationality',
+ 'student.mother_fullname',
+ 'student.mother_nationality',
+ 'student_registered_in_unhcr',
+ 'student.id_type',
+ 'student.id_number',
+ 'student.address',
+ 'student_phone_number',
+ 'classroom',
+ 'section',
+ 'last_education_level',
+ 'last_school_type',
+ 'last_school_shift',
+ 'last_school',
+ 'last_education_year',
+ 'last_year_result',
+ 'participated_in_alp',
+ 'last_informal_edu_round',
+ 'last_informal_edu_final_result',
+ 'new_registry',
+ 'student_outreached',
+ 'have_barcode',
+ 'outreach_barcode',
+ 'created',
+ 'modified',
+ 'dropout_status',
+ 'disabled',
+ 'moved',
+ )
+
+class EnrollmentOldDataTable(tables.Table):
edit_column = tables.TemplateColumn(verbose_name=_('Edit student'), orderable=False,
template_name='django_tables2/edit_column.html',
attrs={'url': '/enrollments/edit-old-data/'})
-
+ grading_incomplete = tables.TemplateColumn(verbose_name=_('Incomplete?'), orderable=False,
+ template_name='django_tables2/grading_incomplete_column.html')
student_age = tables.Column(verbose_name=_('Age'), accessor='student.age', orderable=False,)
student_birthday = tables.Column(verbose_name=_('Birthday'), accessor='student.birthday', orderable=False,)
student_phone_number = tables.Column(verbose_name=_('Phone number'), accessor='student.phone_number', orderable=False,)
@@ -104,6 +168,7 @@ class Meta:
template = 'django_tables2/bootstrap.html'
fields = (
'edit_column',
+ 'grading_incomplete',
'student.first_name',
'student.father_name',
'student.last_name',
diff --git a/student_registration/enrollments/urls.py b/student_registration/enrollments/urls.py
index a8cd80f36..78a060217 100644
--- a/student_registration/enrollments/urls.py
+++ b/student_registration/enrollments/urls.py
@@ -16,6 +16,16 @@
view=views.EditView.as_view(),
name='edit'
),
+ url(
+ regex=r'^edit_region/(?P[\w.@+-]+)/$',
+ view=views.Edit_RegionView.as_view(),
+ name='edit_region'
+ ),
+ url(
+ regex=r'^saveimage/(?P[\w.@+-]+)/$',
+ view=views.Update_Image.as_view(),
+ name='saveimage'
+ ),
url(
regex=r'^edit-old-data/(?P[\w.@+-]+)/$',
view=views.EditOldDataView.as_view(),
@@ -31,6 +41,11 @@
view=views.ListingView.as_view(),
name='list'
),
+ url(
+ regex=r'^student_by_regions/$',
+ view=views.Student_By_Regions.as_view(),
+ name='student_by_regions'
+ ),
url(
regex=r'^list-old-data/$',
view=views.ListingOldDataView.as_view(),
@@ -61,5 +76,65 @@
view=views.ExportByCycleView.as_view(),
name='enrollment_export_by_cycle'
),
+ url(
+ regex=r'^saveimage/(?P[\w.@+-]+)/$',
+ view=views.Clear_Profile.as_view(),
+ name='clear-profile'
+ ),
+ url(
+ regex=r'^modify-images/(?P[\w.@+-]+)/$',
+ view=views.Modify_Images_View.as_view(),
+ name='modify_images'
+ ),
+ url(
+ regex=r'^clear-images/(?P[\w.@+-]+)/$',
+ view=views.Clear_Images_View.as_view(),
+ name='clear_images'
+ ),
+ url(
+ regex=r'^empty_profile/$',
+ view=views.empty_profile,
+ name='empty_profile'
+ ),
+ url(
+ regex=r'^changing_profile/$',
+ view=views.changing_profile,
+ name='changing_profile'
+ ),
+ url(
+ regex=r'^empty_birthdoc/$',
+ view=views.empty_birthdoc,
+ name='empty_birthdoc'
+ ),
+ url(
+ regex=r'^changing_birthdoc/$',
+ view=views.changing_birthdoc,
+ name='changing_birthdoc'
+ ),
+ url(
+ regex=r'^empty_unhcr/$',
+ view=views.empty_unhcr,
+ name='empty_unhcr'
+ ),
+ url(
+ regex=r'^changing_unhcr/$',
+ view=views.changing_unhcr,
+ name='changing_unhcr'
+ ),
+ url(
+ regex=r'^empty_doclastyear/$',
+ view=views.empty_doclastyear,
+ name='empty_doclastyear'
+ ),
+ url(
+ regex=r'^changing_doclastyear/$',
+ view=views.changing_doclastyear,
+ name='changing_doclastyear'
+ ),
+ url(
+ regex=r'^clear_pic/$',
+ view=views.clear_pic,
+ name='clear_pic'
+ ),
]
diff --git a/student_registration/enrollments/views.py b/student_registration/enrollments/views.py
index 429a39c41..83bd4440e 100644
--- a/student_registration/enrollments/views.py
+++ b/student_registration/enrollments/views.py
@@ -1,29 +1,28 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
-
-import datetime
+from datetime import date
import tablib
-
-from django.views.generic import ListView, FormView, TemplateView, UpdateView
+from django.http import Http404, HttpResponse, HttpResponseForbidden
+from django.views.generic import ListView, FormView, UpdateView
from django.contrib.auth.mixins import LoginRequiredMixin
-from django.http import HttpResponse, JsonResponse
+from django.http import HttpResponse, JsonResponse, HttpResponseRedirect
from django.utils.translation import ugettext as _
from django.db.models import Q
-
+from django.shortcuts import render, get_object_or_404
from rest_framework import status
from rest_framework import viewsets, mixins, permissions
from braces.views import GroupRequiredMixin, SuperuserRequiredMixin
from import_export.formats import base_formats
-
+from django.contrib import messages
from student_registration.alp.templatetags.util_tags import has_group, is_owner
from django_filters.views import FilterView
from django_tables2 import MultiTableMixin, RequestConfig, SingleTableView
from django_tables2.export.views import ExportMixin
-from .filters import EnrollmentFilter, EnrollmentOldDataFilter
-from .tables import BootstrapTable, EnrollmentTable, EnrollmentOldDataTable
-
+from .filters import EnrollmentFilter, EnrollmentOldDataFilter, Enrollment_by_region_Filter
+from .tables import BootstrapTable, EnrollmentTable, EnrollmentOldDataTable, Enrollment_By_School_Table
+from django.shortcuts import redirect
from student_registration.alp.models import Outreach
from student_registration.alp.serializers import OutreachSerializer
from student_registration.outreach.models import Child
@@ -39,10 +38,13 @@
)
from .forms import (
EnrollmentForm,
+ EnrollmentRegion_Form,
GradingTermForm,
GradingIncompleteForm,
StudentMovedForm,
- EditOldDataForm
+ EditOldDataForm,
+ ImageStudentForm,
+ Modify_Images_Form,
)
from .serializers import (
EnrollmentSerializer,
@@ -161,7 +163,7 @@ def get_context_data(self, **kwargs):
def get_form(self, form_class=None):
instance = Enrollment.objects.get(id=self.kwargs['pk'], school=self.request.user.school)
if self.request.method == "POST":
- return EnrollmentForm(self.request.POST, instance=instance)
+ return EnrollmentForm(self.request.POST, self.request.FILES, instance=instance)
else:
data = EnrollmentSerializer(instance).data
data['student_nationality'] = data['student_nationality_id']
@@ -171,10 +173,61 @@ def get_form(self, form_class=None):
def form_valid(self, form):
instance = Enrollment.objects.get(id=self.kwargs['pk'], school=self.request.user.school)
+
+ if self.request.FILES:
+ if self.request.FILES['document_lastyear']:
+ instance.document_lastyear = self.request.FILES['document_lastyear']
+ instance.save()
+ else:
+ if instance.document_lastyear:
+ v = instance.document_lastyear
+ instance.document_lastyear = v
+ instance.save()
form.save(request=self.request, instance=instance)
return super(EditView, self).form_valid(form)
+class Edit_RegionView(LoginRequiredMixin,
+ GroupRequiredMixin,
+ FormView):
+ template_name = 'bootstrap4/common_form.html'
+ form_class = EnrollmentRegion_Form
+ success_url = '/enrollments/student_by_regions/'
+ group_required = [u"ENROL_EDIT"]
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(Edit_RegionView, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ instance = Enrollment.objects.get(id=self.kwargs['pk'])
+ if self.request.method == "POST":
+ return EnrollmentRegion_Form(self.request.POST, self.request.FILES, instance=instance)
+ else:
+ data = EnrollmentSerializer(instance).data
+ data['student_nationality'] = data['student_nationality_id']
+ data['student_mother_nationality'] = data['student_mother_nationality_id']
+ data['student_id_type'] = data['student_id_type_id']
+ return EnrollmentRegion_Form(data, instance=instance)
+
+ def form_valid(self, form):
+ instance = Enrollment.objects.get(id=self.kwargs['pk'])
+ if self.request.FILES:
+ if self.request.FILES['document_lastyear']:
+ instance.document_lastyear = self.request.FILES['document_lastyear']
+ instance.save()
+ else:
+ if instance.document_lastyear:
+ v = instance.document_lastyear
+ instance.document_lastyear = v
+ instance.save()
+ form.save(request=self.request, instance=instance)
+ return super(Edit_RegionView, self).form_valid(form)
+
+
class EditOldDataView(LoginRequiredMixin,
GroupRequiredMixin,
FormView):
@@ -279,7 +332,8 @@ def get_queryset(self):
education_year = EducationYear.objects.get(current_year=True)
return Enrollment.objects.exclude(moved=True).filter(
education_year=education_year,
- school=self.request.user.school_id
+ school=self.request.user.school_id,
+ dropout_status=False
)
@@ -331,6 +385,47 @@ class LoggingProgramMoveViewSet(mixins.RetrieveModelMixin,
permission_classes = (permissions.IsAuthenticated,)
+class StudentDropoutViewSet(mixins.RetrieveModelMixin,
+ mixins.ListModelMixin,
+ viewsets.GenericViewSet):
+ model = Enrollment
+ queryset = Enrollment.objects.all()
+
+ def get_queryset(self):
+ if self.request.method in ["PATCH", "POST", "PUT"]:
+ return self.queryset
+
+ def post(self, request, *args, **kwargs):
+ if request.POST.get('dropout_status', 0):
+ enrollment = Enrollment.objects.get(id=request.POST.get('dropout_status', 0))
+ dropout_date = request.POST.get('dropout_date', 0)
+ enrollment.dropout_status = True
+ enrollment.dropout_date = dropout_date
+ enrollment.save()
+ return JsonResponse({'status': status.HTTP_200_OK})
+
+
+class StudentJustifyViewSet(mixins.RetrieveModelMixin,
+ mixins.ListModelMixin,
+ viewsets.GenericViewSet):
+ model = Enrollment
+ queryset = Enrollment.objects.all()
+
+ def get_queryset(self):
+ if self.request.method in ["PATCH", "POST", "PUT"]:
+ return self.queryset
+
+ def post(self, request, *args, **kwargs):
+ if request.POST.get('justify_status', 0):
+ enrollment = Enrollment.objects.get(id=request.POST.get('justify_status', 0))
+ justify_date = request.POST.get('justify_date', 0)
+ enrollment.is_justified = not enrollment.is_justified
+ enrollment.justified_date = date.today()
+ enrollment.justified_by = self.request.user.get_full_name()
+ enrollment.save()
+ return JsonResponse({'status': status.HTTP_200_OK})
+
+
class LoggingStudentMoveViewSet(mixins.RetrieveModelMixin,
mixins.ListModelMixin,
viewsets.GenericViewSet):
@@ -344,6 +439,10 @@ def get_queryset(self):
if self.request.method in ["PATCH", "POST", "PUT"]:
return self.queryset
terms = self.request.GET.get('term', 0)
+
+ if '\0' in terms:
+ terms = ''
+
current_year = EducationYear.objects.get(current_year=True)
if terms:
qs = self.queryset.filter(
@@ -508,8 +607,8 @@ class ExportViewSet(LoginRequiredMixin, ListView):
def get_queryset(self):
if not self.request.user.is_staff:
- return self.queryset.filter(owner=self.request.user)
- return self.queryset
+ return self.queryset.filter(owner=self.request.user, moved=False)
+ return self.queryset.filter(moved=False)
def get(self, request, *args, **kwargs):
school = request.GET.get('school', 0)
@@ -520,7 +619,6 @@ def get(self, request, *args, **kwargs):
'',
content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
)
-
if self.request.user.school_id:
school = self.request.user.school_id
if school:
@@ -666,3 +764,249 @@ def get(self, request, *args, **kwargs):
)
response['Content-Disposition'] = 'attachment; filename=student_by_cycle.xls'
return response
+
+
+class Update_Image(UpdateView):
+ model = Student
+ form_class = ImageStudentForm
+
+ template_name = 'students/imagestd.html'
+ success_url = '/enrollments/list/'
+ context_object_name = 'student_detail'
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(Update_Image, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ instance = Student.objects.get(id=self.kwargs['pk'])
+
+ if self.request.method == "POST":
+ instance = Student.objects.get(id=self.kwargs['pk'])
+ if self.request.POST.get('birth_documenttype'):
+ instance.birth_documenttype_id = self.request.POST.get('birth_documenttype')
+ else:
+ instance.birth_documenttype_id = ''
+
+ if self.request.FILES:
+ if self.request.FILES.get('picture', False):
+ instance.std_image = self.request.FILES['picture']
+ if self.request.FILES.get('id_picture', False):
+
+ instance.id_image = self.request.FILES['id_picture']
+ if self.request.FILES.get('unhcr_picture', False):
+ instance.unhcr_image = self.request.FILES['unhcr_picture']
+ if self.request.FILES.get('birthdoc_picture', False):
+ instance.birthdoc_image = self.request.FILES['birthdoc_picture']
+ instance.save()
+ #return ImageStudentForm(self.request.POST, instance=instance)
+ #else:
+ return ImageStudentForm(instance=instance)
+ else:
+ return ImageStudentForm(instance=instance)
+
+
+class Clear_Profile(UpdateView):
+ model = Student
+ form_class = ImageStudentForm
+
+ template_name = 'students/imagestd.html'
+ success_url = '/enrollments/list/'
+ context_object_name = 'student_detail'
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(Update_Image, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ instance = Student.objects.get(id=self.kwargs['pk'])
+
+ if self.request.method == "POST":
+ instance = Student.objects.get(id=self.kwargs['pk'])
+ instance.save()
+ return ImageStudentForm(instance=instance)
+ else:
+ return ImageStudentForm(instance=instance)
+
+
+class Modify_Images_View(UpdateView):
+ template_name = 'enrollments/modifying_images.html'
+ success_url = '/enrollments/list/'
+ context_object_name = 'student_images'
+ model = Enrollment
+
+ def get_success_url(self):
+ return self.success_url
+
+ def get_context_data(self, **kwargs):
+ from student_registration.students.models import Birth_DocumentType
+
+ return {
+ 'documenttype': Birth_DocumentType.objects.all(),
+ 'student_images': Enrollment.objects.filter(id=self.kwargs['pk'])
+ }
+
+ def get_form(self, form_class=None):
+ instance = Enrollment.objects.get(id=self.kwargs['pk'], school=self.request.user.school)
+ if self.request.method == "POST":
+ return Modify_Images_View(self.request.POST, self.request.FILES, instance=instance)
+ else:
+ return Modify_Images_View(instance=instance)
+
+
+class Clear_Images_View(UpdateView):
+ template_name = 'enrollments/clear_images.html'
+ success_url = '/enrollments/list/'
+ context_object_name = 'student_images'
+ model = Enrollment
+
+ def get_success_url(self):
+ return self.success_url
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(Clear_Images_View, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ instance = Enrollment.objects.get(id=self.kwargs['pk'], school=self.request.user.school)
+ if self.request.method == "POST":
+ return Clear_Images_View(self.request.POST, self.request.FILES, instance=instance)
+ else:
+ return Clear_Images_View(instance=instance)
+
+
+def empty_profile(request, *args):
+ from student_registration.students.models import Student
+
+ std = Student.objects.get(id=request.POST['txt_id_del'])
+ std.std_image = None
+ std.save()
+ return HttpResponse('Profile picture has been successfully cleaned ')
+
+
+def changing_profile(request, *args):
+ from student_registration.students.models import Student
+ if request.method == 'POST':
+ form = Modify_Images_Form(request.POST, request.FILES)
+ if request.FILES:
+ std = Student.objects.get(pk=request.POST['txt_id_img'])
+ std.std_image = request.FILES['image_profile']
+ std.save()
+ return HttpResponseForbidden('Profile picture has been successfully changed')
+
+
+def empty_birthdoc(request, *args):
+ from student_registration.students.models import Student
+
+ std = Student.objects.get(id=request.POST['txt_id_del_birthdoc'])
+ std.birthdoc_image = None
+ std.save()
+ return HttpResponse('Document type picture has been successfully cleaned ')
+
+
+def changing_birthdoc(request, *args):
+ from student_registration.students.models import Student, Birth_DocumentType
+ if request.method == 'POST':
+ form = Modify_Images_Form(request.POST, request.FILES)
+ std = Student.objects.get(pk=request.POST['txt_id_img_birthdoc'])
+ if request.FILES:
+ std.birthdoc_image = request.FILES['image_birthdoc']
+ if request.POST.get('cb_documenttype', False):
+ std.birth_documenttype = Birth_DocumentType.objects.get(id=request.POST['cb_documenttype'])
+ std.save()
+ return HttpResponseForbidden('Document type picture has been successfully changed')
+
+
+def empty_unhcr(request, *args):
+ from student_registration.students.models import Student
+
+ std = Student.objects.get(id=request.POST['txt_id_del_unhcr'])
+ std.unhcr_image = None
+ std.save()
+ return HttpResponse('UNHCR picture has been successfully cleaned ')
+
+
+def changing_unhcr(request, *args):
+ from student_registration.students.models import Student
+ if request.method == 'POST':
+ form = Modify_Images_Form(request.POST, request.FILES)
+ if request.FILES:
+ std = Student.objects.get(pk=request.POST['txt_id_img_unhcr'])
+ std.unhcr_image = request.FILES['image_unhcr']
+ std.save()
+ return HttpResponseForbidden('UNHCR picture has been successfully changed')
+
+
+def empty_doclastyear(request, *args):
+ from student_registration.enrollments.models import Enrollment
+
+ enr = Enrollment.objects.get(id=request.POST['txt_id_del_doclastyear'])
+ enr.document_lastyear = None
+ enr.save()
+ return HttpResponse('Document of the last year picture has been successfully cleaned ')
+
+
+def changing_doclastyear(request, *args):
+ from student_registration.enrollments.models import Enrollment, DocumentType
+ if request.method == 'POST':
+ form = Modify_Images_Form(request.POST, request.FILES)
+ enr = Enrollment.objects.get(pk=request.POST['txt_id_img_doclastyear'])
+ if request.FILES:
+ enr.document_lastyear = request.FILES['image_doclastyear']
+ enr.save()
+ return HttpResponseForbidden('Document of the last year picture has been successfully changed')
+
+
+def clear_pic(request, *args):
+ from student_registration.enrollments.models import Enrollment
+ if request.POST.get('chk_doclastyear', False):
+ enr = Enrollment.objects.get(id=request.POST['txt_id'])
+ enr.document_lastyear = None
+ enr.signature_cert_date = None
+ enr.save()
+
+ if request.POST.get('chk_profile', False) or request.POST.get('chk_document', False) or request.POST.get('chk_unhcr', False):
+ std = Student.objects.get(id=request.POST['txt_studentid'])
+ if request.POST.get('chk_profile', False):
+ std.std_image = None
+ std.save()
+ if request.POST.get('chk_document', False):
+ std.birthdoc_image = None
+ std.save()
+ if request.POST.get('chk_unhcr', False):
+ std.unhcr_image = None
+ std.save()
+ return HttpResponse('Picture has been successfully cleaned ')
+
+
+class Student_By_Regions(LoginRequiredMixin,
+ GroupRequiredMixin,
+ FilterView,
+ ExportMixin,
+ SingleTableView,
+ RequestConfig):
+
+ table_class = Enrollment_By_School_Table
+ model = Enrollment
+ template_name = 'enrollments/list.html'
+ table = BootstrapTable(Enrollment.objects.all(), order_by='id')
+ filterset_class = Enrollment_by_region_Filter
+ group_required = [u"ADMIN_RE"]
+
+ def get_queryset(self):
+ force_default_language(self.request)
+ education_year = EducationYear.objects.get(current_year=True)
+ return Enrollment.objects.filter(
+ education_year=education_year,
+ school__location__in=self.request.user.regions.all(),
+ ).order_by('school_id', 'classroom_id', 'section_id', 'student')
+
diff --git a/student_registration/hsts_middleware.py b/student_registration/hsts_middleware.py
new file mode 100755
index 000000000..e69f49ae0
--- /dev/null
+++ b/student_registration/hsts_middleware.py
@@ -0,0 +1,11 @@
+class HSTSMiddleware:
+ def __init__(self, get_response):
+ self.get_response = get_response
+
+ def __call__(self, request):
+ response = self.get_response(request)
+
+ if request.is_secure:
+ response['Strict-Transport-Security'] = 'max-age=2592000; includeSubdomains'
+
+ return response
diff --git a/student_registration/locations/admin.py b/student_registration/locations/admin.py
index ab18b5a15..a1df6149d 100644
--- a/student_registration/locations/admin.py
+++ b/student_registration/locations/admin.py
@@ -18,6 +18,7 @@ class Meta:
fields = (
'id',
'name',
+ 'name_en',
'type',
'parent',
'latitude',
diff --git a/student_registration/locations/migrations/0006_auto_20191219_1302.py b/student_registration/locations/migrations/0006_auto_20191219_1302.py
new file mode 100644
index 000000000..f9a04581a
--- /dev/null
+++ b/student_registration/locations/migrations/0006_auto_20191219_1302.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.23 on 2019-12-19 11:02
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('locations', '0005_auto_20170731_2134'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='location',
+ name='name_en',
+ field=models.CharField(blank=True, max_length=254, null=True),
+ ),
+ migrations.AddField(
+ model_name='locationtype',
+ name='name_en',
+ field=models.CharField(blank=True, max_length=145, null=True),
+ ),
+ ]
diff --git a/student_registration/locations/models.py b/student_registration/locations/models.py
index aa196ff4c..c9516fb8b 100644
--- a/student_registration/locations/models.py
+++ b/student_registration/locations/models.py
@@ -9,6 +9,7 @@
class LocationType(models.Model):
name = models.CharField(max_length=64, unique=True)
+ name_en = models.CharField(max_length=145, blank=True, null=True)
class Meta:
ordering = ['name']
@@ -21,6 +22,7 @@ def __unicode__(self):
class Location(MPTTModel):
name = models.CharField(max_length=254)
+ name_en = models.CharField(max_length=254, blank=True, null=True)
type = models.ForeignKey(LocationType, verbose_name='Location Type')
latitude = models.FloatField(null=True, blank=True)
longitude = models.FloatField(null=True, blank=True)
diff --git a/student_registration/lockout_middleware.py b/student_registration/lockout_middleware.py
new file mode 100755
index 000000000..e74509155
--- /dev/null
+++ b/student_registration/lockout_middleware.py
@@ -0,0 +1,50 @@
+
+from threading import local
+thread_namespace = local()
+
+
+class StudentLockoutMiddleware(object):
+ """Decorates django.contrib.auth.authenticate with enforce_lockout, and
+ adds the request to thread local so the decorator can access request
+ details.
+ """
+
+ __state = {} # Borg pattern
+
+ def __init__(self, get_response=None):
+ self.__dict__ = self.__state
+
+ self.get_response = get_response
+ super(StudentLockoutMiddleware, self).__init__()
+
+ self.installed = getattr(self, 'installed', False)
+ if not self.installed:
+ # Import here to avoid circular import.
+ from lockout.decorators import enforce_lockout
+ from django.contrib import auth
+ auth.authenticate = enforce_lockout(auth.authenticate)
+ self.installed = True
+
+ def __call__(self, request):
+ response = None
+ if hasattr(self, 'process_request'):
+ response = self.process_request(request)
+ if not response:
+ response = self.get_response(request)
+ if hasattr(self, 'process_response'):
+ response = self.process_response(request, response)
+ return response
+
+
+ def process_request(self, request):
+ thread_namespace.lockoutrequest = request
+
+ def process_response(self, request, response):
+ # If a previous middleware returned a response or raised an exception,
+ # our process_request won't have gotten called, so check before
+ # deleting.
+ if hasattr(thread_namespace, 'lockoutrequest'):
+ delattr(thread_namespace, 'lockoutrequest')
+ return response
+
+########################################################################
diff --git a/student_registration/middleware.py b/student_registration/middleware.py
new file mode 100755
index 000000000..22459099c
--- /dev/null
+++ b/student_registration/middleware.py
@@ -0,0 +1,35 @@
+from datetime import datetime, timedelta
+from django.conf import settings
+from django.contrib import auth
+
+
+class AutoLogout(object):
+
+ def __init__(self, get_response=None):
+ self.get_response = get_response
+ super(AutoLogout, self).__init__()
+
+ def __call__(self, request):
+ response = None
+ if hasattr(self, 'process_request'):
+ response = self.process_request(request)
+ if not response:
+ response = self.get_response(request)
+ if hasattr(self, 'process_response'):
+ response = self.process_response(request, response)
+ return response
+
+ def process_request(self, request):
+ if not request.user.is_authenticated() :
+ #Can't log out if not logged in
+ return
+
+ try:
+ if datetime.now() - request.session['last_touch'] > timedelta( 0, settings.AUTO_LOGOUT_DELAY * 60, 0):
+ auth.logout(request)
+ del request.session['last_touch']
+ return
+ except KeyError:
+ pass
+
+ request.session['last_touch'] = datetime.now()
diff --git a/student_registration/one_session.py b/student_registration/one_session.py
new file mode 100755
index 000000000..68d633817
--- /dev/null
+++ b/student_registration/one_session.py
@@ -0,0 +1,30 @@
+#Session model stores the session data
+from django.contrib.sessions.models import Session
+
+class OneSessionPerUserMiddleware:
+ # Called only once when the web server starts
+ def __init__(self, get_response):
+ self.get_response = get_response
+
+ def __call__(self, request):
+ # Code to be executed for each request before
+ # the view (and later middleware) are called.
+ if request.user.is_authenticated:
+ stored_session_key = request.user.logged_in_user.session_key
+
+ # if there is a stored_session_key in our database and it is
+ # different from the current session, delete the stored_session_key
+ # session_key with from the Session table
+ if stored_session_key and stored_session_key != request.session.session_key:
+ Session.objects.get(session_key=stored_session_key).delete()
+
+ request.user.logged_in_user.session_key = request.session.session_key
+ request.user.logged_in_user.save()
+
+ response = self.get_response(request)
+
+ # This is where you add any extra code to be executed for each request/response after
+ # the view is called.
+ # For this tutorial, we're not adding any code so we just return the response
+
+ return response
diff --git a/student_registration/outreach/migrations/0027_child_std_phone.py b/student_registration/outreach/migrations/0027_child_std_phone.py
new file mode 100644
index 000000000..fc53cc47b
--- /dev/null
+++ b/student_registration/outreach/migrations/0027_child_std_phone.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-09-01 14:28
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('outreach', '0026_auto_20171201_1705'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='child',
+ name='std_phone',
+ field=models.CharField(blank=True, max_length=74, null=True),
+ ),
+ ]
diff --git a/student_registration/outreach/migrations/0028_child_recordnumber.py b/student_registration/outreach/migrations/0028_child_recordnumber.py
new file mode 100644
index 000000000..a7981faef
--- /dev/null
+++ b/student_registration/outreach/migrations/0028_child_recordnumber.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-09-29 09:31
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('outreach', '0027_child_std_phone'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='child',
+ name='recordnumber',
+ field=models.CharField(blank=True, max_length=45, null=True),
+ ),
+ ]
diff --git a/student_registration/outreach/migrations/0029_auto_20190929_1251.py b/student_registration/outreach/migrations/0029_auto_20190929_1251.py
new file mode 100644
index 000000000..095f15c31
--- /dev/null
+++ b/student_registration/outreach/migrations/0029_auto_20190929_1251.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-09-29 09:51
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('outreach', '0028_child_recordnumber'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='child',
+ name='recordnumber',
+ field=models.CharField(blank=True, max_length=45, null=True, verbose_name='\u0631\u0642\u0645 \u0627\u0644\u0633\u062c\u0644'),
+ ),
+ ]
diff --git a/student_registration/outreach/migrations/0030_auto_20191008_1151.py b/student_registration/outreach/migrations/0030_auto_20191008_1151.py
new file mode 100644
index 000000000..d82ae6929
--- /dev/null
+++ b/student_registration/outreach/migrations/0030_auto_20191008_1151.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-10-08 08:51
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('outreach', '0029_auto_20190929_1251'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='child',
+ name='recordnumber',
+ field=models.CharField(blank=True, max_length=45, null=True, verbose_name='\u0631\u0642\u0645 \u062a\u0633\u0644\u0633\u0644\u064a \u062e\u0627\u0635 \u0628\u0627\u0644\u062c\u0645\u0639\u064a\u0629'),
+ ),
+ ]
diff --git a/student_registration/outreach/tasks.py b/student_registration/outreach/tasks.py
index 8954b0456..01e779972 100644
--- a/student_registration/outreach/tasks.py
+++ b/student_registration/outreach/tasks.py
@@ -141,20 +141,20 @@ def post_data(protocol, url, apifunc, token, data):
headers = {"Content-type": "application/json", "Authorization": token, "HTTP_REFERER": url, "Cookie": "token="+token}
- if protocol == 'HTTPS':
- conn = httplib.HTTPSConnection(url)
- else:
- conn = httplib.HTTPConnection(url)
- conn.request('POST', apifunc, params, headers)
- response = conn.getresponse()
- result = response.read()
-
- if not response.status == 201:
- if response.status == 400:
- raise Exception(str(response.status) + response.reason + response.read())
- else:
- raise Exception(str(response.status) + response.reason)
-
- conn.close()
-
- return result
+ # if protocol == 'HTTPS':
+ # conn = httplib.HTTPSConnection(url)
+ # else:
+ # conn = httplib.HTTPConnection(url)
+ # conn.request('POST', apifunc, params, headers)
+ # response = conn.getresponse()
+ # result = response.read()
+ #
+ # if not response.status == 201:
+ # if response.status == 400:
+ # raise Exception(str(response.status) + response.reason + response.read())
+ # else:
+ # raise Exception(str(response.status) + response.reason)
+ #
+ # conn.close()
+ #
+ # return result
diff --git a/student_registration/password_validators.py b/student_registration/password_validators.py
new file mode 100755
index 000000000..e3aa0b76d
--- /dev/null
+++ b/student_registration/password_validators.py
@@ -0,0 +1,66 @@
+import re
+
+from django.core.exceptions import ValidationError
+from django.utils.translation import ugettext as _
+
+
+class NumberValidator(object):
+ def __init__(self, min_digits=0):
+ self.min_digits = min_digits
+
+ def validate(self, password, user=None):
+ if not len(re.findall('\d', password)) >= self.min_digits:
+ raise ValidationError(
+ _("The password must contain at least %(min_digits)d digit(s), 0-9."),
+ code='password_no_number',
+ params={'min_digits': self.min_digits},
+ )
+
+ def get_help_text(self):
+ return _(
+ "Your password must contain at least %(min_digits)d digit(s), 0-9." % {'min_digits': self.min_digits}
+ )
+
+
+class UppercaseValidator(object):
+ def validate(self, password, user=None):
+ if not re.findall('[A-Z]', password):
+ raise ValidationError(
+ _("The password must contain at least 1 uppercase letter, A-Z."),
+ code='password_no_upper',
+ )
+
+ def get_help_text(self):
+ return _(
+ "Your password must contain at least 1 uppercase letter, A-Z."
+ )
+
+
+class LowercaseValidator(object):
+ def validate(self, password, user=None):
+ if not re.findall('[a-z]', password):
+ raise ValidationError(
+ _("The password must contain at least 1 lowercase letter, a-z."),
+ code='password_no_lower',
+ )
+
+ def get_help_text(self):
+ return _(
+ "Your password must contain at least 1 lowercase letter, a-z."
+ )
+
+
+class SymbolValidator(object):
+ def validate(self, password, user=None):
+ if not re.findall('[()[\]{}|\\`~!@#$%^&*_\-+=;:\'",<>./?]', password):
+ raise ValidationError(
+ _("The password must contain at least 1 symbol: " +
+ "()[]{}|\`~!@#$%^&*_-+=;:'\",<>./?"),
+ code='password_no_symbol',
+ )
+
+ def get_help_text(self):
+ return _(
+ "Your password must contain at least 1 symbol: " +
+ "()[]{}|\`~!@#$%^&*_-+=;:'\",<>./?"
+ )
diff --git a/student_registration/schools/admin.py b/student_registration/schools/admin.py
index b6887a85f..6b344257a 100644
--- a/student_registration/schools/admin.py
+++ b/student_registration/schools/admin.py
@@ -20,7 +20,11 @@
EducationalLevel,
Holiday,
CLMRound,
- PublicDocument
+ PublicDocument,
+ Coordinator,
+ Evaluation,
+ PublicHolidays,
+ Schl_Subject,
)
from student_registration.locations.models import Location
@@ -37,7 +41,11 @@ class SchoolResource(resources.ModelResource):
attendances_days_2ndshift = fields.Field(column_name='Attendances days 2nd shift')
attendances_days_2ndshift_open = fields.Field(column_name='Attendances days 2nd shift when school is open')
attendances_days_alp = fields.Field(column_name='Attendances days ALP')
+ total_attendances_days_alp = fields.Field(column_name='Total Attendances days ALP')
attendances_days_alp_open = fields.Field(column_name='Attendances days ALP when school is open')
+ total_attendances_days_alp_open = fields.Field(column_name='Total Attendances days ALP when school is open')
+ total_attendances_days_2ndshift = fields.Field(column_name='Total attendance days in 2ndshift')
+ total_attendances_days_2ndshift_open = fields.Field(column_name='Total attendance days in 2ndshift is open')
class Meta:
model = School
@@ -57,7 +65,8 @@ class Meta:
'weekend',
'it_name',
'it_phone_number',
- 'field_coordinator_name',
+ #'field_coordinator_name',
+ 'coordinator',
'total_registered_2ndshift',
'total_registered_2ndshift_male',
'total_registered_2ndshift_female',
@@ -77,6 +86,11 @@ class Meta:
'attendances_days_2ndshift_open',
'attendances_days_alp',
'attendances_days_alp_open',
+ 'total_attendances_days_2ndshift',
+ 'total_attendances_days_alp',
+ 'total_attendances_days_alp_open',
+ 'total_attendances_days_2ndshift_open',
+ 'is_closed',
)
export_order = fields
@@ -93,6 +107,18 @@ def dehydrate_governorate(self, obj):
def dehydrate_total_registered_2ndshift(self, obj):
return obj.total_registered
+ def dehydrate_total_attendances_days_2ndshif(self, obj):
+ return obj.total_attendances_days_2ndshif
+
+ def dehydrate_total_attendances_days_alp(self, obj):
+ return obj.total_attendances_days_alp
+
+ def dehydrate_total_attendances_days_alp_open(self, obj):
+ return obj.total_attendances_days_alp_open
+
+ def dehydrate_total_attendances_days_2ndshift_open(self, obj):
+ return obj.total_attendances_days_2ndshift_open
+
def dehydrate_total_registered_2ndshift_male(self, obj):
return obj.total_registered_2ndshift_male
@@ -211,10 +237,15 @@ class SchoolAdmin(ImportExportModelAdmin):
'weekend',
'it_name',
'it_phone_number',
- 'field_coordinator_name',
+ 'coordinator',
'academic_year_start',
'academic_year_end',
'academic_year_exam_end',
+ 'is_closed',
+ #'total_attendances_days_2ndshift',
+ #'total_attendances_days_2ndshift_open',
+ #'total_attendances_days_alp',
+ #'total_attendances_days_alp_open',
)
list_display = (
'name',
@@ -228,6 +259,13 @@ class SchoolAdmin(ImportExportModelAdmin):
'total_registered_alp',
'attendance_range',
'attendance_from_beginning',
+ 'weekend',
+ 'academic_year_start',
+ 'total_attendances_days_2ndshift',
+ 'total_attendances_days_2ndshift_open',
+ 'total_attendances_days_alp',
+ 'total_attendances_days_alp_open',
+ 'is_closed',
)
search_fields = (
'name',
@@ -242,6 +280,7 @@ class SchoolAdmin(ImportExportModelAdmin):
'is_alp',
'is_2nd_shift',
'weekend',
+ 'is_closed',
)
date_hierarchy = 'academic_year_start'
@@ -344,6 +383,7 @@ class ClassRoomAdmin(ImportExportModelAdmin):
resource_class = ClassRoomResource
fields = (
'name',
+ 'classroom_type',
)
list_display = fields
@@ -405,11 +445,13 @@ class ALPAssignmentMatrixAdmin(ImportExportModelAdmin):
'range_start',
'range_end',
'refer_to',
+ 'matrix_type',
)
list_display = (
'level',
'range',
'refer_to',
+ 'matrix_type',
)
def get_export_formats(self):
@@ -449,6 +491,13 @@ class Meta:
class CLMRoundAdmin(ImportExportModelAdmin):
resource_class = CLMRoundResource
+ list_display = (
+ 'name',
+ 'current_round_bln',
+ 'current_round_abln',
+ 'current_round_cbece',
+ )
+
class EducationalLevelResource(resources.ModelResource):
class Meta:
@@ -460,10 +509,297 @@ class Meta:
export_order = fields
-class EducationalLevelAdmin(ImportExportModelAdmin):
- resource_class = EducationalLevelResource
+class EvaluationResource(resources.ModelResource):
+
+ class Meta:
+ model = Evaluation
+ fields = (
+ 'owner',
+ 'school',
+ 'school__location',
+ 'school__number',
+ 'school__name',
+ 'total_teaching_days',
+ 'total_teaching_days_tillnow',
+ 'implemented_de',
+ 'reasons_no_de',
+ 'challenges_de',
+ 'steps_de',
+ 'evaluate_steps_de',
+ 'other_notes_de',
+
+ 'c1_eng_completed',
+ 'c1_eng_completed_de',
+ 'c1_eng_remaining_de',
+ 'c1_fr_completed',
+ 'c1_fr_completed_de',
+ 'c1_fr_remaining_de',
+ 'c1_math_completed',
+ 'c1_math_completed_de',
+ 'c1_math_remaining_de',
+ 'c1_sc_completed',
+ 'c1_sc_completed_de',
+ 'c1_sc_remaining_de',
+ 'c1_ara_completed',
+ 'c1_ara_completed_de',
+ 'c1_ara_remaining_de',
+ 'c1_civic_completed',
+ 'c1_civic_completed_de',
+ 'c1_civic_remaining_de',
+ 'c1_geo_completed',
+ 'c1_geo_completed_de',
+ 'c1_geo_remaining_de',
+
+ 'c2_eng_completed',
+ 'c2_eng_completed_de',
+ 'c2_eng_remaining_de',
+ 'c2_fr_completed',
+ 'c2_fr_completed_de',
+ 'c2_fr_remaining_de',
+ 'c2_math_completed',
+ 'c2_math_completed_de',
+ 'c2_math_remaining_de',
+ 'c2_sc_completed',
+ 'c2_sc_completed_de',
+ 'c2_sc_remaining_de',
+ 'c2_ara_completed',
+ 'c2_ara_completed_de',
+ 'c2_ara_remaining_de',
+ 'c2_civic_completed',
+ 'c2_civic_completed_de',
+ 'c2_civic_remaining_de',
+ 'c2_geo_completed',
+ 'c2_geo_completed_de',
+ 'c2_geo_remaining_de',
+ 'implemented_de_2',
+ 'reasons_no_de_2',
+ 'challenges_de_2',
+ 'steps_de_2',
+ 'evaluate_steps_de_2',
+ 'implemented_de_3',
+ 'reasons_no_de_3',
+ 'challenges_de_3',
+ 'steps_de_3',
+ 'evaluate_steps_de_3',
+
+ 'c3_eng_completed',
+ 'c3_eng_completed_de',
+ 'c3_eng_remaining_de',
+ 'c3_fr_completed',
+ 'c3_fr_completed_de',
+ 'c3_fr_remaining_de',
+ 'c3_math_completed',
+ 'c3_math_completed_de',
+ 'c3_math_remaining_de',
+ 'c3_sc_completed',
+ 'c3_sc_completed_de',
+ 'c3_sc_remaining_de',
+ 'c3_ara_completed',
+ 'c3_ara_completed_de',
+ 'c3_ara_remaining_de',
+ 'c3_civic_completed',
+ 'c3_civic_completed_de',
+ 'c3_civic_remaining_de',
+ 'c3_geo_completed',
+ 'c3_geo_completed_de',
+ 'c3_geo_remaining_de',
+
+ 'implemented_de_3',
+ 'reasons_no_de_3',
+ 'challenges_de_3',
+ 'steps_de_3',
+ 'evaluate_steps_de_3',
+
+ 'c4_eng_completed',
+ 'c4_eng_completed_de',
+ 'c4_eng_remaining_de',
+ 'c4_fr_completed',
+ 'c4_fr_completed_de',
+ 'c4_fr_remaining_de',
+ 'c4_math_completed',
+ 'c4_math_completed_de',
+ 'c4_math_remaining_de',
+ 'c4_sc_completed',
+ 'c4_sc_completed_de',
+ 'c4_sc_remaining_de',
+ 'c4_ara_completed',
+ 'c4_ara_completed_de',
+ 'c4_ara_remaining_de',
+ 'c4_civic_completed',
+ 'c4_civic_completed_de',
+ 'c4_civic_remaining_de',
+ 'c4_geo_completed',
+ 'c4_geo_completed_de',
+ 'c4_geo_remaining_de',
+
+ 'c5_eng_completed',
+ 'c5_eng_completed_de',
+ 'c5_eng_remaining_de',
+ 'c5_fr_completed',
+ 'c5_fr_completed_de',
+ 'c5_fr_remaining_de',
+ 'c5_math_completed',
+ 'c5_math_completed_de',
+ 'c5_math_remaining_de',
+ 'c5_sc_completed',
+ 'c5_sc_completed_de',
+ 'c5_sc_remaining_de',
+ 'c5_ara_completed',
+ 'c5_ara_completed_de',
+ 'c5_ara_remaining_de',
+ 'c5_civic_completed',
+ 'c5_civic_completed_de',
+ 'c5_civic_remaining_de',
+ 'c5_geo_completed',
+ 'c5_geo_completed_de',
+ 'c5_geo_remaining_de',
+
+ 'c6_eng_completed',
+ 'c6_eng_completed_de',
+ 'c6_eng_remaining_de',
+ 'c6_fr_completed',
+ 'c6_fr_completed_de',
+ 'c6_fr_remaining_de',
+ 'c6_math_completed',
+ 'c6_math_completed_de',
+ 'c6_math_remaining_de',
+ 'c6_sc_completed',
+ 'c6_sc_completed_de',
+ 'c6_sc_remaining_de',
+ 'c6_ara_completed',
+ 'c6_ara_completed_de',
+ 'c6_ara_remaining_de',
+ 'c6_civic_completed',
+ 'c6_civic_completed_de',
+ 'c6_civic_remaining_de',
+ 'c6_geo_completed',
+ 'c6_geo_completed_de',
+ 'c6_geo_remaining_de',
+
+ 'c7_eng_completed',
+ 'c7_eng_completed_de',
+ 'c7_eng_remaining_de',
+ 'c7_fr_completed',
+ 'c7_fr_completed_de',
+ 'c7_fr_remaining_de',
+ 'c7_math_completed',
+ 'c7_math_completed_de',
+ 'c7_math_remaining_de',
+ 'c7_sc_completed',
+ 'c7_sc_completed_de',
+ 'c7_sc_remaining_de',
+ 'c7_ara_completed',
+ 'c7_ara_completed_de',
+ 'c7_ara_remaining_de',
+ 'c7_civic_completed',
+ 'c7_civic_completed_de',
+ 'c7_civic_remaining_de',
+ 'c7_geo_completed',
+ 'c7_geo_completed_de',
+ 'c7_geo_remaining_de',
+
+ 'c8_eng_completed',
+ 'c8_eng_completed_de',
+ 'c8_eng_remaining_de',
+ 'c8_fr_completed',
+ 'c8_fr_completed_de',
+ 'c8_fr_remaining_de',
+ 'c8_math_completed',
+ 'c8_math_completed_de',
+ 'c8_math_remaining_de',
+ 'c8_sc_completed',
+ 'c8_sc_completed_de',
+ 'c8_sc_remaining_de',
+ 'c8_ara_completed',
+ 'c8_ara_completed_de',
+ 'c8_ara_remaining_de',
+ 'c8_civic_completed',
+ 'c8_civic_completed_de',
+ 'c8_civic_remaining_de',
+ 'c8_geo_completed',
+ 'c8_geo_completed_de',
+ 'c8_geo_remaining_de',
+
+ 'c9_eng_completed',
+ 'c9_eng_completed_de',
+ 'c9_eng_remaining_de',
+ 'c9_fr_completed',
+ 'c9_fr_completed_de',
+ 'c9_fr_remaining_de',
+ 'c9_math_completed',
+ 'c9_math_completed_de',
+ 'c9_math_remaining_de',
+ 'c9_sc_completed',
+ 'c9_sc_completed_de',
+ 'c9_sc_remaining_de',
+ 'c9_ara_completed',
+ 'c9_ara_completed_de',
+ 'c9_ara_remaining_de',
+ 'c9_civic_completed',
+ 'c9_civic_completed_de',
+ 'c9_civic_remaining_de',
+ 'c9_geo_completed',
+ 'c9_geo_completed_de',
+ 'c9_geo_remaining_de',
+
+ 'cprep_eng_completed',
+ 'cprep_eng_completed_de',
+ 'cprep_eng_remaining_de',
+ 'cprep_fr_completed',
+ 'cprep_fr_completed_de',
+ 'cprep_fr_remaining_de',
+ 'cprep_math_completed',
+ 'cprep_math_completed_de',
+ 'cprep_math_remaining_de',
+ 'cprep_sc_completed',
+ 'cprep_sc_completed_de',
+ 'cprep_sc_remaining_de',
+ 'cprep_ara_completed',
+ 'cprep_ara_completed_de',
+ 'cprep_ara_remaining_de',
+ 'cprep_civic_completed',
+ 'cprep_civic_completed_de',
+ 'cprep_civic_remaining_de',
+ 'cprep_geo_completed',
+ 'cprep_geo_completed_de',
+ 'cprep_geo_remaining_de',
+ 'c9_total_std',
+ 'c9_total_std_de',
+ 'implemented_de_9',
+ 'reasons_no_de_9',
+ 'challenges_de_9',
+ 'steps_de_9',
+ 'evaluate_steps_de_9',
+ 'implemented_de_prep',
+ 'reasons_no_de_prep',
+ 'challenges_de_prep',
+ 'steps_de_prep',
+ 'evaluate_steps_de_prep',
+ 'c9_total_teachers',
+ 'c9_total_teachers_de',
+
+
+ )
+ list_display = fields
+
+ export_order = fields
+
+
+class EvaluationAdmin(ImportExportModelAdmin):
+ resource_class = EvaluationResource
+ class Meta:
+ model = Evaluation
+ list_filter = (
+ 'school',
+ 'school__location',
+ 'school__number',
+ 'school__name',
+ )
+
+class EducationalLevelAdmin(ImportExportModelAdmin):
+ resource_class = EducationalLevelResource
admin.site.register(School, SchoolAdmin)
admin.site.register(EducationLevel, EducationLevelAdmin)
admin.site.register(ClassLevel, ClassLevelAdmin)
@@ -477,11 +813,7 @@ class EducationalLevelAdmin(ImportExportModelAdmin):
admin.site.register(PublicDocument, PublicDocumentAdmin)
admin.site.register(EducationalLevel, EducationalLevelAdmin)
admin.site.register(ALPAssignmentMatrix, ALPAssignmentMatrixAdmin)
-
-
-
-
-
-
-
-
+admin.site.register(Coordinator)
+admin.site.register(Schl_Subject)
+admin.site.register(Evaluation, EvaluationAdmin)
+admin.site.register(PublicHolidays)
diff --git a/student_registration/schools/forms.py b/student_registration/schools/forms.py
index 40d3860ea..9031bd16f 100644
--- a/student_registration/schools/forms.py
+++ b/student_registration/schools/forms.py
@@ -2,14 +2,15 @@
from django.utils.translation import ugettext as _
from django import forms
+from django.forms import modelformset_factory
from django.core.urlresolvers import reverse
from django.contrib import messages
-
+from django.shortcuts import render
from crispy_forms.helper import FormHelper
from crispy_forms.bootstrap import FormActions, Accordion, PrependedText, InlineCheckboxes, InlineRadios
-from crispy_forms.layout import Layout, Fieldset, Button, Submit, Div, Field, HTML
+from crispy_forms.layout import Layout, Fieldset, Button, Submit, Div, Field, HTML, ButtonHolder
-from .models import School, PartnerOrganization, EducationYear
+from .models import School, PartnerOrganization, EducationYear, Evaluation
class ProfileForm(forms.ModelForm):
@@ -54,7 +55,6 @@ def __init__(self, *args, **kwargs):
self.helper = FormHelper()
self.helper.form_show_labels = True
self.helper.form_action = reverse('schools:profile', kwargs={})
-
self.helper.layout = Layout(
Fieldset(
None,
@@ -92,7 +92,7 @@ def __init__(self, *args, **kwargs):
HTML('10'),
Div('it_phone_number', css_class='col-md-3'),
HTML('11'),
- Div('field_coordinator_name', css_class='col-md-3'),
+ Div('coordinator', css_class='col-md-3'),
css_class='row',
),
Div(
@@ -111,6 +111,34 @@ def __init__(self, *args, **kwargs):
),
css_class='bd-callout bd-callout-warning'
),
+ Fieldset(
+ None,
+ Div(
+ HTML('' +
+ _('Bank Accounts Information') + '
')
+ ),
+ Div(
+ HTML('1'),
+ Div('iban_base1', css_class='col-md-5'),
+
+ HTML('2'),
+ Div('bank_Base1', css_class='col-md-3'),
+ HTML('3'),
+ Div('branch_base1', css_class='col-md-3'),
+ css_class='row',
+ ),
+ Div(
+ HTML('4'),
+ Div('iban_base2', css_class='col-md-5'),
+
+ HTML('5'),
+ Div('bank_Base2', css_class='col-md-3'),
+ HTML('6'),
+ Div('branch_base2', css_class='col-md-3'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
Fieldset(
None,
Div(
@@ -148,7 +176,8 @@ class Meta:
'director_phone_number',
'it_name',
'it_phone_number',
- 'field_coordinator_name',
+ #'field_coordinator_name',
+ 'coordinator',
'fax_number',
'email',
'certified_foreign_language',
@@ -158,6 +187,12 @@ class Meta:
'is_alp',
'number_students_2nd_shift',
'number_students_alp',
+ 'bank_Base1',
+ 'branch_base1',
+ 'iban_base1',
+ 'bank_Base2',
+ 'branch_base2',
+ 'iban_base2',
)
initial_fields = fields
widgets = {}
@@ -213,3 +248,2932 @@ class Meta:
class Media:
js = ()
+
+
+class EvaluationForm(forms.ModelForm):
+
+ def __init__(self, *args, **kwargs):
+ super(EvaluationForm, self).__init__(*args, **kwargs)
+
+ self.helper = FormHelper()
+ self.helper.form_show_labels = True
+ self.helper.form_action = reverse('schools:evaluation', kwargs={})
+ self.fields['implemented_de_prep'].label = ''
+ self.fields['reasons_no_de_prep'].label = False
+
+ self.fields['implemented_de'].label = ''
+ self.fields['reasons_no_de'].label = False
+
+ self.fields['implemented_de_2'].label = ''
+ self.fields['reasons_no_de_2'].label = False
+
+ self.fields['implemented_de_3'].label = ''
+ self.fields['reasons_no_de_3'].label = False
+
+ self.fields['implemented_de_9'].label = ''
+ self.fields['reasons_no_de_9'].label = False
+
+ self.fields['implemented_de_prep'].label = ''
+ self.fields['reasons_no_de_prep'].label = False
+
+ self.helper.layout = Layout(
+ Fieldset(
+ None,
+ Div(
+ HTML('1'),
+ Div('total_teaching_days', css_class='col-md-4'),
+ Div('total_teaching_days_tillnow', css_class='col-md-4'),
+ css_class='row',
+ style="background: #E3F2FC;",
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+
+ Fieldset(
+ None,
+ Div(
+ HTML(''),
+ HTML(''),
+ Fieldset(
+ None,
+ Div(
+ HTML('1'),
+ HTML(_('Have you implemented distance education ?')),
+ Div('implemented_de_prep', css_class='col-md-3', id='implemented-de-prep'),
+ css_class='row',
+ ),
+ Div(
+ Div('reasons_no_de_prep', css_class='col-md-10', id='reasons-no-de-prep'),
+ css_class='row',
+
+ ),
+ css_class='bd-callout bd-callout-warning',
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('2'),
+ Div('steps_de_prep', css_class='col-md-10'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('3'),
+ Div('challenges_de_prep', css_class='col-md-10'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+
+ Fieldset(
+ None,
+ Div(
+ HTML('4'),
+ Div('evaluate_steps_de_prep', css_class='col-md-10'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ ),
+ style="background: #F8FAFC;",
+ ),
+
+ Fieldset(
+ None,
+ Div(
+ HTML(''),
+ HTML(''),
+ HTML(''),
+ HTML(''),
+
+ Fieldset(
+ None,
+ Div(
+ HTML('1'),
+ HTML(_('Have you implemented distance education ?')),
+ Div('implemented_de', css_class='col-md-3'),
+ Div('reasons_no_de', css_class='col-md-10'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('2'),
+ Div('steps_de', css_class='col-md-10'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('3'),
+ Div('challenges_de', css_class='col-md-10'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+
+ Fieldset(
+ None,
+ Div(
+ HTML('4'),
+ Div('evaluate_steps_de', css_class='col-md-10'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ ),
+ style="background: #FDFFD8;",
+ ),
+
+ Fieldset(
+ None,
+ Div(
+ HTML(''),
+ HTML(''),
+ HTML(''),
+ HTML(''),
+ Fieldset(
+ None,
+ Div(
+ HTML('1'),
+ HTML(_('Have you implemented distance education ?')),
+ Div('implemented_de_2', css_class='col-md-3'),
+ Div('reasons_no_de_2', css_class='col-md-10'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('2'),
+ Div('steps_de_2', css_class='col-md-10'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('3'),
+ Div('challenges_de_2', css_class='col-md-10'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+
+ Fieldset(
+ None,
+ Div(
+ HTML('4'),
+ Div('evaluate_steps_de_2', css_class='col-md-10'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ ),
+ style="background: #F8FAFC;",
+ ),
+
+ Fieldset(
+ None,
+ Div(
+ HTML(''),
+ HTML(''),
+ HTML(''),
+ Fieldset(
+ None,
+ Div(
+ HTML('1'),
+ HTML(_('Have you implemented distance education ?')),
+ Div('implemented_de_3', css_class='col-md-3'),
+ Div('reasons_no_de_3', css_class='col-md-10'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('2'),
+ Div('steps_de_3', css_class='col-md-10'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('3'),
+ Div('challenges_de_3', css_class='col-md-10'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+
+ Fieldset(
+ None,
+ Div(
+ HTML('4'),
+ Div('evaluate_steps_de_3', css_class='col-md-10'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ style="background: #FDFFD8;",
+ ),
+ ),
+
+ Fieldset(
+ None,
+ Div(
+ HTML(''),
+ HTML(''),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('1'),
+ HTML(_('Have you implemented distance education ?')),
+ Div('implemented_de_9', css_class='col-md-3'),
+ Div('reasons_no_de_9', css_class='col-md-10'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('2'),
+ Div('steps_de_9', css_class='col-md-10'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('3'),
+ Div('challenges_de_9', css_class='col-md-10'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+
+ Fieldset(
+ None,
+ Div(
+ HTML('4'),
+ Div('evaluate_steps_de_9', css_class='col-md-10'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ style="background: #F8FAFC;",
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('2'),
+ Div('other_notes_de', css_class='col-md-10'),
+ css_class='row',
+ style="background: #E3F2FC;",
+ ),
+ ),
+ FormActions(
+ Submit('save', _('Save')),
+ ),
+ )
+
+ def save(self, instance=None, request=None):
+ instance = super(EvaluationForm, self).save()
+ messages.success(request, _('Your data has been sent successfully to the server'))
+
+ class Meta:
+ model = Evaluation
+ fields = ('total_teaching_days', 'total_teaching_days_tillnow', 'implemented_de', 'reasons_no_de', 'challenges_de', 'steps_de',
+ 'evaluate_steps_de', 'other_notes_de',
+ 'implemented_de_2', 'reasons_no_de_2', 'challenges_de_2', 'steps_de_2', 'evaluate_steps_de_2',
+ 'implemented_de_3', 'reasons_no_de_3', 'challenges_de_3', 'steps_de_3', 'evaluate_steps_de_3',
+ 'implemented_de_9', 'reasons_no_de_9', 'challenges_de_9', 'steps_de_9', 'evaluate_steps_de_9',
+ 'implemented_de_prep', 'reasons_no_de_prep', 'challenges_de_prep', 'steps_de_prep', 'evaluate_steps_de_prep',
+ )
+ initial_fields = fields
+ widgets = {}
+
+ class Media:
+ js = ()
+
+
+class Classroom_Form(forms.ModelForm):
+ class Meta:
+ model = Evaluation
+ exclude = ()
+
+ def __init__(self, *args, **kwargs):
+ super(Classroom_Form, self).__init__(*args, **kwargs)
+ self.helper = FormHelper()
+ self.helper.form_tag = True
+ self.helper.form_class = 'form-horizontal'
+ self.helper.label_class = 'col-md-3 create-label'
+ self.helper.field_class = 'col-md-9'
+ self.fields['c2_eng_completed'].label = False
+ self.fields['c2_eng_completed_de'].label = False
+ self.fields['c2_eng_remaining_de'].label = False
+ self.fields['c2_fr_completed'].label = False
+ self.fields['c2_fr_completed_de'].label = False
+ self.fields['c2_fr_remaining_de'].label = False
+ self.fields['c2_math_completed'].label = False
+ self.fields['c2_math_completed_de'].label = False
+ self.fields['c2_math_remaining_de'].label = False
+ self.fields['c2_sc_completed'].label = False
+ self.fields['c2_sc_completed_de'].label = False
+ self.fields['c2_sc_remaining_de'].label = False
+ self.fields['c2_ara_completed'].label = False
+ self.fields['c2_ara_completed_de'].label = False
+ self.fields['c2_ara_remaining_de'].label = False
+ self.fields['c2_civic_completed'].label = False
+ self.fields['c2_civic_completed_de'].label = False
+ self.fields['c2_civic_remaining_de'].label = False
+ self.fields['c2_geo_completed'].label = False
+ self.fields['c2_geo_completed_de'].label = False
+ self.fields['c2_geo_remaining_de'].label = False
+ self.helper.layout = Layout(
+ Fieldset(
+ None,
+ Div(
+ Div('owner', css_class='col-md-10', hidden="true"),
+ Div('school', css_class='col-md-10', hidden="true"),
+ Div('education_year', css_class='col-md-10', hidden="true"),
+
+ Div('total_teaching_days', css_class='col-md-10', hidden="true"),
+ Div('implemented_de', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de', css_class='col-md-10', hidden="true"),
+ Div('challenges_de', css_class='col-md-10', hidden="true"),
+ Div('steps_de', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de', css_class='col-md-10', hidden="true"),
+ Div('other_notes_de', css_class='col-md-10', hidden="true"),
+
+ Div('total_teaching_days_tillnow', css_class='col-md-10', hidden="true"),
+ Div('implemented_de_2', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_2', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_2', css_class='col-md-10', hidden="true"),
+ Div('steps_de_2', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_2', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_3', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_3', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_3', css_class='col-md-10', hidden="true"),
+ Div('steps_de_3', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_3', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_9', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_9', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_9', css_class='col-md-10', hidden="true"),
+ Div('steps_de_9', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_9', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_prep', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_prep', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_prep', css_class='col-md-10', hidden="true"),
+ Div('steps_de_prep', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_prep', css_class='col-md-10', hidden="true"),
+
+
+ css_class='row',
+ ),
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Grade 2') + '
')
+ ),
+ Div(
+ HTML(''),
+ HTML(' | '),
+ HTML(' | '),
+ HTML(' | '),
+ HTML(' | '),
+
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Arabic') + ' | '),
+ HTML(''),
+ Div('c2_ara_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c2_ara_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c2_ara_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'English') + ' | '),
+ HTML(''),
+ Div('c2_eng_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c2_eng_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c2_eng_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Frensh') + ' | '),
+ HTML(''),
+ Div('c2_fr_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c2_fr_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c2_fr_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Math') + ' | '),
+ HTML(''),
+ Div('c2_math_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c2_math_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c2_math_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Science') + ' | '),
+ HTML(''),
+ Div('c2_sc_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c2_sc_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c2_sc_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Civic Education') + ' | '),
+ HTML(''),
+ Div('c2_civic_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c2_civic_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c2_civic_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Geography') + ' | '),
+ HTML(''),
+ Div('c2_geo_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c2_geo_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c2_geo_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ FormActions(
+ Submit('save', _('Save')),
+ )
+ )
+
+ def save(self, instance=None, request=None):
+ instance = super(Classroom_Form, self).save()
+ messages.success(request, _('Your data has been sent successfully to the server'))
+
+ class Meta:
+ model = Evaluation
+ fields = ('c2_eng_completed', 'c2_eng_completed_de', 'c2_eng_remaining_de',
+ 'c2_fr_completed', 'c2_fr_completed_de', 'c2_fr_remaining_de',
+ 'c2_math_completed', 'c2_math_completed_de', 'c2_math_remaining_de',
+ 'c2_sc_completed', 'c2_sc_completed_de', 'c2_sc_remaining_de',
+ 'c2_ara_completed', 'c2_ara_completed_de', 'c2_ara_remaining_de',
+ 'c2_civic_completed', 'c2_civic_completed_de', 'c2_civic_remaining_de',
+ 'c2_geo_completed', 'c2_geo_completed_de', 'c2_geo_remaining_de',
+ 'owner', 'school', 'education_year','total_teaching_days', 'implemented_de', 'reasons_no_de',
+ 'challenges_de', 'steps_de', 'evaluate_steps_de', 'other_notes_de',
+ )
+ initial_fields = fields
+ widgets = {}
+
+ class Media:
+ js = ()
+
+
+class Classroom_Form_c1(forms.ModelForm):
+ class Meta:
+ model = Evaluation
+ exclude = ()
+
+ def __init__(self, *args, **kwargs):
+ super(Classroom_Form_c1, self).__init__(*args, **kwargs)
+ self.helper = FormHelper()
+ self.helper.form_tag = True
+ self.helper.form_class = 'form-horizontal'
+ self.helper.label_class = 'col-md-3 create-label'
+ self.helper.field_class = 'col-md-9'
+ self.fields['c1_eng_completed'].label = False
+ self.fields['c1_eng_completed_de'].label = False
+ self.fields['c1_eng_remaining_de'].label = False
+ self.fields['c1_fr_completed'].label = False
+ self.fields['c1_fr_completed_de'].label = False
+ self.fields['c1_fr_remaining_de'].label = False
+ self.fields['c1_math_completed'].label = False
+ self.fields['c1_math_completed_de'].label = False
+ self.fields['c1_math_remaining_de'].label = False
+ self.fields['c1_sc_completed'].label = False
+ self.fields['c1_sc_completed_de'].label = False
+ self.fields['c1_sc_remaining_de'].label = False
+ self.fields['c1_ara_completed'].label = False
+ self.fields['c1_ara_completed_de'].label = False
+ self.fields['c1_ara_remaining_de'].label = False
+ self.fields['c1_civic_completed'].label = False
+ self.fields['c1_civic_completed_de'].label = False
+ self.fields['c1_civic_remaining_de'].label = False
+ self.fields['c1_geo_completed'].label = False
+ self.fields['c1_geo_completed_de'].label = False
+ self.fields['c1_geo_remaining_de'].label = False
+ self.helper.layout = Layout(
+ Fieldset(
+ None,
+ Div(
+ Div('owner', css_class='col-md-10', hidden="true"),
+ Div('school', css_class='col-md-10', hidden="true"),
+ Div('education_year', css_class='col-md-10', hidden="true"),
+
+ Div('total_teaching_days', css_class='col-md-10', hidden="true"),
+ Div('implemented_de', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de', css_class='col-md-10', hidden="true"),
+ Div('challenges_de', css_class='col-md-10', hidden="true"),
+ Div('steps_de', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de', css_class='col-md-10', hidden="true"),
+ Div('other_notes_de', css_class='col-md-10', hidden="true"),
+
+ Div('total_teaching_days_tillnow', css_class='col-md-10', hidden="true"),
+ Div('implemented_de_2', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_2', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_2', css_class='col-md-10', hidden="true"),
+ Div('steps_de_2', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_2', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_3', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_3', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_3', css_class='col-md-10', hidden="true"),
+ Div('steps_de_3', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_3', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_9', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_9', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_9', css_class='col-md-10', hidden="true"),
+ Div('steps_de_9', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_9', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_prep', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_prep', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_prep', css_class='col-md-10', hidden="true"),
+ Div('steps_de_prep', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_prep', css_class='col-md-10', hidden="true"),
+
+ css_class='row',
+ ),
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Grade 1') + '
')
+ ),
+ Div(
+ HTML(''),
+ HTML(' | '),
+ HTML(' | '),
+ HTML(' | '),
+ HTML(' | '),
+
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Arabic') + ' | '),
+ HTML(''),
+ Div('c1_ara_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c1_ara_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c1_ara_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'English') + ' | '),
+ HTML(''),
+ Div('c1_eng_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c1_eng_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c1_eng_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Frensh') + ' | '),
+ HTML(''),
+ Div('c1_fr_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c1_fr_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c1_fr_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Math') + ' | '),
+ HTML(''),
+ Div('c1_math_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c1_math_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c1_math_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Science') + ' | '),
+ HTML(''),
+ Div('c1_sc_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c1_sc_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c1_sc_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Civic Education') + ' | '),
+ HTML(''),
+ Div('c1_civic_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c1_civic_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c1_civic_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Geography') + ' | '),
+ HTML(''),
+ Div('c1_geo_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c1_geo_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c1_geo_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ FormActions(
+ Submit('save', _('Save')),
+ )
+ )
+
+ def save(self, instance=None, request=None):
+ instance = super(Classroom_Form_c1, self).save()
+ messages.success(request, _('Your data has been sent successfully to the server'))
+
+ class Meta:
+ model = Evaluation
+ fields = ('c1_eng_completed', 'c1_eng_completed_de', 'c1_eng_remaining_de',
+ 'c1_fr_completed', 'c1_fr_completed_de', 'c1_fr_remaining_de',
+ 'c1_math_completed', 'c1_math_completed_de', 'c1_math_remaining_de',
+ 'c1_sc_completed', 'c1_sc_completed_de', 'c1_sc_remaining_de',
+ 'c1_ara_completed', 'c1_ara_completed_de', 'c1_ara_remaining_de',
+ 'c1_civic_completed', 'c1_civic_completed_de', 'c1_civic_remaining_de',
+ 'c1_geo_completed', 'c1_geo_completed_de', 'c1_geo_remaining_de',
+ 'owner', 'school', 'education_year','total_teaching_days', 'implemented_de', 'reasons_no_de',
+ 'challenges_de', 'steps_de', 'evaluate_steps_de', 'other_notes_de',
+ )
+ initial_fields = fields
+ widgets = {}
+
+ class Media:
+ js = ()
+
+
+class Classroom_Form_c3(forms.ModelForm):
+ class Meta:
+ model = Evaluation
+ exclude = ()
+
+ def __init__(self, *args, **kwargs):
+ super(Classroom_Form_c3, self).__init__(*args, **kwargs)
+ self.helper = FormHelper()
+ self.helper.form_tag = True
+ self.helper.form_class = 'form-horizontal'
+ self.helper.label_class = 'col-md-3 create-label'
+ self.helper.field_class = 'col-md-9'
+ self.fields['c3_eng_completed'].label = False
+ self.fields['c3_eng_completed_de'].label = False
+ self.fields['c3_eng_remaining_de'].label = False
+ self.fields['c3_fr_completed'].label = False
+ self.fields['c3_fr_completed_de'].label = False
+ self.fields['c3_fr_remaining_de'].label = False
+ self.fields['c3_math_completed'].label = False
+ self.fields['c3_math_completed_de'].label = False
+ self.fields['c3_math_remaining_de'].label = False
+ self.fields['c3_sc_completed'].label = False
+ self.fields['c3_sc_completed_de'].label = False
+ self.fields['c3_sc_remaining_de'].label = False
+ self.fields['c3_ara_completed'].label = False
+ self.fields['c3_ara_completed_de'].label = False
+ self.fields['c3_ara_remaining_de'].label = False
+ self.fields['c3_civic_completed'].label = False
+ self.fields['c3_civic_completed_de'].label = False
+ self.fields['c3_civic_remaining_de'].label = False
+ self.fields['c3_geo_completed'].label = False
+ self.fields['c3_geo_completed_de'].label = False
+ self.fields['c3_geo_remaining_de'].label = False
+ self.helper.layout = Layout(
+ Fieldset(
+ None,
+ Div(
+ Div('owner', css_class='col-md-10', hidden="true"),
+ Div('school', css_class='col-md-10', hidden="true"),
+ Div('education_year', css_class='col-md-10', hidden="true"),
+
+ Div('total_teaching_days', css_class='col-md-10', hidden="true"),
+ Div('implemented_de', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de', css_class='col-md-10', hidden="true"),
+ Div('challenges_de', css_class='col-md-10', hidden="true"),
+ Div('steps_de', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de', css_class='col-md-10', hidden="true"),
+ Div('other_notes_de', css_class='col-md-10', hidden="true"),
+
+ Div('total_teaching_days_tillnow', css_class='col-md-10', hidden="true"),
+ Div('implemented_de_2', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_2', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_2', css_class='col-md-10', hidden="true"),
+ Div('steps_de_2', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_2', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_3', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_3', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_3', css_class='col-md-10', hidden="true"),
+ Div('steps_de_3', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_3', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_9', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_9', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_9', css_class='col-md-10', hidden="true"),
+ Div('steps_de_9', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_9', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_prep', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_prep', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_prep', css_class='col-md-10', hidden="true"),
+ Div('steps_de_prep', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_prep', css_class='col-md-10', hidden="true"),
+
+ css_class='row',
+ ),
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Grade 3') + '
')
+ ),
+ Div(
+ HTML(''),
+ HTML(' | '),
+ HTML(' | '),
+ HTML(' | '),
+ HTML(' | '),
+
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Arabic') + ' | '),
+ HTML(''),
+ Div('c3_ara_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c3_ara_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c3_ara_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'English') + ' | '),
+ HTML(''),
+ Div('c3_eng_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c3_eng_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c3_eng_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Frensh') + ' | '),
+ HTML(''),
+ Div('c3_fr_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c3_fr_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c3_fr_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Math') + ' | '),
+ HTML(''),
+ Div('c3_math_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c3_math_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c3_math_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Science') + ' | '),
+ HTML(''),
+ Div('c3_sc_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c3_sc_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c3_sc_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Civic Education') + ' | '),
+ HTML(''),
+ Div('c3_civic_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c3_civic_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c3_civic_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Geography') + ' | '),
+ HTML(''),
+ Div('c3_geo_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c3_geo_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c3_geo_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ FormActions(
+ Submit('save', _('Save')),
+ )
+ )
+
+ def save(self, instance=None, request=None):
+ instance = super(Classroom_Form_c3, self).save()
+ messages.success(request, _('Your data has been sent successfully to the server'))
+
+ class Meta:
+ model = Evaluation
+ fields = ('c3_eng_completed', 'c3_eng_completed_de', 'c3_eng_remaining_de',
+ 'c3_fr_completed', 'c3_fr_completed_de', 'c3_fr_remaining_de',
+ 'c3_math_completed', 'c3_math_completed_de', 'c3_math_remaining_de',
+ 'c3_sc_completed', 'c3_sc_completed_de', 'c3_sc_remaining_de',
+ 'c3_ara_completed', 'c3_ara_completed_de', 'c3_ara_remaining_de',
+ 'c3_civic_completed', 'c3_civic_completed_de', 'c3_civic_remaining_de',
+ 'c3_geo_completed', 'c3_geo_completed_de', 'c3_geo_remaining_de',
+ 'owner', 'school', 'education_year','total_teaching_days', 'implemented_de', 'reasons_no_de',
+ 'challenges_de', 'steps_de', 'evaluate_steps_de', 'other_notes_de',
+ )
+ initial_fields = fields
+ widgets = {}
+
+ class Media:
+ js = ()
+
+
+class Classroom_Form_c4(forms.ModelForm):
+ class Meta:
+ model = Evaluation
+ exclude = ()
+
+ def __init__(self, *args, **kwargs):
+ super(Classroom_Form_c4, self).__init__(*args, **kwargs)
+ self.helper = FormHelper()
+ self.helper.form_tag = True
+ self.helper.form_class = 'form-horizontal'
+ self.helper.label_class = 'col-md-3 create-label'
+ self.helper.field_class = 'col-md-9'
+ self.fields['c4_eng_completed'].label = False
+ self.fields['c4_eng_completed_de'].label = False
+ self.fields['c4_eng_remaining_de'].label = False
+ self.fields['c4_fr_completed'].label = False
+ self.fields['c4_fr_completed_de'].label = False
+ self.fields['c4_fr_remaining_de'].label = False
+ self.fields['c4_math_completed'].label = False
+ self.fields['c4_math_completed_de'].label = False
+ self.fields['c4_math_remaining_de'].label = False
+ self.fields['c4_sc_completed'].label = False
+ self.fields['c4_sc_completed_de'].label = False
+ self.fields['c4_sc_remaining_de'].label = False
+ self.fields['c4_ara_completed'].label = False
+ self.fields['c4_ara_completed_de'].label = False
+ self.fields['c4_ara_remaining_de'].label = False
+ self.fields['c4_civic_completed'].label = False
+ self.fields['c4_civic_completed_de'].label = False
+ self.fields['c4_civic_remaining_de'].label = False
+ self.fields['c4_geo_completed'].label = False
+ self.fields['c4_geo_completed_de'].label = False
+ self.fields['c4_geo_remaining_de'].label = False
+ self.helper.layout = Layout(
+ Fieldset(
+ None,
+ Div(
+ Div('owner', css_class='col-md-10', hidden="true"),
+ Div('school', css_class='col-md-10', hidden="true"),
+ Div('education_year', css_class='col-md-10', hidden="true"),
+
+ Div('total_teaching_days', css_class='col-md-10', hidden="true"),
+ Div('implemented_de', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de', css_class='col-md-10', hidden="true"),
+ Div('challenges_de', css_class='col-md-10', hidden="true"),
+ Div('steps_de', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de', css_class='col-md-10', hidden="true"),
+ Div('other_notes_de', css_class='col-md-10', hidden="true"),
+
+ Div('total_teaching_days_tillnow', css_class='col-md-10', hidden="true"),
+ Div('implemented_de_2', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_2', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_2', css_class='col-md-10', hidden="true"),
+ Div('steps_de_2', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_2', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_3', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_3', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_3', css_class='col-md-10', hidden="true"),
+ Div('steps_de_3', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_3', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_9', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_9', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_9', css_class='col-md-10', hidden="true"),
+ Div('steps_de_9', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_9', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_prep', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_prep', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_prep', css_class='col-md-10', hidden="true"),
+ Div('steps_de_prep', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_prep', css_class='col-md-10', hidden="true"),
+
+ css_class='row',
+ ),
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Grade 4') + '
')
+ ),
+ Div(
+ HTML(''),
+ HTML(' | '),
+ HTML(' | '),
+ HTML(' | '),
+ HTML(' | '),
+
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Arabic') + ' | '),
+ HTML(''),
+ Div('c4_ara_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c4_ara_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c4_ara_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'English') + ' | '),
+ HTML(''),
+ Div('c4_eng_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c4_eng_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c4_eng_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Frensh') + ' | '),
+ HTML(''),
+ Div('c4_fr_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c4_fr_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c4_fr_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Math') + ' | '),
+ HTML(''),
+ Div('c4_math_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c4_math_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c4_math_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Science') + ' | '),
+ HTML(''),
+ Div('c4_sc_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c4_sc_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c4_sc_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Civic Education') + ' | '),
+ HTML(''),
+ Div('c4_civic_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c4_civic_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c4_civic_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Geography') + ' | '),
+ HTML(''),
+ Div('c4_geo_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c4_geo_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c4_geo_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ FormActions(
+ Submit('save', _('Save')),
+ )
+ )
+
+ def save(self, instance=None, request=None):
+ instance = super(Classroom_Form_c4, self).save()
+ messages.success(request, _('Your data has been sent successfully to the server'))
+
+ class Meta:
+ model = Evaluation
+ fields = ('c4_eng_completed', 'c4_eng_completed_de', 'c4_eng_remaining_de',
+ 'c4_fr_completed', 'c4_fr_completed_de', 'c4_fr_remaining_de',
+ 'c4_math_completed', 'c4_math_completed_de', 'c4_math_remaining_de',
+ 'c4_sc_completed', 'c4_sc_completed_de', 'c4_sc_remaining_de',
+ 'c4_ara_completed', 'c4_ara_completed_de', 'c4_ara_remaining_de',
+ 'c4_civic_completed', 'c4_civic_completed_de', 'c4_civic_remaining_de',
+ 'c4_geo_completed', 'c4_geo_completed_de', 'c4_geo_remaining_de',
+ 'owner', 'school', 'education_year', 'total_teaching_days', 'implemented_de', 'reasons_no_de',
+ 'challenges_de', 'steps_de', 'evaluate_steps_de', 'other_notes_de',
+ )
+ initial_fields = fields
+ widgets = {}
+
+ class Media:
+ js = ()
+
+
+class Classroom_Form_c5(forms.ModelForm):
+ class Meta:
+ model = Evaluation
+ exclude = ()
+
+ def __init__(self, *args, **kwargs):
+ super(Classroom_Form_c5, self).__init__(*args, **kwargs)
+ self.helper = FormHelper()
+ self.helper.form_tag = True
+ self.helper.form_class = 'form-horizontal'
+ self.helper.label_class = 'col-md-3 create-label'
+ self.helper.field_class = 'col-md-9'
+ self.fields['c5_eng_completed'].label = False
+ self.fields['c5_eng_completed_de'].label = False
+ self.fields['c5_eng_remaining_de'].label = False
+ self.fields['c5_fr_completed'].label = False
+ self.fields['c5_fr_completed_de'].label = False
+ self.fields['c5_fr_remaining_de'].label = False
+ self.fields['c5_math_completed'].label = False
+ self.fields['c5_math_completed_de'].label = False
+ self.fields['c5_math_remaining_de'].label = False
+ self.fields['c5_sc_completed'].label = False
+ self.fields['c5_sc_completed_de'].label = False
+ self.fields['c5_sc_remaining_de'].label = False
+ self.fields['c5_ara_completed'].label = False
+ self.fields['c5_ara_completed_de'].label = False
+ self.fields['c5_ara_remaining_de'].label = False
+ self.fields['c5_civic_completed'].label = False
+ self.fields['c5_civic_completed_de'].label = False
+ self.fields['c5_civic_remaining_de'].label = False
+ self.fields['c5_geo_completed'].label = False
+ self.fields['c5_geo_completed_de'].label = False
+ self.fields['c5_geo_remaining_de'].label = False
+ self.helper.layout = Layout(
+ Fieldset(
+ None,
+ Div(
+ Div('owner', css_class='col-md-10', hidden="true"),
+ Div('school', css_class='col-md-10', hidden="true"),
+ Div('education_year', css_class='col-md-10', hidden="true"),
+
+ Div('total_teaching_days', css_class='col-md-10', hidden="true"),
+ Div('implemented_de', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de', css_class='col-md-10', hidden="true"),
+ Div('challenges_de', css_class='col-md-10', hidden="true"),
+ Div('steps_de', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de', css_class='col-md-10', hidden="true"),
+ Div('other_notes_de', css_class='col-md-10', hidden="true"),
+
+ Div('total_teaching_days_tillnow', css_class='col-md-10', hidden="true"),
+ Div('implemented_de_2', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_2', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_2', css_class='col-md-10', hidden="true"),
+ Div('steps_de_2', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_2', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_3', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_3', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_3', css_class='col-md-10', hidden="true"),
+ Div('steps_de_3', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_3', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_9', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_9', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_9', css_class='col-md-10', hidden="true"),
+ Div('steps_de_9', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_9', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_prep', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_prep', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_prep', css_class='col-md-10', hidden="true"),
+ Div('steps_de_prep', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_prep', css_class='col-md-10', hidden="true"),
+
+ css_class='row',
+ ),
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Grade 5') + '
')
+ ),
+ Div(
+ HTML(''),
+ HTML(' | '),
+ HTML(' | '),
+ HTML(' | '),
+ HTML(' | '),
+
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Arabic') + ' | '),
+ HTML(''),
+ Div('c5_ara_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c5_ara_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c5_ara_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'English') + ' | '),
+ HTML(''),
+ Div('c5_eng_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c5_eng_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c5_eng_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Frensh') + ' | '),
+ HTML(''),
+ Div('c5_fr_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c5_fr_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c5_fr_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Math') + ' | '),
+ HTML(''),
+ Div('c5_math_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c5_math_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c5_math_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Science') + ' | '),
+ HTML(''),
+ Div('c5_sc_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c5_sc_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c5_sc_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Civic Education') + ' | '),
+ HTML(''),
+ Div('c5_civic_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c5_civic_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c5_civic_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Geography') + ' | '),
+ HTML(''),
+ Div('c5_geo_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c5_geo_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c5_geo_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ FormActions(
+ Submit('save', _('Save')),
+ )
+ )
+
+ def save(self, instance=None, request=None):
+ instance = super(Classroom_Form_c5, self).save()
+ messages.success(request, _('Your data has been sent successfully to the server'))
+
+ class Meta:
+ model = Evaluation
+ fields = ('c5_eng_completed', 'c5_eng_completed_de', 'c5_eng_remaining_de',
+ 'c5_fr_completed', 'c5_fr_completed_de', 'c5_fr_remaining_de',
+ 'c5_math_completed', 'c5_math_completed_de', 'c5_math_remaining_de',
+ 'c5_sc_completed', 'c5_sc_completed_de', 'c5_sc_remaining_de',
+ 'c5_ara_completed', 'c5_ara_completed_de', 'c5_ara_remaining_de',
+ 'c5_civic_completed', 'c5_civic_completed_de', 'c5_civic_remaining_de',
+ 'c5_geo_completed', 'c5_geo_completed_de', 'c5_geo_remaining_de',
+ 'owner', 'school', 'education_year','total_teaching_days', 'implemented_de', 'reasons_no_de',
+ 'challenges_de', 'steps_de', 'evaluate_steps_de', 'other_notes_de',
+ )
+ initial_fields = fields
+ widgets = {}
+
+ class Media:
+ js = ()
+
+
+class Classroom_Form_c6(forms.ModelForm):
+ class Meta:
+ model = Evaluation
+ exclude = ()
+
+ def __init__(self, *args, **kwargs):
+ super(Classroom_Form_c6, self).__init__(*args, **kwargs)
+ self.helper = FormHelper()
+ self.helper.form_tag = True
+ self.helper.form_class = 'form-horizontal'
+ self.helper.label_class = 'col-md-3 create-label'
+ self.helper.field_class = 'col-md-9'
+ self.fields['c6_eng_completed'].label = False
+ self.fields['c6_eng_completed_de'].label = False
+ self.fields['c6_eng_remaining_de'].label = False
+ self.fields['c6_fr_completed'].label = False
+ self.fields['c6_fr_completed_de'].label = False
+ self.fields['c6_fr_remaining_de'].label = False
+ self.fields['c6_math_completed'].label = False
+ self.fields['c6_math_completed_de'].label = False
+ self.fields['c6_math_remaining_de'].label = False
+ self.fields['c6_sc_completed'].label = False
+ self.fields['c6_sc_completed_de'].label = False
+ self.fields['c6_sc_remaining_de'].label = False
+ self.fields['c6_ara_completed'].label = False
+ self.fields['c6_ara_completed_de'].label = False
+ self.fields['c6_ara_remaining_de'].label = False
+ self.fields['c6_civic_completed'].label = False
+ self.fields['c6_civic_completed_de'].label = False
+ self.fields['c6_civic_remaining_de'].label = False
+ self.fields['c6_geo_completed'].label = False
+ self.fields['c6_geo_completed_de'].label = False
+ self.fields['c6_geo_remaining_de'].label = False
+ self.helper.layout = Layout(
+ Fieldset(
+ None,
+ Div(
+ Div('owner', css_class='col-md-10', hidden="true"),
+ Div('school', css_class='col-md-10', hidden="true"),
+ Div('education_year', css_class='col-md-10', hidden="true"),
+
+ Div('total_teaching_days', css_class='col-md-10', hidden="true"),
+ Div('implemented_de', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de', css_class='col-md-10', hidden="true"),
+ Div('challenges_de', css_class='col-md-10', hidden="true"),
+ Div('steps_de', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de', css_class='col-md-10', hidden="true"),
+ Div('other_notes_de', css_class='col-md-10', hidden="true"),
+
+ Div('total_teaching_days_tillnow', css_class='col-md-10', hidden="true"),
+ Div('implemented_de_2', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_2', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_2', css_class='col-md-10', hidden="true"),
+ Div('steps_de_2', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_2', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_3', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_3', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_3', css_class='col-md-10', hidden="true"),
+ Div('steps_de_3', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_3', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_9', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_9', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_9', css_class='col-md-10', hidden="true"),
+ Div('steps_de_9', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_9', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_prep', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_prep', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_prep', css_class='col-md-10', hidden="true"),
+ Div('steps_de_prep', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_prep', css_class='col-md-10', hidden="true"),
+
+ css_class='row',
+ ),
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Grade 6') + '
')
+ ),
+ Div(
+ HTML(''),
+ HTML(' | '),
+ HTML(' | '),
+ HTML(' | '),
+ HTML(' | '),
+
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Arabic') + ' | '),
+ HTML(''),
+ Div('c6_ara_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c6_ara_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c6_ara_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'English') + ' | '),
+ HTML(''),
+ Div('c6_eng_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c6_eng_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c6_eng_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Frensh') + ' | '),
+ HTML(''),
+ Div('c6_fr_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c6_fr_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c6_fr_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Math') + ' | '),
+ HTML(''),
+ Div('c6_math_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c6_math_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c6_math_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Science') + ' | '),
+ HTML(''),
+ Div('c6_sc_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c6_sc_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c6_sc_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Civic Education') + ' | '),
+ HTML(''),
+ Div('c6_civic_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c6_civic_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c6_civic_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Geography') + ' | '),
+ HTML(''),
+ Div('c6_geo_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c6_geo_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c6_geo_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ FormActions(
+ Submit('save', _('Save')),
+ )
+ )
+
+ def save(self, instance=None, request=None):
+ instance = super(Classroom_Form_c6, self).save()
+ messages.success(request, _('Your data has been sent successfully to the server'))
+
+ class Meta:
+ model = Evaluation
+ fields = ('c6_eng_completed', 'c6_eng_completed_de', 'c6_eng_remaining_de',
+ 'c6_fr_completed', 'c6_fr_completed_de', 'c6_fr_remaining_de',
+ 'c6_math_completed', 'c6_math_completed_de', 'c6_math_remaining_de',
+ 'c6_sc_completed', 'c6_sc_completed_de', 'c6_sc_remaining_de',
+ 'c6_ara_completed', 'c6_ara_completed_de', 'c6_ara_remaining_de',
+ 'c6_civic_completed', 'c6_civic_completed_de', 'c6_civic_remaining_de',
+ 'c6_geo_completed', 'c6_geo_completed_de', 'c6_geo_remaining_de',
+ 'owner', 'school', 'education_year','total_teaching_days', 'implemented_de', 'reasons_no_de',
+ 'challenges_de', 'steps_de', 'evaluate_steps_de', 'other_notes_de',
+ )
+ initial_fields = fields
+ widgets = {}
+
+ class Media:
+ js = ()
+
+
+class Classroom_Form_c7(forms.ModelForm):
+ class Meta:
+ model = Evaluation
+ exclude = ()
+
+ def __init__(self, *args, **kwargs):
+ super(Classroom_Form_c7, self).__init__(*args, **kwargs)
+ self.helper = FormHelper()
+ self.helper.form_tag = True
+ self.helper.form_class = 'form-horizontal'
+ self.helper.label_class = 'col-md-3 create-label'
+ self.helper.field_class = 'col-md-9'
+ self.fields['c7_eng_completed'].label = False
+ self.fields['c7_eng_completed_de'].label = False
+ self.fields['c7_eng_remaining_de'].label = False
+ self.fields['c7_fr_completed'].label = False
+ self.fields['c7_fr_completed_de'].label = False
+ self.fields['c7_fr_remaining_de'].label = False
+ self.fields['c7_math_completed'].label = False
+ self.fields['c7_math_completed_de'].label = False
+ self.fields['c7_math_remaining_de'].label = False
+ self.fields['c7_sc_completed'].label = False
+ self.fields['c7_sc_completed_de'].label = False
+ self.fields['c7_sc_remaining_de'].label = False
+ self.fields['c7_ara_completed'].label = False
+ self.fields['c7_ara_completed_de'].label = False
+ self.fields['c7_ara_remaining_de'].label = False
+ self.fields['c7_civic_completed'].label = False
+ self.fields['c7_civic_completed_de'].label = False
+ self.fields['c7_civic_remaining_de'].label = False
+ self.fields['c7_geo_completed'].label = False
+ self.fields['c7_geo_completed_de'].label = False
+ self.fields['c7_geo_remaining_de'].label = False
+
+ self.fields['c7_his_completed'].label = False
+ self.fields['c7_his_completed_de'].label = False
+ self.fields['c7_his_remaining_de'].label = False
+
+ self.fields['c7_che_completed'].label = False
+ self.fields['c7_che_completed_de'].label = False
+ self.fields['c7_che_remaining_de'].label = False
+
+ self.fields['c7_phy_completed'].label = False
+ self.fields['c7_phy_completed_de'].label = False
+ self.fields['c7_phy_remaining_de'].label = False
+ self.helper.layout = Layout(
+ Fieldset(
+ None,
+ Div(
+ Div('owner', css_class='col-md-10', hidden="true"),
+ Div('school', css_class='col-md-10', hidden="true"),
+ Div('education_year', css_class='col-md-10', hidden="true"),
+
+ Div('total_teaching_days', css_class='col-md-10', hidden="true"),
+ Div('implemented_de', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de', css_class='col-md-10', hidden="true"),
+ Div('challenges_de', css_class='col-md-10', hidden="true"),
+ Div('steps_de', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de', css_class='col-md-10', hidden="true"),
+ Div('other_notes_de', css_class='col-md-10', hidden="true"),
+
+ Div('total_teaching_days_tillnow', css_class='col-md-10', hidden="true"),
+ Div('implemented_de_2', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_2', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_2', css_class='col-md-10', hidden="true"),
+ Div('steps_de_2', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_2', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_3', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_3', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_3', css_class='col-md-10', hidden="true"),
+ Div('steps_de_3', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_3', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_9', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_9', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_9', css_class='col-md-10', hidden="true"),
+ Div('steps_de_9', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_9', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_prep', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_prep', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_prep', css_class='col-md-10', hidden="true"),
+ Div('steps_de_prep', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_prep', css_class='col-md-10', hidden="true"),
+
+ css_class='row',
+ ),
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Grade 7') + '
')
+ ),
+ Div(
+ HTML(''),
+ HTML(' | '),
+ HTML(' | '),
+ HTML(' | '),
+ HTML(' | '),
+
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Arabic') + ' | '),
+ HTML(''),
+ Div('c7_ara_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c7_ara_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c7_ara_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'English') + ' | '),
+ HTML(''),
+ Div('c7_eng_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c7_eng_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c7_eng_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Frensh') + ' | '),
+ HTML(''),
+ Div('c7_fr_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c7_fr_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c7_fr_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Math') + ' | '),
+ HTML(''),
+ Div('c7_math_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c7_math_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c7_math_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Science') + ' | '),
+ HTML(''),
+ Div('c7_sc_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c7_sc_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c7_sc_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Civic Education') + ' | '),
+ HTML(''),
+ Div('c7_civic_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c7_civic_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c7_civic_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Geography') + ' | '),
+ HTML(''),
+ Div('c7_geo_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c7_geo_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c7_geo_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Physics') + ' | '),
+ HTML(''),
+ Div('c7_phy_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c7_phy_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c7_phy_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Chemistry') + ' | '),
+ HTML(''),
+ Div('c7_che_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c7_che_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c7_che_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'History') + ' | '),
+ HTML(''),
+ Div('c7_his_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c7_his_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c7_his_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ FormActions(
+ Submit('save', _('Save')),
+ )
+ )
+
+ def save(self, instance=None, request=None):
+ instance = super(Classroom_Form_c7, self).save()
+ messages.success(request, _('Your data has been sent successfully to the server'))
+
+ class Meta:
+ model = Evaluation
+ fields = ('c7_eng_completed', 'c7_eng_completed_de', 'c7_eng_remaining_de',
+ 'c7_fr_completed', 'c7_fr_completed_de', 'c7_fr_remaining_de',
+ 'c7_math_completed', 'c7_math_completed_de', 'c7_math_remaining_de',
+ 'c7_sc_completed', 'c7_sc_completed_de', 'c7_sc_remaining_de',
+ 'c7_ara_completed', 'c7_ara_completed_de', 'c7_ara_remaining_de',
+ 'c7_civic_completed', 'c7_civic_completed_de', 'c7_civic_remaining_de',
+ 'c7_geo_completed', 'c7_geo_completed_de', 'c7_geo_remaining_de',
+ 'c7_his_completed', 'c7_his_completed_de', 'c7_his_remaining_de',
+ 'c7_che_completed', 'c7_che_completed_de', 'c7_che_remaining_de',
+ 'c7_phy_completed', 'c7_phy_completed_de', 'c7_phy_remaining_de',
+ 'owner', 'school', 'education_year','total_teaching_days', 'implemented_de', 'reasons_no_de',
+ 'challenges_de', 'steps_de', 'evaluate_steps_de', 'other_notes_de',
+ )
+ initial_fields = fields
+ widgets = {}
+
+ class Media:
+ js = ()
+
+
+class Classroom_Form_c8(forms.ModelForm):
+ class Meta:
+ model = Evaluation
+ exclude = ()
+
+ def __init__(self, *args, **kwargs):
+ super(Classroom_Form_c8, self).__init__(*args, **kwargs)
+ self.helper = FormHelper()
+ self.helper.form_tag = True
+ self.helper.form_class = 'form-horizontal'
+ self.helper.label_class = 'col-md-3 create-label'
+ self.helper.field_class = 'col-md-9'
+ self.fields['c8_eng_completed'].label = False
+ self.fields['c8_eng_completed_de'].label = False
+ self.fields['c8_eng_remaining_de'].label = False
+ self.fields['c8_fr_completed'].label = False
+ self.fields['c8_fr_completed_de'].label = False
+ self.fields['c8_fr_remaining_de'].label = False
+ self.fields['c8_math_completed'].label = False
+ self.fields['c8_math_completed_de'].label = False
+ self.fields['c8_math_remaining_de'].label = False
+ self.fields['c8_sc_completed'].label = False
+ self.fields['c8_sc_completed_de'].label = False
+ self.fields['c8_sc_remaining_de'].label = False
+ self.fields['c8_ara_completed'].label = False
+ self.fields['c8_ara_completed_de'].label = False
+ self.fields['c8_ara_remaining_de'].label = False
+ self.fields['c8_civic_completed'].label = False
+ self.fields['c8_civic_completed_de'].label = False
+ self.fields['c8_civic_remaining_de'].label = False
+ self.fields['c8_geo_completed'].label = False
+ self.fields['c8_geo_completed_de'].label = False
+ self.fields['c8_geo_remaining_de'].label = False
+ self.fields['c8_his_completed'].label = False
+ self.fields['c8_his_completed_de'].label = False
+ self.fields['c8_his_remaining_de'].label = False
+
+ self.fields['c8_che_completed'].label = False
+ self.fields['c8_che_completed_de'].label = False
+ self.fields['c8_che_remaining_de'].label = False
+
+ self.fields['c8_phy_completed'].label = False
+ self.fields['c8_phy_completed_de'].label = False
+ self.fields['c8_phy_remaining_de'].label = False
+ self.helper.layout = Layout(
+ Fieldset(
+ None,
+ Div(
+ Div('owner', css_class='col-md-10', hidden="true"),
+ Div('school', css_class='col-md-10', hidden="true"),
+ Div('education_year', css_class='col-md-10', hidden="true"),
+
+ Div('total_teaching_days', css_class='col-md-10', hidden="true"),
+ Div('implemented_de', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de', css_class='col-md-10', hidden="true"),
+ Div('challenges_de', css_class='col-md-10', hidden="true"),
+ Div('steps_de', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de', css_class='col-md-10', hidden="true"),
+ Div('other_notes_de', css_class='col-md-10', hidden="true"),
+
+ Div('total_teaching_days_tillnow', css_class='col-md-10', hidden="true"),
+ Div('implemented_de_2', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_2', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_2', css_class='col-md-10', hidden="true"),
+ Div('steps_de_2', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_2', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_3', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_3', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_3', css_class='col-md-10', hidden="true"),
+ Div('steps_de_3', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_3', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_9', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_9', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_9', css_class='col-md-10', hidden="true"),
+ Div('steps_de_9', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_9', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_prep', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_prep', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_prep', css_class='col-md-10', hidden="true"),
+ Div('steps_de_prep', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_prep', css_class='col-md-10', hidden="true"),
+
+ css_class='row',
+ ),
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Grade 8') + '
')
+ ),
+ Div(
+ HTML(''),
+ HTML(' | '),
+ HTML(' | '),
+ HTML(' | '),
+ HTML(' | '),
+
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Arabic') + ' | '),
+ HTML(''),
+ Div('c8_ara_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c8_ara_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c8_ara_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'English') + ' | '),
+ HTML(''),
+ Div('c8_eng_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c8_eng_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c8_eng_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Frensh') + ' | '),
+ HTML(''),
+ Div('c8_fr_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c8_fr_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c8_fr_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Math') + ' | '),
+ HTML(''),
+ Div('c8_math_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c8_math_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c8_math_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Science') + ' | '),
+ HTML(''),
+ Div('c8_sc_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c8_sc_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c8_sc_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Civic Education') + ' | '),
+ HTML(''),
+ Div('c8_civic_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c8_civic_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c8_civic_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Geography') + ' | '),
+ HTML(''),
+ Div('c8_geo_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c8_geo_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c8_geo_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Physics') + ' | '),
+ HTML(''),
+ Div('c8_phy_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c8_phy_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c8_phy_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Chemistry') + ' | '),
+ HTML(''),
+ Div('c8_che_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c8_che_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c8_che_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'History') + ' | '),
+ HTML(''),
+ Div('c8_his_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c8_his_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c8_his_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ FormActions(
+ Submit('save', _('Save')),
+ )
+ )
+
+ def save(self, instance=None, request=None):
+ instance = super(Classroom_Form_c8, self).save()
+ messages.success(request, _('Your data has been sent successfully to the server'))
+
+ class Meta:
+ model = Evaluation
+ fields = ('c8_eng_completed', 'c8_eng_completed_de', 'c8_eng_remaining_de',
+ 'c8_fr_completed', 'c8_fr_completed_de', 'c8_fr_remaining_de',
+ 'c8_math_completed', 'c8_math_completed_de', 'c8_math_remaining_de',
+ 'c8_sc_completed', 'c8_sc_completed_de', 'c8_sc_remaining_de',
+ 'c8_ara_completed', 'c8_ara_completed_de', 'c8_ara_remaining_de',
+ 'c8_civic_completed', 'c8_civic_completed_de', 'c8_civic_remaining_de',
+ 'c8_geo_completed', 'c8_geo_completed_de', 'c8_geo_remaining_de',
+ 'c8_his_completed', 'c8_his_completed_de', 'c8_his_remaining_de',
+ 'c8_che_completed', 'c8_che_completed_de', 'c8_che_remaining_de',
+ 'c8_phy_completed', 'c8_phy_completed_de', 'c8_phy_remaining_de',
+ 'owner', 'school', 'education_year','total_teaching_days', 'implemented_de', 'reasons_no_de',
+ 'challenges_de', 'steps_de', 'evaluate_steps_de', 'other_notes_de',
+ )
+ initial_fields = fields
+ widgets = {}
+
+ class Media:
+ js = ()
+
+
+class Classroom_Form_c9(forms.ModelForm):
+ class Meta:
+ model = Evaluation
+ exclude = ()
+
+ def __init__(self, *args, **kwargs):
+ super(Classroom_Form_c9, self).__init__(*args, **kwargs)
+ self.helper = FormHelper()
+ self.helper.form_tag = True
+ self.helper.form_class = 'form-horizontal'
+ self.helper.label_class = 'col-md-3 create-label'
+ self.helper.field_class = 'col-md-9'
+ self.fields['c9_eng_completed'].label = False
+ self.fields['c9_eng_completed_de'].label = False
+ self.fields['c9_eng_remaining_de'].label = False
+ self.fields['c9_fr_completed'].label = False
+ self.fields['c9_fr_completed_de'].label = False
+ self.fields['c9_fr_remaining_de'].label = False
+ self.fields['c9_math_completed'].label = False
+ self.fields['c9_math_completed_de'].label = False
+ self.fields['c9_math_remaining_de'].label = False
+ self.fields['c9_sc_completed'].label = False
+ self.fields['c9_sc_completed_de'].label = False
+ self.fields['c9_sc_remaining_de'].label = False
+ self.fields['c9_ara_completed'].label = False
+ self.fields['c9_ara_completed_de'].label = False
+ self.fields['c9_ara_remaining_de'].label = False
+ self.fields['c9_civic_completed'].label = False
+ self.fields['c9_civic_completed_de'].label = False
+ self.fields['c9_civic_remaining_de'].label = False
+ self.fields['c9_geo_completed'].label = False
+ self.fields['c9_geo_completed_de'].label = False
+ self.fields['c9_geo_remaining_de'].label = False
+ self.fields['c9_his_completed'].label = False
+ self.fields['c9_his_completed_de'].label = False
+ self.fields['c9_his_remaining_de'].label = False
+
+ self.fields['c9_che_completed'].label = False
+ self.fields['c9_che_completed_de'].label = False
+ self.fields['c9_che_remaining_de'].label = False
+
+ self.fields['c9_phy_completed'].label = False
+ self.fields['c9_phy_completed_de'].label = False
+ self.fields['c9_phy_remaining_de'].label = False
+ self.fields['c9_total_std'].label = False
+ self.fields['c9_total_std_de'].label = False
+ self.fields['c9_total_teachers'].label = False
+ self.fields['c9_total_teachers_de'].label = False
+ self.helper.layout = Layout(
+ Fieldset(
+ None,
+ Div(
+ Div('owner', css_class='col-md-10', hidden="true"),
+ Div('school', css_class='col-md-10', hidden="true"),
+ Div('education_year', css_class='col-md-10', hidden="true"),
+
+ Div('total_teaching_days', css_class='col-md-10', hidden="true"),
+ Div('implemented_de', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de', css_class='col-md-10', hidden="true"),
+ Div('challenges_de', css_class='col-md-10', hidden="true"),
+ Div('steps_de', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de', css_class='col-md-10', hidden="true"),
+ Div('other_notes_de', css_class='col-md-10', hidden="true"),
+
+ Div('total_teaching_days_tillnow', css_class='col-md-10', hidden="true"),
+ Div('implemented_de_2', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_2', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_2', css_class='col-md-10', hidden="true"),
+ Div('steps_de_2', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_2', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_3', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_3', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_3', css_class='col-md-10', hidden="true"),
+ Div('steps_de_3', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_3', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_9', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_9', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_9', css_class='col-md-10', hidden="true"),
+ Div('steps_de_9', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_9', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_prep', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_prep', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_prep', css_class='col-md-10', hidden="true"),
+ Div('steps_de_prep', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_prep', css_class='col-md-10', hidden="true"),
+
+ css_class='row',
+ ),
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Grade 9') + '
')
+ ),
+ Div(
+ HTML(''),
+ HTML(' | '),
+ HTML(' | '),
+ HTML(' | '),
+ HTML(' | '),
+
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Arabic') + ' | '),
+ HTML(''),
+ Div('c9_ara_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c9_ara_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c9_ara_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'English') + ' | '),
+ HTML(''),
+ Div('c9_eng_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c9_eng_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c9_eng_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Frensh') + ' | '),
+ HTML(''),
+ Div('c9_fr_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c9_fr_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c9_fr_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Math') + ' | '),
+ HTML(''),
+ Div('c9_math_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c9_math_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c9_math_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Science') + ' | '),
+ HTML(''),
+ Div('c9_sc_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c9_sc_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c9_sc_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Civic Education') + ' | '),
+ HTML(''),
+ Div('c9_civic_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c9_civic_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c9_civic_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Geography') + ' | '),
+ HTML(''),
+ Div('c9_geo_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c9_geo_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c9_geo_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Physics') + ' | '),
+ HTML(''),
+ Div('c9_phy_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c9_phy_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c9_phy_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Chemistry') + ' | '),
+ HTML(''),
+ Div('c9_che_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c9_che_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c9_che_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'History') + ' | '),
+ HTML(''),
+ Div('c9_his_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c9_his_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('c9_his_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ None,
+ ),
+ Div(
+ HTML(''),
+ Div('c9_total_teachers', css_class='col-md-5'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ Div('c9_total_teachers_de', css_class='col-md-5'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ Div('c9_total_std', css_class='col-md-4'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ Div('c9_total_std_de', css_class='col-md-4'),
+ css_class='row',
+ ),
+
+ css_class='bd-callout bd-callout-warning'
+ ),
+ FormActions(
+ Submit('save', _('Save')),
+ )
+ )
+
+ def save(self, instance=None, request=None):
+ instance = super(Classroom_Form_c9, self).save()
+ messages.success(request, _('Your data has been sent successfully to the server'))
+
+ class Meta:
+ model = Evaluation
+ fields = ('c9_eng_completed', 'c9_eng_completed_de', 'c9_eng_remaining_de',
+ 'c9_fr_completed', 'c9_fr_completed_de', 'c9_fr_remaining_de',
+ 'c9_math_completed', 'c9_math_completed_de', 'c9_math_remaining_de',
+ 'c9_sc_completed', 'c9_sc_completed_de', 'c9_sc_remaining_de',
+ 'c9_ara_completed', 'c9_ara_completed_de', 'c9_ara_remaining_de',
+ 'c9_civic_completed', 'c9_civic_completed_de', 'c9_civic_remaining_de',
+ 'c9_geo_completed', 'c9_geo_completed_de', 'c9_geo_remaining_de',
+ 'c9_his_completed', 'c9_his_completed_de', 'c9_his_remaining_de',
+ 'c9_che_completed', 'c9_che_completed_de', 'c9_che_remaining_de',
+ 'c9_phy_completed', 'c9_phy_completed_de', 'c9_phy_remaining_de',
+ 'c9_total_std', 'c9_total_std_de',
+ 'c9_total_teachers', 'c9_total_teachers_de',
+ 'owner', 'school', 'education_year','total_teaching_days', 'implemented_de', 'reasons_no_de',
+ 'challenges_de', 'steps_de', 'evaluate_steps_de', 'other_notes_de',
+ )
+ initial_fields = fields
+ widgets = {}
+
+ class Media:
+ js = ()
+
+
+class Classroom_Form_cprep(forms.ModelForm):
+ class Meta:
+ model = Evaluation
+ exclude = ()
+
+ def __init__(self, *args, **kwargs):
+ super(Classroom_Form_cprep, self).__init__(*args, **kwargs)
+ self.helper = FormHelper()
+ self.helper.form_tag = True
+ self.helper.form_class = 'form-horizontal'
+ self.helper.label_class = 'col-md-3 create-label'
+ self.helper.field_class = 'col-md-9'
+ self.fields['cprep_eng_completed'].label = False
+ self.fields['cprep_eng_completed_de'].label = False
+ self.fields['cprep_eng_remaining_de'].label = False
+ self.fields['cprep_fr_completed'].label = False
+ self.fields['cprep_fr_completed_de'].label = False
+ self.fields['cprep_fr_remaining_de'].label = False
+ self.fields['cprep_math_completed'].label = False
+ self.fields['cprep_math_completed_de'].label = False
+ self.fields['cprep_math_remaining_de'].label = False
+ self.fields['cprep_sc_completed'].label = False
+ self.fields['cprep_sc_completed_de'].label = False
+ self.fields['cprep_sc_remaining_de'].label = False
+ self.fields['cprep_ara_completed'].label = False
+ self.fields['cprep_ara_completed_de'].label = False
+ self.fields['cprep_ara_remaining_de'].label = False
+ self.fields['cprep_civic_completed'].label = False
+ self.fields['cprep_civic_completed_de'].label = False
+ self.fields['cprep_civic_remaining_de'].label = False
+ self.fields['cprep_geo_completed'].label = False
+ self.fields['cprep_geo_completed_de'].label = False
+ self.fields['cprep_geo_remaining_de'].label = False
+ self.helper.layout = Layout(
+ Fieldset(
+ None,
+ Div(
+ Div('owner', css_class='col-md-10', hidden="true"),
+ Div('school', css_class='col-md-10', hidden="true"),
+ Div('education_year', css_class='col-md-10', hidden="true"),
+
+ Div('total_teaching_days', css_class='col-md-10', hidden="true"),
+ Div('implemented_de', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de', css_class='col-md-10', hidden="true"),
+ Div('challenges_de', css_class='col-md-10', hidden="true"),
+ Div('steps_de', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de', css_class='col-md-10', hidden="true"),
+
+ Div('total_teaching_days_tillnow', css_class='col-md-10', hidden="true"),
+ Div('implemented_de_2', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_2', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_2', css_class='col-md-10', hidden="true"),
+ Div('steps_de_2', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_2', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_3', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_3', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_3', css_class='col-md-10', hidden="true"),
+ Div('steps_de_3', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_3', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_9', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_9', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_9', css_class='col-md-10', hidden="true"),
+ Div('steps_de_9', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_9', css_class='col-md-10', hidden="true"),
+
+ Div('implemented_de_prep', css_class='col-md-10', hidden="true"),
+ Div('reasons_no_de_prep', css_class='col-md-10', hidden="true"),
+ Div('challenges_de_prep', css_class='col-md-10', hidden="true"),
+ Div('steps_de_prep', css_class='col-md-10 hidden', hidden="true"),
+ Div('evaluate_steps_de_prep', css_class='col-md-10', hidden="true"),
+ Div('other_notes_de', css_class='col-md-10', hidden="true"),
+
+ css_class='row',
+ ),
+ ),
+ Fieldset(
+ None,
+ Div(
+ HTML('' + _('Grade Prep-Ece') + '
')
+ ),
+ Div(
+ HTML(''),
+ HTML(' | '),
+ HTML(' | '),
+ HTML(' | '),
+ HTML(' | '),
+
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Arabic') + ' | '),
+ HTML(''),
+ Div('cprep_ara_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('cprep_ara_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('cprep_ara_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'English') + ' | '),
+ HTML(''),
+ Div('cprep_eng_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('cprep_eng_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('cprep_eng_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Frensh') + ' | '),
+ HTML(''),
+ Div('cprep_fr_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('cprep_fr_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('cprep_fr_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Math') + ' | '),
+ HTML(''),
+ Div('cprep_math_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('cprep_math_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('cprep_math_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Science') + ' | '),
+ HTML(''),
+ Div('cprep_sc_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('cprep_sc_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('cprep_sc_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Civic Education') + ' | '),
+ HTML(''),
+ Div('cprep_civic_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('cprep_civic_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('cprep_civic_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ Div(
+ HTML(''),
+ HTML('| ' + _(
+ 'Geography') + ' | '),
+ HTML(''),
+ Div('cprep_geo_completed', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('cprep_geo_completed_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML(''),
+ Div('cprep_geo_remaining_de', css_class='col-md-10'),
+ HTML(' | '),
+ HTML('
'),
+ css_class='row',
+ ),
+ css_class='bd-callout bd-callout-warning'
+ ),
+ FormActions(
+ Submit('save', _('Save')),
+ )
+ )
+
+ def save(self, instance=None, request=None):
+ instance = super(Classroom_Form_cprep, self).save()
+ messages.success(request, _('Your data has been sent successfully to the server'))
+
+ class Meta:
+ model = Evaluation
+ fields = ('cprep_eng_completed', 'cprep_eng_completed_de', 'cprep_eng_remaining_de',
+ 'cprep_fr_completed', 'cprep_fr_completed_de', 'cprep_fr_remaining_de',
+ 'cprep_math_completed', 'cprep_math_completed_de', 'cprep_math_remaining_de',
+ 'cprep_sc_completed', 'cprep_sc_completed_de', 'cprep_sc_remaining_de',
+ 'cprep_ara_completed', 'cprep_ara_completed_de', 'cprep_ara_remaining_de',
+ 'cprep_civic_completed', 'cprep_civic_completed_de', 'cprep_civic_remaining_de',
+ 'cprep_geo_completed', 'cprep_geo_completed_de', 'cprep_geo_remaining_de',
+ 'owner', 'school', 'education_year','total_teaching_days', 'implemented_de', 'reasons_no_de',
+ 'challenges_de', 'steps_de', 'evaluate_steps_de', 'other_notes_de',
+ )
+ initial_fields = fields
+ widgets = {}
+
+ class Media:
+ js = ()
diff --git a/student_registration/schools/migrations/0036_auto_20190314_2029.py b/student_registration/schools/migrations/0036_auto_20190314_2029.py
new file mode 100644
index 000000000..363a3e4d2
--- /dev/null
+++ b/student_registration/schools/migrations/0036_auto_20190314_2029.py
@@ -0,0 +1,39 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-03-14 18:29
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0035_auto_20180215_1432'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Coordinator',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('name', models.CharField(max_length=200, unique=True)),
+ ],
+ options={
+ 'ordering': ['name'],
+ 'verbose_name': 'Coordinator',
+ },
+ ),
+ migrations.RemoveField(
+ model_name='school',
+ name='field_coordinator_name',
+ ),
+ migrations.AddField(
+ model_name='school',
+ name='coordinator',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.Coordinator', verbose_name='coordinator'),
+ ),
+ # migrations.DeleteModel(
+ # name='Coordinator',
+ # ),
+ ]
diff --git a/student_registration/schools/migrations/0037_auto_20190328_1416.py b/student_registration/schools/migrations/0037_auto_20190328_1416.py
new file mode 100644
index 000000000..b67f55721
--- /dev/null
+++ b/student_registration/schools/migrations/0037_auto_20190328_1416.py
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-03-28 12:16
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0036_auto_20190314_2029'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='school',
+ name='coordinator',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.Coordinator', verbose_name='\u0627\u0633\u0645 \u0627\u0644\u0645\u0646\u0633\u0642 \u0627\u0644\u0645\u064a\u062f\u0627\u0646\u064a'),
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0038_auto_20190619_0156.py b/student_registration/schools/migrations/0038_auto_20190619_0156.py
new file mode 100644
index 000000000..fbd2a67a3
--- /dev/null
+++ b/student_registration/schools/migrations/0038_auto_20190619_0156.py
@@ -0,0 +1,60 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-06-18 22:56
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0037_auto_20190328_1416'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='clmround',
+ name='current_round_abln',
+ field=models.BooleanField(default=False),
+ ),
+ migrations.AddField(
+ model_name='clmround',
+ name='current_round_bln',
+ field=models.BooleanField(default=False),
+ ),
+ migrations.AddField(
+ model_name='clmround',
+ name='current_round_cbece',
+ field=models.BooleanField(default=False),
+ ),
+ migrations.AddField(
+ model_name='clmround',
+ name='end_date_abln',
+ field=models.DateField(blank=True, null=True),
+ ),
+ migrations.AddField(
+ model_name='clmround',
+ name='end_date_bln',
+ field=models.DateField(blank=True, null=True),
+ ),
+ migrations.AddField(
+ model_name='clmround',
+ name='end_date_cbece',
+ field=models.DateField(blank=True, null=True),
+ ),
+ migrations.AddField(
+ model_name='clmround',
+ name='start_date_abln',
+ field=models.DateField(blank=True, null=True),
+ ),
+ migrations.AddField(
+ model_name='clmround',
+ name='start_date_bln',
+ field=models.DateField(blank=True, null=True),
+ ),
+ migrations.AddField(
+ model_name='clmround',
+ name='start_date_cbece',
+ field=models.DateField(blank=True, null=True),
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0039_auto_20190619_1028.py b/student_registration/schools/migrations/0039_auto_20190619_1028.py
new file mode 100644
index 000000000..d3ec90a4b
--- /dev/null
+++ b/student_registration/schools/migrations/0039_auto_20190619_1028.py
@@ -0,0 +1,45 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-06-19 07:28
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0038_auto_20190619_0156'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='clmround',
+ name='end_date_abln_edit',
+ field=models.DateField(blank=True, null=True),
+ ),
+ migrations.AddField(
+ model_name='clmround',
+ name='end_date_bln_edit',
+ field=models.DateField(blank=True, null=True),
+ ),
+ migrations.AddField(
+ model_name='clmround',
+ name='end_date_cbece_edit',
+ field=models.DateField(blank=True, null=True),
+ ),
+ migrations.AddField(
+ model_name='clmround',
+ name='start_date_abln_edit',
+ field=models.DateField(blank=True, null=True),
+ ),
+ migrations.AddField(
+ model_name='clmround',
+ name='start_date_bln_edit',
+ field=models.DateField(blank=True, null=True),
+ ),
+ migrations.AddField(
+ model_name='clmround',
+ name='start_date_cbece_edit',
+ field=models.DateField(blank=True, null=True),
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0040_school_is_closed.py b/student_registration/schools/migrations/0040_school_is_closed.py
new file mode 100644
index 000000000..d052e7b8c
--- /dev/null
+++ b/student_registration/schools/migrations/0040_school_is_closed.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-09-28 05:55
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0039_auto_20190619_1028'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='school',
+ name='is_closed',
+ field=models.BooleanField(default=False, verbose_name='is closed'),
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0041_auto_20190929_1231.py b/student_registration/schools/migrations/0041_auto_20190929_1231.py
new file mode 100644
index 000000000..7e170df35
--- /dev/null
+++ b/student_registration/schools/migrations/0041_auto_20190929_1231.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-09-29 09:31
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0040_school_is_closed'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='school',
+ name='is_closed',
+ field=models.BooleanField(default=False, verbose_name='\u0645\u063a\u0644\u0642\u0629'),
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0042_setup.py b/student_registration/schools/migrations/0042_setup.py
new file mode 100644
index 000000000..a9ceb719a
--- /dev/null
+++ b/student_registration/schools/migrations/0042_setup.py
@@ -0,0 +1,22 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-11-22 05:50
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0041_auto_20190929_1231'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Setup',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('staff_seq', models.IntegerField(blank=True, null=True)),
+ ],
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0043_class_section.py b/student_registration/schools/migrations/0043_class_section.py
new file mode 100644
index 000000000..c86920441
--- /dev/null
+++ b/student_registration/schools/migrations/0043_class_section.py
@@ -0,0 +1,36 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-12-28 23:57
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+import django.utils.timezone
+import model_utils.fields
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0042_setup'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='class_section',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
+ ('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
+ ('closed_date', models.DateField(blank=True, null=True, verbose_name='Closed Date')),
+ ('is_closed', models.BooleanField(default=False, verbose_name='\u0645\u063a\u0644\u0642\u0629')),
+ ('school_type', models.CharField(blank=True, max_length=15, null=True, verbose_name='school type')),
+ ('classroom', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.ClassRoom', verbose_name='class')),
+ ('education_year', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.EducationYear', verbose_name='\u0627\u0644\u0633\u0646\u0629 \u0627\u0644\u062f\u0631\u0627\u0633\u064a\u0629')),
+ ('school', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.School', verbose_name='school')),
+ ('section', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.Section', verbose_name='section')),
+ ],
+ options={
+ 'abstract': False,
+ },
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0044_auto_20200105_2322.py b/student_registration/schools/migrations/0044_auto_20200105_2322.py
new file mode 100644
index 000000000..c4270364c
--- /dev/null
+++ b/student_registration/schools/migrations/0044_auto_20200105_2322.py
@@ -0,0 +1,45 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-05 21:22
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0043_class_section'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='alpassignmentmatrix',
+ name='matrix_type',
+ field=models.CharField(blank=True, choices=[('O', 'Old'), ('N', 'New')], max_length=1, null=True),
+ ),
+ migrations.AddField(
+ model_name='educationlevel',
+ name='coefficient_score',
+ field=models.FloatField(blank=True, null=True),
+ ),
+ migrations.AddField(
+ model_name='educationlevel',
+ name='with_arabic',
+ field=models.BooleanField(default=False),
+ ),
+ migrations.AddField(
+ model_name='educationlevel',
+ name='with_language',
+ field=models.BooleanField(default=False),
+ ),
+ migrations.AddField(
+ model_name='educationlevel',
+ name='with_math',
+ field=models.BooleanField(default=False),
+ ),
+ migrations.AddField(
+ model_name='educationlevel',
+ name='with_science',
+ field=models.BooleanField(default=False),
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0045_educationlevel_new_calculation.py b/student_registration/schools/migrations/0045_educationlevel_new_calculation.py
new file mode 100644
index 000000000..d6188ae32
--- /dev/null
+++ b/student_registration/schools/migrations/0045_educationlevel_new_calculation.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-05 22:50
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0044_auto_20200105_2322'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='educationlevel',
+ name='new_calculation',
+ field=models.BooleanField(default=True),
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0046_auto_20200106_0051.py b/student_registration/schools/migrations/0046_auto_20200106_0051.py
new file mode 100644
index 000000000..1e1286496
--- /dev/null
+++ b/student_registration/schools/migrations/0046_auto_20200106_0051.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-05 22:51
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0045_educationlevel_new_calculation'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='educationlevel',
+ name='new_calculation',
+ field=models.BooleanField(default=False),
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0047_auto_20200114_0918.py b/student_registration/schools/migrations/0047_auto_20200114_0918.py
new file mode 100644
index 000000000..34ee7729d
--- /dev/null
+++ b/student_registration/schools/migrations/0047_auto_20200114_0918.py
@@ -0,0 +1,47 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-14 07:18
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffs', '0017_auto_20200114_0918'),
+ ('schools', '0046_auto_20200106_0051'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='school',
+ name='bank_Base1',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='staffs.Bank', verbose_name='\u0627\u0644\u0628\u0646\u0643'),
+ ),
+ migrations.AddField(
+ model_name='school',
+ name='bank_Base2',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='staffs.Bank', verbose_name='\u0627\u0644\u0628\u0646\u0643'),
+ ),
+ migrations.AddField(
+ model_name='school',
+ name='branch_base1',
+ field=models.CharField(blank=True, max_length=60, null=True, verbose_name='\u0627\u0644\u0641\u0631\u0639'),
+ ),
+ migrations.AddField(
+ model_name='school',
+ name='branch_base2',
+ field=models.CharField(blank=True, max_length=60, null=True, verbose_name='\u0627\u0644\u0641\u0631\u0639'),
+ ),
+ migrations.AddField(
+ model_name='school',
+ name='iban_base1',
+ field=models.CharField(blank=True, max_length=100, null=True, verbose_name='IBAN LL'),
+ ),
+ migrations.AddField(
+ model_name='school',
+ name='iban_base2',
+ field=models.CharField(blank=True, max_length=100, null=True, verbose_name='IBAN $'),
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0048_auto_20200117_1032.py b/student_registration/schools/migrations/0048_auto_20200117_1032.py
new file mode 100644
index 000000000..13903914e
--- /dev/null
+++ b/student_registration/schools/migrations/0048_auto_20200117_1032.py
@@ -0,0 +1,46 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-17 08:32
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0047_auto_20200114_0918'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='alpassignmentmatrix',
+ name='matrix_type',
+ field=models.CharField(blank=True, choices=[('O', 'Old'), ('N', '\u0623\u0636\u0641')], max_length=1, null=True),
+ ),
+ migrations.AlterField(
+ model_name='class_section',
+ name='classroom',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.ClassRoom', verbose_name='\u0627\u0644\u0635\u0641'),
+ ),
+ migrations.AlterField(
+ model_name='class_section',
+ name='closed_date',
+ field=models.DateField(blank=True, null=True, verbose_name='\u0633\u0628\u0628 \u0627\u0644\u0627\u0642\u0641\u0627\u0644 '),
+ ),
+ migrations.AlterField(
+ model_name='class_section',
+ name='school',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.School', verbose_name='\u0627\u0644\u0645\u062f\u0631\u0633\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='class_section',
+ name='school_type',
+ field=models.CharField(blank=True, max_length=15, null=True, verbose_name='\u0646\u0648\u0639 \u0627\u0644\u0645\u062f\u0631\u0633\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='class_section',
+ name='section',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.Section', verbose_name='\u0627\u0644\u0634\u0639\u0628\u0629'),
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0049_auto_20200319_1358.py b/student_registration/schools/migrations/0049_auto_20200319_1358.py
new file mode 100644
index 000000000..3b67ea8ca
--- /dev/null
+++ b/student_registration/schools/migrations/0049_auto_20200319_1358.py
@@ -0,0 +1,72 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-03-19 11:58
+from __future__ import unicode_literals
+
+from django.conf import settings
+from django.db import migrations, models
+import django.db.models.deletion
+import django.utils.timezone
+import model_utils.fields
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ('schools', '0048_auto_20200117_1032'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Evaluation',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
+ ('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
+ ('total_teaching_days', models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99), (100, 100), (101, 101), (102, 102), (103, 103), (104, 104), (105, 105), (106, 106), (107, 107), (108, 108), (109, 109), (110, 110), (111, 111), (112, 112), (113, 113), (114, 114), (115, 115), (116, 116), (117, 117), (118, 118), (119, 119), (120, 120), (121, 121), (122, 122), (123, 123), (124, 124), (125, 125), (126, 126), (127, 127), (128, 128), (129, 129), (130, 130), (131, 131), (132, 132), (133, 133), (134, 134), (135, 135), (136, 136), (137, 137), (138, 138), (139, 139), (140, 140), (141, 141), (142, 142), (143, 143), (144, 144), (145, 145), (146, 146), (147, 147), (148, 148), (149, 149), (150, 150), (151, 151), (152, 152), (153, 153), (154, 154), (155, 155), (156, 156), (157, 157), (158, 158), (159, 159), (160, 160), (161, 161), (162, 162), (163, 163), (164, 164), (165, 165), (166, 166), (167, 167), (168, 168), (169, 169), (170, 170), (171, 171), (172, 172), (173, 173), (174, 174), (175, 175), (176, 176), (177, 177), (178, 178), (179, 179), (180, 180), (181, 181), (182, 182), (183, 183), (184, 184), (185, 185), (186, 186), (187, 187), (188, 188), (189, 189), (190, 190), (191, 191), (192, 192), (193, 193), (194, 194), (195, 195), (196, 196), (197, 197), (198, 198), (199, 199), (200, 200), (201, 201), (202, 202), (203, 203), (204, 204), (205, 205), (206, 206), (207, 207), (208, 208), (209, 209), (210, 210), (211, 211), (212, 212), (213, 213), (214, 214), (215, 215), (216, 216), (217, 217), (218, 218), (219, 219), (220, 220), (221, 221), (222, 222), (223, 223), (224, 224), (225, 225), (226, 226), (227, 227), (228, 228), (229, 229), (230, 230), (231, 231), (232, 232), (233, 233), (234, 234), (235, 235), (236, 236), (237, 237), (238, 238), (239, 239), (240, 240), (241, 241), (242, 242), (243, 243), (244, 244), (245, 245), (246, 246), (247, 247), (248, 248), (249, 249), (250, 250), (251, 251), (252, 252), (253, 253), (254, 254), (255, 255), (256, 256), (257, 257), (258, 258), (259, 259), (260, 260), (261, 261), (262, 262), (263, 263), (264, 264), (265, 265), (266, 266), (267, 267), (268, 268), (269, 269), (270, 270), (271, 271), (272, 272), (273, 273), (274, 274), (275, 275), (276, 276), (277, 277), (278, 278), (279, 279), (280, 280), (281, 281), (282, 282), (283, 283), (284, 284), (285, 285), (286, 286), (287, 287), (288, 288), (289, 289), (290, 290), (291, 291), (292, 292), (293, 293), (294, 294), (295, 295), (296, 296), (297, 297), (298, 298), (299, 299), (300, 300), (301, 301), (302, 302), (303, 303), (304, 304), (305, 305), (306, 306), (307, 307), (308, 308), (309, 309), (310, 310), (311, 311), (312, 312), (313, 313), (314, 314), (315, 315), (316, 316), (317, 317), (318, 318), (319, 319), (320, 320), (321, 321), (322, 322), (323, 323), (324, 324), (325, 325), (326, 326), (327, 327), (328, 328), (329, 329), (330, 330), (331, 331), (332, 332), (333, 333), (334, 334), (335, 335), (336, 336), (337, 337), (338, 338), (339, 339), (340, 340), (341, 341), (342, 342), (343, 343), (344, 344), (345, 345), (346, 346), (347, 347), (348, 348), (349, 349), (350, 350), (351, 351), (352, 352), (353, 353), (354, 354), (355, 355), (356, 356), (357, 357), (358, 358), (359, 359), (360, 360), (361, 361), (362, 362), (363, 363), (364, 364)], default=0, null=True, verbose_name='Teaching days completed since the beginning of the school year')),
+ ('implemented_de', models.BooleanField(default=False, verbose_name='Have you implemented distance education ?')),
+ ('reasons_no_de', models.TextField(blank=True, null=True, verbose_name='Determine the reasons')),
+ ('challenges_de', models.TextField(blank=True, null=True, verbose_name='The challenges that you faced during distance education')),
+ ('steps_de', models.TextField(blank=True, null=True, verbose_name='The challenges that you faced during distance education')),
+ ('other_notes_de', models.TextField(blank=True, null=True, verbose_name='Other comments')),
+ ('education_year', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.EducationYear', verbose_name='\u0627\u0644\u0633\u0646\u0629 \u0627\u0644\u062f\u0631\u0627\u0633\u064a\u0629')),
+ ('owner', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='\u0627\u0646\u0634\u0623 \u0645\u0646 \u0642\u0628\u0644')),
+ ('school', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.School', verbose_name='\u0627\u0644\u0645\u062f\u0631\u0633\u0629')),
+ ],
+ options={
+ 'abstract': False,
+ },
+ ),
+ migrations.CreateModel(
+ name='EvaluationDt',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
+ ('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
+ ('completed', models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed')),
+ ('completed_de', models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education')),
+ ('remaining_de', models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education')),
+ ('classroom', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.ClassRoom', verbose_name='\u0627\u0644\u0635\u0641 \u0627\u0644\u062d\u0627\u0644\u064a')),
+ ('evaluation', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='schools.Evaluation', verbose_name='Evaluation')),
+ ],
+ options={
+ 'abstract': False,
+ },
+ ),
+ migrations.CreateModel(
+ name='Subject',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('name', models.CharField(max_length=45, unique=True)),
+ ],
+ options={
+ 'ordering': ['id'],
+ 'verbose_name_plural': 'Subjects',
+ },
+ ),
+ migrations.AddField(
+ model_name='evaluationdt',
+ name='subject',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.Subject', verbose_name='\u0627\u0644\u0645\u0648\u0627\u062f'),
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0050_auto_20200321_0535.py b/student_registration/schools/migrations/0050_auto_20200321_0535.py
new file mode 100644
index 000000000..25f849bc4
--- /dev/null
+++ b/student_registration/schools/migrations/0050_auto_20200321_0535.py
@@ -0,0 +1,120 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-03-21 03:36
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0049_auto_20200319_1358'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='evaluation',
+ name='c2_ar_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c2_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c2_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c2_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c2_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c2_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c2_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c2_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c2_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c2_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c2_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c2_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c2_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c2_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c2_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c2_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c2_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c2_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c2_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c2_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c2_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0051_auto_20200321_0545.py b/student_registration/schools/migrations/0051_auto_20200321_0545.py
new file mode 100644
index 000000000..8e9bc7530
--- /dev/null
+++ b/student_registration/schools/migrations/0051_auto_20200321_0545.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-03-21 03:45
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0050_auto_20200321_0535'),
+ ]
+
+ operations = [
+ migrations.RenameField(
+ model_name='evaluation',
+ old_name='c2_ar_remaining_de',
+ new_name='c2_ara_remaining_de',
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0052_auto_20200321_0711.py b/student_registration/schools/migrations/0052_auto_20200321_0711.py
new file mode 100644
index 000000000..8c0cd2640
--- /dev/null
+++ b/student_registration/schools/migrations/0052_auto_20200321_0711.py
@@ -0,0 +1,840 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-03-21 05:11
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0051_auto_20200321_0545'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='evaluation',
+ name='c1_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c1_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c1_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c1_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c1_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c1_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c1_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c1_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c1_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c1_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c1_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c1_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c1_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c1_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c1_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c1_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c1_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c1_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c1_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c1_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c1_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c4_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c4_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c4_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c4_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c4_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c4_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c4_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c4_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c4_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c4_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c4_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c4_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c4_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c4_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c4_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c4_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c4_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c4_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c4_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c4_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c4_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c5_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c5_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c5_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c5_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c5_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c5_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c5_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c5_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c5_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c5_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c5_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c5_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c5_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c5_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c5_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c5_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c5_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c5_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c5_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c5_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c5_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c6_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c6_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c6_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c6_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c6_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c6_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c6_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c6_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c6_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c6_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c6_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c6_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c6_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c6_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c6_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c6_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c6_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c6_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c6_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c6_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c6_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_che_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_che_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_che_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_his_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_his_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_his_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_phy_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_phy_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_phy_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c7_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_che_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_che_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_che_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_his_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_his_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_his_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_phy_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_phy_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_phy_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='cprep_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='cprep_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='cprep_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='cprep_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='cprep_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='cprep_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='cprep_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='cprep_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='cprep_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='cprep_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='cprep_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='cprep_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='cprep_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='cprep_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='cprep_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='cprep_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='cprep_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='cprep_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='cprep_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='cprep_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='cprep_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education'),
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0053_auto_20200321_0945.py b/student_registration/schools/migrations/0053_auto_20200321_0945.py
new file mode 100644
index 000000000..3b530e54a
--- /dev/null
+++ b/student_registration/schools/migrations/0053_auto_20200321_0945.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-03-21 07:45
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0052_auto_20200321_0711'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_challanges_difficulties_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49)], default=0, null=True, verbose_name='Challanges and difficulties'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_total_std',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49)], default=0, null=True, verbose_name='Total of students'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_total_std_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49)], default=0, null=True, verbose_name='Total of students they follow distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_used_method_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49)], default=0, null=True, verbose_name='The methods used'),
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0054_auto_20200321_1058.py b/student_registration/schools/migrations/0054_auto_20200321_1058.py
new file mode 100644
index 000000000..593364598
--- /dev/null
+++ b/student_registration/schools/migrations/0054_auto_20200321_1058.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-03-21 08:58
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0053_auto_20200321_0945'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_challanges_difficulties_de',
+ field=models.TextField(blank=True, null=True, verbose_name='Challanges and difficulties'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_used_method_de',
+ field=models.TextField(blank=True, null=True, verbose_name='Methods that have contributed to the success of distance education'),
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0055_auto_20200322_1058.py b/student_registration/schools/migrations/0055_auto_20200322_1058.py
new file mode 100644
index 000000000..d95e07c44
--- /dev/null
+++ b/student_registration/schools/migrations/0055_auto_20200322_1058.py
@@ -0,0 +1,1235 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-03-22 08:58
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0054_auto_20200321_1058'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='evaluation',
+ name='c3_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c3_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c3_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c3_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c3_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c3_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c3_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c3_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c3_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c3_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c3_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c3_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c3_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c3_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c3_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c3_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c3_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c3_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c3_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c3_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c3_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_che_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_che_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_che_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_his_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_his_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_his_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_phy_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_phy_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_phy_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c8_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_total_teachers',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49)], default=0, null=True, verbose_name='Total of teachers'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_total_teachers_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49)], default=0, null=True, verbose_name='Number of teachers who have committed to distance education'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='evaluate_steps_de',
+ field=models.TextField(blank=True, null=True, verbose_name='Evaluate the steps followed in distance education'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_che_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_che_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_che_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_his_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_his_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_his_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_phy_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_phy_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_phy_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_che_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_che_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_che_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_his_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_his_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_his_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_phy_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_phy_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_phy_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons remaining'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='steps_de',
+ field=models.TextField(blank=True, null=True, verbose_name='What are the steps followed in distance education'),
+ ),
+ migrations.AlterField(
+ model_name='evaluationdt',
+ name='completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='The number of lessons completed till february'),
+ ),
+ migrations.AlterField(
+ model_name='evaluationdt',
+ name='completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ migrations.AlterField(
+ model_name='evaluationdt',
+ name='remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='Number of lessons accomplished through distance education in march'),
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0056_auto_20200322_1956.py b/student_registration/schools/migrations/0056_auto_20200322_1956.py
new file mode 100644
index 000000000..5b735b0e5
--- /dev/null
+++ b/student_registration/schools/migrations/0056_auto_20200322_1956.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-03-22 17:56
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0055_auto_20200322_1058'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_evaluation',
+ field=models.TextField(blank=True, null=True, verbose_name='Evaluation on the interventions '),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='c9_interventions',
+ field=models.TextField(blank=True, null=True, verbose_name='Interventions taken in the cycle'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_challanges_difficulties_de',
+ field=models.TextField(blank=True, null=True, verbose_name='Challenges that faces the implementation'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_used_method_de',
+ field=models.TextField(blank=True, null=True, verbose_name='Methods that are used in distance education'),
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0057_auto_20200322_2359.py b/student_registration/schools/migrations/0057_auto_20200322_2359.py
new file mode 100644
index 000000000..3c8c49c8d
--- /dev/null
+++ b/student_registration/schools/migrations/0057_auto_20200322_2359.py
@@ -0,0 +1,1392 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-03-22 21:59
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0056_auto_20200322_1956'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='evaluation',
+ name='c9_challanges_difficulties_de',
+ ),
+ migrations.RemoveField(
+ model_name='evaluation',
+ name='c9_evaluation',
+ ),
+ migrations.RemoveField(
+ model_name='evaluation',
+ name='c9_interventions',
+ ),
+ migrations.RemoveField(
+ model_name='evaluation',
+ name='c9_used_method_de',
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='challenges_de_2',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u062a\u062d\u062f\u064a\u0627\u062a \u0627\u0644\u062a\u064a \u0648\u0627\u062c\u0647\u062a\u0647\u0627 \u0623\u062b\u0646\u0627\u0621 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='challenges_de_3',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u062a\u062d\u062f\u064a\u0627\u062a \u0627\u0644\u062a\u064a \u0648\u0627\u062c\u0647\u062a\u0647\u0627 \u0623\u062b\u0646\u0627\u0621 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='challenges_de_9',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u062a\u062d\u062f\u064a\u0627\u062a \u0627\u0644\u062a\u064a \u0648\u0627\u062c\u0647\u062a\u0647\u0627 \u0623\u062b\u0646\u0627\u0621 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='challenges_de_prep',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u062a\u062d\u062f\u064a\u0627\u062a \u0627\u0644\u062a\u064a \u0648\u0627\u062c\u0647\u062a\u0647\u0627 \u0623\u062b\u0646\u0627\u0621 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='evaluate_steps_de_2',
+ field=models.TextField(blank=True, null=True, verbose_name='\u062a\u0642\u064a\u064a\u0645 \u0627\u0644\u062e\u0637\u0648\u0627\u062a \u0627\u0644\u0645\u062a\u0628\u0639\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='evaluate_steps_de_3',
+ field=models.TextField(blank=True, null=True, verbose_name='\u062a\u0642\u064a\u064a\u0645 \u0627\u0644\u062e\u0637\u0648\u0627\u062a \u0627\u0644\u0645\u062a\u0628\u0639\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='evaluate_steps_de_9',
+ field=models.TextField(blank=True, null=True, verbose_name='\u062a\u0642\u064a\u064a\u0645 \u0627\u0644\u062e\u0637\u0648\u0627\u062a \u0627\u0644\u0645\u062a\u0628\u0639\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='evaluate_steps_de_prep',
+ field=models.TextField(blank=True, null=True, verbose_name='\u062a\u0642\u064a\u064a\u0645 \u0627\u0644\u062e\u0637\u0648\u0627\u062a \u0627\u0644\u0645\u062a\u0628\u0639\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='implemented_de_2',
+ field=models.BooleanField(default=False, verbose_name='\u0647\u0644 \u0646\u0641\u0630\u062a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f\u061f'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='implemented_de_3',
+ field=models.BooleanField(default=False, verbose_name='\u0647\u0644 \u0646\u0641\u0630\u062a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f\u061f'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='implemented_de_9',
+ field=models.BooleanField(default=False, verbose_name='\u0647\u0644 \u0646\u0641\u0630\u062a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f\u061f'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='implemented_de_prep',
+ field=models.BooleanField(default=False, verbose_name='\u0647\u0644 \u0646\u0641\u0630\u062a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f\u061f'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='reasons_no_de_2',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0633\u0628\u0628 \u0622\u062e\u0631'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='reasons_no_de_3',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0633\u0628\u0628 \u0622\u062e\u0631'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='reasons_no_de_9',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0633\u0628\u0628 \u0622\u062e\u0631'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='reasons_no_de_prep',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0633\u0628\u0628 \u0622\u062e\u0631'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='steps_de_2',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0645\u0627 \u0647\u064a \u0627\u0644\u062e\u0637\u0648\u0627\u062a \u0627\u0644\u0645\u062a\u0628\u0639\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='steps_de_3',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0645\u0627 \u0647\u064a \u0627\u0644\u062e\u0637\u0648\u0627\u062a \u0627\u0644\u0645\u062a\u0628\u0639\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='steps_de_9',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0645\u0627 \u0647\u064a \u0627\u0644\u062e\u0637\u0648\u0627\u062a \u0627\u0644\u0645\u062a\u0628\u0639\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f'),
+ ),
+ migrations.AddField(
+ model_name='evaluation',
+ name='steps_de_prep',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0645\u0627 \u0647\u064a \u0627\u0644\u062e\u0637\u0648\u0627\u062a \u0627\u0644\u0645\u062a\u0628\u0639\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_che_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_che_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_che_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_his_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_his_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_his_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_phy_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_phy_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_phy_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_che_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_che_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_che_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_his_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_his_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_his_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_phy_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_phy_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_phy_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_che_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_che_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_che_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_his_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_his_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_his_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_phy_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_phy_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_phy_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_total_std',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49)], default=0, null=True, verbose_name='\u0645\u062c\u0645\u0648\u0639 \u0627\u0644\u062a\u0644\u0627\u0645\u0630\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_total_std_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49)], default=0, null=True, verbose_name='\u0625\u062c\u0645\u0627\u0644\u064a \u0627\u0644\u0637\u0644\u0627\u0628 \u0627\u0644\u0630\u064a\u0646 \u064a\u062a\u0627\u0628\u0639\u0648\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_total_teachers',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49)], default=0, null=True, verbose_name='\u0625\u062c\u0645\u0627\u0644\u064a \u0627\u0644\u0627\u0633\u0627\u062a\u0630\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_total_teachers_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u0627\u0633\u0627\u062a\u0630\u0629 \u0627\u0644\u0630\u064a\u0646 \u0627\u0644\u062a\u0632\u0645\u0648\u0627 \u0628\u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='challenges_de',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u062a\u062d\u062f\u064a\u0627\u062a \u0627\u0644\u062a\u064a \u0648\u0627\u062c\u0647\u062a\u0647\u0627 \u0623\u062b\u0646\u0627\u0621 \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_ara_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_ara_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_civic_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_civic_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_eng_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_eng_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_fr_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_fr_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_geo_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_geo_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_math_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_math_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_sc_completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_sc_remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='evaluate_steps_de',
+ field=models.TextField(blank=True, null=True, verbose_name='\u062a\u0642\u064a\u064a\u0645 \u0627\u0644\u062e\u0637\u0648\u0627\u062a \u0627\u0644\u0645\u062a\u0628\u0639\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='implemented_de',
+ field=models.BooleanField(default=False, verbose_name='\u0647\u0644 \u0646\u0641\u0630\u062a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f\u061f'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='other_notes_de',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0645\u0644\u0627\u062d\u0638\u0627\u062a'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='reasons_no_de',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0633\u0628\u0628 \u0622\u062e\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='steps_de',
+ field=models.TextField(blank=True, null=True, verbose_name='\u0645\u0627 \u0647\u064a \u0627\u0644\u062e\u0637\u0648\u0627\u062a \u0627\u0644\u0645\u062a\u0628\u0639\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='total_teaching_days',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99), (100, 100), (101, 101), (102, 102), (103, 103), (104, 104), (105, 105), (106, 106), (107, 107), (108, 108), (109, 109), (110, 110), (111, 111), (112, 112), (113, 113), (114, 114), (115, 115), (116, 116), (117, 117), (118, 118), (119, 119), (120, 120), (121, 121), (122, 122), (123, 123), (124, 124), (125, 125), (126, 126), (127, 127), (128, 128), (129, 129), (130, 130), (131, 131), (132, 132), (133, 133), (134, 134), (135, 135), (136, 136), (137, 137), (138, 138), (139, 139), (140, 140), (141, 141), (142, 142), (143, 143), (144, 144), (145, 145), (146, 146), (147, 147), (148, 148), (149, 149), (150, 150), (151, 151), (152, 152), (153, 153), (154, 154), (155, 155), (156, 156), (157, 157), (158, 158), (159, 159), (160, 160), (161, 161), (162, 162), (163, 163), (164, 164), (165, 165), (166, 166), (167, 167), (168, 168), (169, 169), (170, 170), (171, 171), (172, 172), (173, 173), (174, 174), (175, 175), (176, 176), (177, 177), (178, 178), (179, 179), (180, 180), (181, 181), (182, 182), (183, 183), (184, 184), (185, 185), (186, 186), (187, 187), (188, 188), (189, 189), (190, 190), (191, 191), (192, 192), (193, 193), (194, 194), (195, 195), (196, 196), (197, 197), (198, 198), (199, 199), (200, 200), (201, 201), (202, 202), (203, 203), (204, 204), (205, 205), (206, 206), (207, 207), (208, 208), (209, 209), (210, 210), (211, 211), (212, 212), (213, 213), (214, 214), (215, 215), (216, 216), (217, 217), (218, 218), (219, 219), (220, 220), (221, 221), (222, 222), (223, 223), (224, 224), (225, 225), (226, 226), (227, 227), (228, 228), (229, 229), (230, 230), (231, 231), (232, 232), (233, 233), (234, 234), (235, 235), (236, 236), (237, 237), (238, 238), (239, 239), (240, 240), (241, 241), (242, 242), (243, 243), (244, 244), (245, 245), (246, 246), (247, 247), (248, 248), (249, 249), (250, 250), (251, 251), (252, 252), (253, 253), (254, 254), (255, 255), (256, 256), (257, 257), (258, 258), (259, 259), (260, 260), (261, 261), (262, 262), (263, 263), (264, 264), (265, 265), (266, 266), (267, 267), (268, 268), (269, 269), (270, 270), (271, 271), (272, 272), (273, 273), (274, 274), (275, 275), (276, 276), (277, 277), (278, 278), (279, 279), (280, 280), (281, 281), (282, 282), (283, 283), (284, 284), (285, 285), (286, 286), (287, 287), (288, 288), (289, 289), (290, 290), (291, 291), (292, 292), (293, 293), (294, 294), (295, 295), (296, 296), (297, 297), (298, 298), (299, 299), (300, 300), (301, 301), (302, 302), (303, 303), (304, 304), (305, 305), (306, 306), (307, 307), (308, 308), (309, 309), (310, 310), (311, 311), (312, 312), (313, 313), (314, 314), (315, 315), (316, 316), (317, 317), (318, 318), (319, 319), (320, 320), (321, 321), (322, 322), (323, 323), (324, 324), (325, 325), (326, 326), (327, 327), (328, 328), (329, 329), (330, 330), (331, 331), (332, 332), (333, 333), (334, 334), (335, 335), (336, 336), (337, 337), (338, 338), (339, 339), (340, 340), (341, 341), (342, 342), (343, 343), (344, 344), (345, 345), (346, 346), (347, 347), (348, 348), (349, 349), (350, 350), (351, 351), (352, 352), (353, 353), (354, 354), (355, 355), (356, 356), (357, 357), (358, 358), (359, 359), (360, 360), (361, 361), (362, 362), (363, 363), (364, 364)], default=0, null=True, verbose_name='\u0623\u064a\u0627\u0645 \u0627\u0644\u062a\u062f\u0631\u064a\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u0645\u0646\u0630 \u0628\u062f\u0627\u064a\u0629 \u0627\u0644\u0639\u0627\u0645 \u0627\u0644\u062f\u0631\u0627\u0633\u064a'),
+ ),
+ migrations.AlterField(
+ model_name='evaluationdt',
+ name='completed',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u062d\u062a\u0649 \u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluationdt',
+ name='completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluationdt',
+ name='evaluation',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='schools.Evaluation', verbose_name='\u062a\u0631\u0628\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='evaluationdt',
+ name='remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0058_auto_20200324_1548.py b/student_registration/schools/migrations/0058_auto_20200324_1548.py
new file mode 100644
index 000000000..54051ab51
--- /dev/null
+++ b/student_registration/schools/migrations/0058_auto_20200324_1548.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-03-24 13:48
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0057_auto_20200322_2359'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='evaluation',
+ name='total_teaching_days_tillnow',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99), (100, 100), (101, 101), (102, 102), (103, 103), (104, 104), (105, 105), (106, 106), (107, 107), (108, 108), (109, 109), (110, 110), (111, 111), (112, 112), (113, 113), (114, 114), (115, 115), (116, 116), (117, 117), (118, 118), (119, 119), (120, 120), (121, 121), (122, 122), (123, 123), (124, 124), (125, 125), (126, 126), (127, 127), (128, 128), (129, 129), (130, 130), (131, 131), (132, 132), (133, 133), (134, 134), (135, 135), (136, 136), (137, 137), (138, 138), (139, 139), (140, 140), (141, 141), (142, 142), (143, 143), (144, 144), (145, 145), (146, 146), (147, 147), (148, 148), (149, 149), (150, 150), (151, 151), (152, 152), (153, 153), (154, 154), (155, 155), (156, 156), (157, 157), (158, 158), (159, 159), (160, 160), (161, 161), (162, 162), (163, 163), (164, 164), (165, 165), (166, 166), (167, 167), (168, 168), (169, 169), (170, 170), (171, 171), (172, 172), (173, 173), (174, 174), (175, 175), (176, 176), (177, 177), (178, 178), (179, 179), (180, 180), (181, 181), (182, 182), (183, 183), (184, 184), (185, 185), (186, 186), (187, 187), (188, 188), (189, 189), (190, 190), (191, 191), (192, 192), (193, 193), (194, 194), (195, 195), (196, 196), (197, 197), (198, 198), (199, 199), (200, 200), (201, 201), (202, 202), (203, 203), (204, 204), (205, 205), (206, 206), (207, 207), (208, 208), (209, 209), (210, 210), (211, 211), (212, 212), (213, 213), (214, 214), (215, 215), (216, 216), (217, 217), (218, 218), (219, 219), (220, 220), (221, 221), (222, 222), (223, 223), (224, 224), (225, 225), (226, 226), (227, 227), (228, 228), (229, 229), (230, 230), (231, 231), (232, 232), (233, 233), (234, 234), (235, 235), (236, 236), (237, 237), (238, 238), (239, 239), (240, 240), (241, 241), (242, 242), (243, 243), (244, 244), (245, 245), (246, 246), (247, 247), (248, 248), (249, 249), (250, 250), (251, 251), (252, 252), (253, 253), (254, 254), (255, 255), (256, 256), (257, 257), (258, 258), (259, 259), (260, 260), (261, 261), (262, 262), (263, 263), (264, 264), (265, 265), (266, 266), (267, 267), (268, 268), (269, 269), (270, 270), (271, 271), (272, 272), (273, 273), (274, 274), (275, 275), (276, 276), (277, 277), (278, 278), (279, 279), (280, 280), (281, 281), (282, 282), (283, 283), (284, 284), (285, 285), (286, 286), (287, 287), (288, 288), (289, 289), (290, 290), (291, 291), (292, 292), (293, 293), (294, 294), (295, 295), (296, 296), (297, 297), (298, 298), (299, 299), (300, 300), (301, 301), (302, 302), (303, 303), (304, 304), (305, 305), (306, 306), (307, 307), (308, 308), (309, 309), (310, 310), (311, 311), (312, 312), (313, 313), (314, 314), (315, 315), (316, 316), (317, 317), (318, 318), (319, 319), (320, 320), (321, 321), (322, 322), (323, 323), (324, 324), (325, 325), (326, 326), (327, 327), (328, 328), (329, 329), (330, 330), (331, 331), (332, 332), (333, 333), (334, 334), (335, 335), (336, 336), (337, 337), (338, 338), (339, 339), (340, 340), (341, 341), (342, 342), (343, 343), (344, 344), (345, 345), (346, 346), (347, 347), (348, 348), (349, 349), (350, 350), (351, 351), (352, 352), (353, 353), (354, 354), (355, 355), (356, 356), (357, 357), (358, 358), (359, 359), (360, 360), (361, 361), (362, 362), (363, 363), (364, 364)], default=0, null=True, verbose_name='Teaching days from the beginning of march till now'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='total_teaching_days',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99), (100, 100), (101, 101), (102, 102), (103, 103), (104, 104), (105, 105), (106, 106), (107, 107), (108, 108), (109, 109), (110, 110), (111, 111), (112, 112), (113, 113), (114, 114), (115, 115), (116, 116), (117, 117), (118, 118), (119, 119), (120, 120), (121, 121), (122, 122), (123, 123), (124, 124), (125, 125), (126, 126), (127, 127), (128, 128), (129, 129), (130, 130), (131, 131), (132, 132), (133, 133), (134, 134), (135, 135), (136, 136), (137, 137), (138, 138), (139, 139), (140, 140), (141, 141), (142, 142), (143, 143), (144, 144), (145, 145), (146, 146), (147, 147), (148, 148), (149, 149), (150, 150), (151, 151), (152, 152), (153, 153), (154, 154), (155, 155), (156, 156), (157, 157), (158, 158), (159, 159), (160, 160), (161, 161), (162, 162), (163, 163), (164, 164), (165, 165), (166, 166), (167, 167), (168, 168), (169, 169), (170, 170), (171, 171), (172, 172), (173, 173), (174, 174), (175, 175), (176, 176), (177, 177), (178, 178), (179, 179), (180, 180), (181, 181), (182, 182), (183, 183), (184, 184), (185, 185), (186, 186), (187, 187), (188, 188), (189, 189), (190, 190), (191, 191), (192, 192), (193, 193), (194, 194), (195, 195), (196, 196), (197, 197), (198, 198), (199, 199), (200, 200), (201, 201), (202, 202), (203, 203), (204, 204), (205, 205), (206, 206), (207, 207), (208, 208), (209, 209), (210, 210), (211, 211), (212, 212), (213, 213), (214, 214), (215, 215), (216, 216), (217, 217), (218, 218), (219, 219), (220, 220), (221, 221), (222, 222), (223, 223), (224, 224), (225, 225), (226, 226), (227, 227), (228, 228), (229, 229), (230, 230), (231, 231), (232, 232), (233, 233), (234, 234), (235, 235), (236, 236), (237, 237), (238, 238), (239, 239), (240, 240), (241, 241), (242, 242), (243, 243), (244, 244), (245, 245), (246, 246), (247, 247), (248, 248), (249, 249), (250, 250), (251, 251), (252, 252), (253, 253), (254, 254), (255, 255), (256, 256), (257, 257), (258, 258), (259, 259), (260, 260), (261, 261), (262, 262), (263, 263), (264, 264), (265, 265), (266, 266), (267, 267), (268, 268), (269, 269), (270, 270), (271, 271), (272, 272), (273, 273), (274, 274), (275, 275), (276, 276), (277, 277), (278, 278), (279, 279), (280, 280), (281, 281), (282, 282), (283, 283), (284, 284), (285, 285), (286, 286), (287, 287), (288, 288), (289, 289), (290, 290), (291, 291), (292, 292), (293, 293), (294, 294), (295, 295), (296, 296), (297, 297), (298, 298), (299, 299), (300, 300), (301, 301), (302, 302), (303, 303), (304, 304), (305, 305), (306, 306), (307, 307), (308, 308), (309, 309), (310, 310), (311, 311), (312, 312), (313, 313), (314, 314), (315, 315), (316, 316), (317, 317), (318, 318), (319, 319), (320, 320), (321, 321), (322, 322), (323, 323), (324, 324), (325, 325), (326, 326), (327, 327), (328, 328), (329, 329), (330, 330), (331, 331), (332, 332), (333, 333), (334, 334), (335, 335), (336, 336), (337, 337), (338, 338), (339, 339), (340, 340), (341, 341), (342, 342), (343, 343), (344, 344), (345, 345), (346, 346), (347, 347), (348, 348), (349, 349), (350, 350), (351, 351), (352, 352), (353, 353), (354, 354), (355, 355), (356, 356), (357, 357), (358, 358), (359, 359), (360, 360), (361, 361), (362, 362), (363, 363), (364, 364)], default=0, null=True, verbose_name='Teaching days completed since the beginning of the school year till the end of february'),
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0059_auto_20200325_0757.py b/student_registration/schools/migrations/0059_auto_20200325_0757.py
new file mode 100644
index 000000000..66d9c5669
--- /dev/null
+++ b/student_registration/schools/migrations/0059_auto_20200325_0757.py
@@ -0,0 +1,435 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-03-25 05:57
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0058_auto_20200324_1548'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_che_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_his_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_phy_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_che_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_his_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_phy_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_che_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_his_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_phy_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='implemented_de',
+ field=models.CharField(blank=True, choices=[('yes', '\u0646\u0639\u0645'), ('no', '\u0643\u0644\u0627')], default='no', max_length=3, verbose_name='\u0647\u0644 \u0646\u0641\u0630\u062a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f\u061f'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='total_teaching_days',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99), (100, 100), (101, 101), (102, 102), (103, 103), (104, 104), (105, 105), (106, 106), (107, 107), (108, 108), (109, 109), (110, 110), (111, 111), (112, 112), (113, 113), (114, 114), (115, 115), (116, 116), (117, 117), (118, 118), (119, 119), (120, 120), (121, 121), (122, 122), (123, 123), (124, 124), (125, 125), (126, 126), (127, 127), (128, 128), (129, 129), (130, 130), (131, 131), (132, 132), (133, 133), (134, 134), (135, 135), (136, 136), (137, 137), (138, 138), (139, 139), (140, 140), (141, 141), (142, 142), (143, 143), (144, 144), (145, 145), (146, 146), (147, 147), (148, 148), (149, 149), (150, 150), (151, 151), (152, 152), (153, 153), (154, 154), (155, 155), (156, 156), (157, 157), (158, 158), (159, 159), (160, 160), (161, 161), (162, 162), (163, 163), (164, 164), (165, 165), (166, 166), (167, 167), (168, 168), (169, 169), (170, 170), (171, 171), (172, 172), (173, 173), (174, 174), (175, 175), (176, 176), (177, 177), (178, 178), (179, 179), (180, 180), (181, 181), (182, 182), (183, 183), (184, 184), (185, 185), (186, 186), (187, 187), (188, 188), (189, 189), (190, 190), (191, 191), (192, 192), (193, 193), (194, 194), (195, 195), (196, 196), (197, 197), (198, 198), (199, 199), (200, 200), (201, 201), (202, 202), (203, 203), (204, 204), (205, 205), (206, 206), (207, 207), (208, 208), (209, 209), (210, 210), (211, 211), (212, 212), (213, 213), (214, 214), (215, 215), (216, 216), (217, 217), (218, 218), (219, 219), (220, 220), (221, 221), (222, 222), (223, 223), (224, 224), (225, 225), (226, 226), (227, 227), (228, 228), (229, 229), (230, 230), (231, 231), (232, 232), (233, 233), (234, 234), (235, 235), (236, 236), (237, 237), (238, 238), (239, 239), (240, 240), (241, 241), (242, 242), (243, 243), (244, 244), (245, 245), (246, 246), (247, 247), (248, 248), (249, 249), (250, 250), (251, 251), (252, 252), (253, 253), (254, 254), (255, 255), (256, 256), (257, 257), (258, 258), (259, 259), (260, 260), (261, 261), (262, 262), (263, 263), (264, 264), (265, 265), (266, 266), (267, 267), (268, 268), (269, 269), (270, 270), (271, 271), (272, 272), (273, 273), (274, 274), (275, 275), (276, 276), (277, 277), (278, 278), (279, 279), (280, 280), (281, 281), (282, 282), (283, 283), (284, 284), (285, 285), (286, 286), (287, 287), (288, 288), (289, 289), (290, 290), (291, 291), (292, 292), (293, 293), (294, 294), (295, 295), (296, 296), (297, 297), (298, 298), (299, 299), (300, 300), (301, 301), (302, 302), (303, 303), (304, 304), (305, 305), (306, 306), (307, 307), (308, 308), (309, 309), (310, 310), (311, 311), (312, 312), (313, 313), (314, 314), (315, 315), (316, 316), (317, 317), (318, 318), (319, 319), (320, 320), (321, 321), (322, 322), (323, 323), (324, 324), (325, 325), (326, 326), (327, 327), (328, 328), (329, 329), (330, 330), (331, 331), (332, 332), (333, 333), (334, 334), (335, 335), (336, 336), (337, 337), (338, 338), (339, 339), (340, 340), (341, 341), (342, 342), (343, 343), (344, 344), (345, 345), (346, 346), (347, 347), (348, 348), (349, 349), (350, 350), (351, 351), (352, 352), (353, 353), (354, 354), (355, 355), (356, 356), (357, 357), (358, 358), (359, 359), (360, 360), (361, 361), (362, 362), (363, 363), (364, 364)], default=0, null=True, verbose_name='\u0623\u064a\u0627\u0645 \u0627\u0644\u062a\u062f\u0631\u064a\u0633 \u0627\u0644\u0645\u0643\u062a\u0645\u0644\u0629 \u0645\u0646\u0630 \u0628\u062f\u0627\u064a\u0629 \u0627\u0644\u0639\u0627\u0645 \u0627\u0644\u062f\u0631\u0627\u0633\u064a \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629\xa0\u0641\u0628\u0631\u0627\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='total_teaching_days_tillnow',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99), (100, 100), (101, 101), (102, 102), (103, 103), (104, 104), (105, 105), (106, 106), (107, 107), (108, 108), (109, 109), (110, 110), (111, 111), (112, 112), (113, 113), (114, 114), (115, 115), (116, 116), (117, 117), (118, 118), (119, 119), (120, 120), (121, 121), (122, 122), (123, 123), (124, 124), (125, 125), (126, 126), (127, 127), (128, 128), (129, 129), (130, 130), (131, 131), (132, 132), (133, 133), (134, 134), (135, 135), (136, 136), (137, 137), (138, 138), (139, 139), (140, 140), (141, 141), (142, 142), (143, 143), (144, 144), (145, 145), (146, 146), (147, 147), (148, 148), (149, 149), (150, 150), (151, 151), (152, 152), (153, 153), (154, 154), (155, 155), (156, 156), (157, 157), (158, 158), (159, 159), (160, 160), (161, 161), (162, 162), (163, 163), (164, 164), (165, 165), (166, 166), (167, 167), (168, 168), (169, 169), (170, 170), (171, 171), (172, 172), (173, 173), (174, 174), (175, 175), (176, 176), (177, 177), (178, 178), (179, 179), (180, 180), (181, 181), (182, 182), (183, 183), (184, 184), (185, 185), (186, 186), (187, 187), (188, 188), (189, 189), (190, 190), (191, 191), (192, 192), (193, 193), (194, 194), (195, 195), (196, 196), (197, 197), (198, 198), (199, 199), (200, 200), (201, 201), (202, 202), (203, 203), (204, 204), (205, 205), (206, 206), (207, 207), (208, 208), (209, 209), (210, 210), (211, 211), (212, 212), (213, 213), (214, 214), (215, 215), (216, 216), (217, 217), (218, 218), (219, 219), (220, 220), (221, 221), (222, 222), (223, 223), (224, 224), (225, 225), (226, 226), (227, 227), (228, 228), (229, 229), (230, 230), (231, 231), (232, 232), (233, 233), (234, 234), (235, 235), (236, 236), (237, 237), (238, 238), (239, 239), (240, 240), (241, 241), (242, 242), (243, 243), (244, 244), (245, 245), (246, 246), (247, 247), (248, 248), (249, 249), (250, 250), (251, 251), (252, 252), (253, 253), (254, 254), (255, 255), (256, 256), (257, 257), (258, 258), (259, 259), (260, 260), (261, 261), (262, 262), (263, 263), (264, 264), (265, 265), (266, 266), (267, 267), (268, 268), (269, 269), (270, 270), (271, 271), (272, 272), (273, 273), (274, 274), (275, 275), (276, 276), (277, 277), (278, 278), (279, 279), (280, 280), (281, 281), (282, 282), (283, 283), (284, 284), (285, 285), (286, 286), (287, 287), (288, 288), (289, 289), (290, 290), (291, 291), (292, 292), (293, 293), (294, 294), (295, 295), (296, 296), (297, 297), (298, 298), (299, 299), (300, 300), (301, 301), (302, 302), (303, 303), (304, 304), (305, 305), (306, 306), (307, 307), (308, 308), (309, 309), (310, 310), (311, 311), (312, 312), (313, 313), (314, 314), (315, 315), (316, 316), (317, 317), (318, 318), (319, 319), (320, 320), (321, 321), (322, 322), (323, 323), (324, 324), (325, 325), (326, 326), (327, 327), (328, 328), (329, 329), (330, 330), (331, 331), (332, 332), (333, 333), (334, 334), (335, 335), (336, 336), (337, 337), (338, 338), (339, 339), (340, 340), (341, 341), (342, 342), (343, 343), (344, 344), (345, 345), (346, 346), (347, 347), (348, 348), (349, 349), (350, 350), (351, 351), (352, 352), (353, 353), (354, 354), (355, 355), (356, 356), (357, 357), (358, 358), (359, 359), (360, 360), (361, 361), (362, 362), (363, 363), (364, 364)], default=0, null=True, verbose_name='\u0623\u064a\u0627\u0645 \u0627\u0644\u062a\u062f\u0631\u064a\u0633 \u0645\u0646 \u0628\u062f\u0627\u064a\u0629 \u0645\u0627\u0631\u0633 \u062d\u062a\u0649 \u0627\u0644\u0622\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluationdt',
+ name='completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='evaluationdt',
+ name='remaining_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062e\u0644\u0627\u0644 \u0634\u0647\u0631 \u0627\u0630\u0627\u0631'),
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0060_auto_20200325_0802.py b/student_registration/schools/migrations/0060_auto_20200325_0802.py
new file mode 100644
index 000000000..78981776c
--- /dev/null
+++ b/student_registration/schools/migrations/0060_auto_20200325_0802.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-03-25 06:02
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0059_auto_20200325_0757'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='evaluation',
+ name='implemented_de_2',
+ field=models.CharField(blank=True, choices=[('yes', '\u0646\u0639\u0645'), ('no', '\u0643\u0644\u0627')], default='no', max_length=3, verbose_name='\u0647\u0644 \u0646\u0641\u0630\u062a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f\u061f'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='implemented_de_3',
+ field=models.CharField(blank=True, choices=[('yes', '\u0646\u0639\u0645'), ('no', '\u0643\u0644\u0627')], default='no', max_length=3, verbose_name='\u0647\u0644 \u0646\u0641\u0630\u062a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f\u061f'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='implemented_de_9',
+ field=models.CharField(blank=True, choices=[('yes', '\u0646\u0639\u0645'), ('no', '\u0643\u0644\u0627')], default='no', max_length=3, verbose_name='\u0647\u0644 \u0646\u0641\u0630\u062a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f\u061f'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='implemented_de_prep',
+ field=models.CharField(blank=True, choices=[('yes', '\u0646\u0639\u0645'), ('no', '\u0643\u0644\u0627')], default='no', max_length=3, verbose_name='\u0647\u0644 \u0646\u0641\u0630\u062a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f\u061f'),
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0061_auto_20200412_1826.py b/student_registration/schools/migrations/0061_auto_20200412_1826.py
new file mode 100644
index 000000000..bbe188e82
--- /dev/null
+++ b/student_registration/schools/migrations/0061_auto_20200412_1826.py
@@ -0,0 +1,18 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-04-12 15:26
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0060_auto_20200325_0802'),
+ ]
+
+ operations = [
+
+
+
+ ]
diff --git a/student_registration/schools/migrations/0062_auto_20200412_1830.py b/student_registration/schools/migrations/0062_auto_20200412_1830.py
new file mode 100644
index 000000000..e3e1f3a7e
--- /dev/null
+++ b/student_registration/schools/migrations/0062_auto_20200412_1830.py
@@ -0,0 +1,45 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-04-12 15:30
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0061_auto_20200412_1826'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='PublicHolidays',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('holiday', models.DateField(unique=True, verbose_name='Public holidays')),
+ ],
+ ),
+ # migrations.RemoveField(
+ # model_name='evaluationdt',
+ # name='classroom',
+ # ),
+ # migrations.RemoveField(
+ # model_name='evaluationdt',
+ # name='evaluation',
+ # ),
+ # migrations.RemoveField(
+ # model_name='evaluationdt',
+ # name='subject',
+ # ),
+ # migrations.DeleteModel(
+ # name='Subject',
+ # ),
+ # migrations.AddField(
+ # model_name='classroom',
+ # name='classroom_type',
+ # field=models.CharField(blank=True, max_length=2, null=True),
+ # ),
+ # migrations.DeleteModel(
+ # name='EvaluationDt',
+ # ),
+ ]
diff --git a/student_registration/schools/migrations/0063_schl_subject_schl_survey.py b/student_registration/schools/migrations/0063_schl_subject_schl_survey.py
new file mode 100644
index 000000000..530999ccb
--- /dev/null
+++ b/student_registration/schools/migrations/0063_schl_subject_schl_survey.py
@@ -0,0 +1,42 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-04-12 16:13
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+import django.utils.timezone
+import model_utils.fields
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0062_auto_20200412_1830'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Schl_Subject',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('name', models.CharField(max_length=100, unique=True, verbose_name='Subject')),
+ ],
+ ),
+ migrations.CreateModel(
+ name='Schl_Survey',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
+ ('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
+ ('teachingdays_tillfeb', models.IntegerField(blank=True, null=True)),
+ ('teachingdays_frommars', models.IntegerField(blank=True, null=True)),
+ ('teachingdays_remaining', models.IntegerField(blank=True, null=True)),
+ ('classroom', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.ClassRoom', verbose_name='\u0627\u0644\u0635\u0641')),
+ ('schl_subject', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.Schl_Subject', verbose_name='Course')),
+ ('school', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.School', verbose_name='\u0627\u0644\u0645\u062f\u0631\u0633\u0629')),
+ ],
+ options={
+ 'abstract': False,
+ },
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0064_auto_20200413_1212.py b/student_registration/schools/migrations/0064_auto_20200413_1212.py
new file mode 100644
index 000000000..2dcbc0cad
--- /dev/null
+++ b/student_registration/schools/migrations/0064_auto_20200413_1212.py
@@ -0,0 +1,80 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-04-13 09:12
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+import django.utils.timezone
+import model_utils.fields
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0063_schl_subject_schl_survey'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Schl_Survey_Class',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
+ ('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
+ ('de_implemented', models.BooleanField(default=False, verbose_name='Distance education implemented ?')),
+ ('de_usedmethod_1', models.TextField(blank=True, null=True, verbose_name='The methods used during the distance education plan')),
+ ('de_challenge_1', models.TextField(blank=True, null=True, verbose_name='The challenges during the distance education plan')),
+ ('de_negativenotes_1', models.TextField(blank=True, null=True, verbose_name='The negative notes ')),
+ ('de_positivenotes_1', models.TextField(blank=True, null=True, verbose_name='The negative notes ')),
+ ('de_interactedstudents_1', models.TextField(blank=True, null=True, verbose_name='The number of interacted students ')),
+ ('de_usedmethod_2', models.TextField(blank=True, null=True, verbose_name='The methods used during the distance education plan')),
+ ('de_challenge_2', models.TextField(blank=True, null=True, verbose_name='The challenges during the distance education plan')),
+ ('de_negativenotes_2', models.TextField(blank=True, null=True, verbose_name='The negative notes ')),
+ ('de_positivenotes_2', models.TextField(blank=True, null=True, verbose_name='The negative notes ')),
+ ('de_interactedstudents_2', models.TextField(blank=True, null=True, verbose_name='The number of interacted students ')),
+ ('de_usedmethod_3', models.TextField(blank=True, null=True, verbose_name='The methods used during the distance education plan')),
+ ('de_challenge_3', models.TextField(blank=True, null=True, verbose_name='The challenges during the distance education plan')),
+ ('de_negativenotes_3', models.TextField(blank=True, null=True, verbose_name='The negative notes ')),
+ ('de_positivenotes_3', models.TextField(blank=True, null=True, verbose_name='The negative notes ')),
+ ('de_interactedstudents_3', models.TextField(blank=True, null=True, verbose_name='The number of interacted students ')),
+ ('de_usedmethod_4', models.TextField(blank=True, null=True, verbose_name='The methods used during the distance education plan')),
+ ('de_challenge_4', models.TextField(blank=True, null=True, verbose_name='The challenges during the distance education plan')),
+ ('de_negativenotes_4', models.TextField(blank=True, null=True, verbose_name='The negative notes ')),
+ ('de_positivenotes_4', models.TextField(blank=True, null=True, verbose_name='The negative notes ')),
+ ('de_interactedstudents_4', models.TextField(blank=True, null=True, verbose_name='The number of interacted students ')),
+ ('de_usedmethod_5', models.TextField(blank=True, null=True, verbose_name='The methods used during the distance education plan')),
+ ('de_challenge_5', models.TextField(blank=True, null=True, verbose_name='The challenges during the distance education plan')),
+ ('de_negativenotes_5', models.TextField(blank=True, null=True, verbose_name='The negative notes ')),
+ ('de_positivenotes_5', models.TextField(blank=True, null=True, verbose_name='The negative notes ')),
+ ('de_interactedstudents_5', models.TextField(blank=True, null=True, verbose_name='The number of interacted students ')),
+ ('de_usedmethod_6', models.TextField(blank=True, null=True, verbose_name='The methods used during the distance education plan')),
+ ('de_challenge_6', models.TextField(blank=True, null=True, verbose_name='The challenges during the distance education plan')),
+ ('de_negativenotes_6', models.TextField(blank=True, null=True, verbose_name='The negative notes ')),
+ ('de_positivenotes_6', models.TextField(blank=True, null=True, verbose_name='The negative notes ')),
+ ('de_interactedstudents_6', models.TextField(blank=True, null=True, verbose_name='The number of interacted students ')),
+ ('de_usedmethod_7', models.TextField(blank=True, null=True, verbose_name='The methods used during the distance education plan')),
+ ('de_challenge_7', models.TextField(blank=True, null=True, verbose_name='The challenges during the distance education plan')),
+ ('de_negativenotes_7', models.TextField(blank=True, null=True, verbose_name='The negative notes ')),
+ ('de_positivenotes_7', models.TextField(blank=True, null=True, verbose_name='The negative notes ')),
+ ('de_interactedstudents_7', models.TextField(blank=True, null=True, verbose_name='The number of interacted students ')),
+ ('de_usedmethod_8', models.TextField(blank=True, null=True, verbose_name='The methods used during the distance education plan')),
+ ('de_challenge_8', models.TextField(blank=True, null=True, verbose_name='The challenges during the distance education plan')),
+ ('de_negativenotes_8', models.TextField(blank=True, null=True, verbose_name='The negative notes ')),
+ ('de_positivenotes_8', models.TextField(blank=True, null=True, verbose_name='The negative notes ')),
+ ('de_interactedstudents_8', models.TextField(blank=True, null=True, verbose_name='The number of interacted students ')),
+ ('nbstudents', models.IntegerField(blank=True, null=True)),
+ ('de_nbstudents', models.IntegerField(blank=True, null=True)),
+ ('nbteachers', models.IntegerField(blank=True, null=True)),
+ ('de_nbteachers', models.IntegerField(blank=True, null=True)),
+ ('classroom', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.ClassRoom', verbose_name='\u0627\u0644\u0635\u0641')),
+ ('school', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.School', verbose_name='\u0627\u0644\u0645\u062f\u0631\u0633\u0629')),
+ ],
+ options={
+ 'abstract': False,
+ },
+ ),
+ migrations.AlterModelOptions(
+ name='schl_subject',
+ options={'verbose_name_plural': 'Subjects'},
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0065_auto_20200423_1024.py b/student_registration/schools/migrations/0065_auto_20200423_1024.py
new file mode 100644
index 000000000..b5d300785
--- /dev/null
+++ b/student_registration/schools/migrations/0065_auto_20200423_1024.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-04-23 07:24
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0064_auto_20200413_1212'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='classroom',
+ name='classroom_type',
+ field=models.CharField(blank=True, max_length=2, null=True),
+ ),
+ migrations.AlterField(
+ model_name='classroom',
+ name='classroom_type',
+ field=models.CharField(blank=True, choices=[('PV', 'Private School'), ('PU', 'Public School')], max_length=2, null=True),
+ ),
+ ]
diff --git a/student_registration/schools/migrations/0066_auto_20200428_1043.py b/student_registration/schools/migrations/0066_auto_20200428_1043.py
new file mode 100644
index 000000000..6ec5f9c2d
--- /dev/null
+++ b/student_registration/schools/migrations/0066_auto_20200428_1043.py
@@ -0,0 +1,410 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-04-28 07:43
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0065_auto_20200423_1024'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c1_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c2_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c3_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c4_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c5_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c6_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_che_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_his_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_phy_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c7_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_che_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_his_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_phy_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c8_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_che_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_his_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_phy_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='c9_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_ara_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_civic_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_eng_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_fr_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_geo_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_math_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ migrations.AlterField(
+ model_name='evaluation',
+ name='cprep_sc_completed_de',
+ field=models.IntegerField(blank=True, choices=[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (17, 17), (18, 18), (19, 19), (20, 20), (21, 21), (22, 22), (23, 23), (24, 24), (25, 25), (26, 26), (27, 27), (28, 28), (29, 29), (30, 30), (31, 31), (32, 32), (33, 33), (34, 34), (35, 35), (36, 36), (37, 37), (38, 38), (39, 39), (40, 40), (41, 41), (42, 42), (43, 43), (44, 44), (45, 45), (46, 46), (47, 47), (48, 48), (49, 49), (50, 50), (51, 51), (52, 52), (53, 53), (54, 54), (55, 55), (56, 56), (57, 57), (58, 58), (59, 59), (60, 60), (61, 61), (62, 62), (63, 63), (64, 64), (65, 65), (66, 66), (67, 67), (68, 68), (69, 69), (70, 70), (71, 71), (72, 72), (73, 73), (74, 74), (75, 75), (76, 76), (77, 77), (78, 78), (79, 79), (80, 80), (81, 81), (82, 82), (83, 83), (84, 84), (85, 85), (86, 86), (87, 87), (88, 88), (89, 89), (90, 90), (91, 91), (92, 92), (93, 93), (94, 94), (95, 95), (96, 96), (97, 97), (98, 98), (99, 99)], default=0, null=True, verbose_name='\u0639\u062f\u062f \u0627\u0644\u062f\u0631\u0648\u0633 \u0627\u0644\u0645\u0646\u062c\u0632\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0644\u064a\u0645 \u0639\u0646 \u0628\u0639\u062f \u062d\u062a\u0649 \u0646\u0647\u0627\u064a\u0629 \u0634\u0647\u0631 \u0646\u064a\u0633\u0627\u0646'),
+ ),
+ ]
diff --git a/student_registration/schools/models.py b/student_registration/schools/models.py
index 608d60837..39d08a449 100644
--- a/student_registration/schools/models.py
+++ b/student_registration/schools/models.py
@@ -1,5 +1,5 @@
from __future__ import unicode_literals, absolute_import, division
-
+from django.conf import settings
from django.db import models
from model_utils import Choices
from model_utils.models import TimeStampedModel
@@ -7,6 +7,29 @@
from django.utils.translation import ugettext as _
# from django.contrib.gis.db import models
from student_registration.locations.models import Location
+from student_registration.staffs.models import Bank
+from django.core.validators import MaxValueValidator, MinValueValidator
+
+
+class Coordinator(models.Model):
+ name = models.CharField(max_length=200, unique=True)
+
+ class Meta:
+ ordering = ['name']
+ verbose_name = 'Coordinator'
+
+ def __unicode__(self):
+ return self.name
+
+
+class PublicHolidays(models.Model):
+ holiday = models.DateField(
+ unique=True,
+ verbose_name=_('Public holidays')
+ )
+
+ def __unicode__(self):
+ return self.holiday.strftime("%m/%d/%Y")
class School(models.Model):
@@ -78,11 +101,18 @@ class School(models.Model):
blank=True, null=True,
verbose_name=_('School IT phone number')
)
- field_coordinator_name = models.CharField(
- max_length=100,
+ #field_coordinator_name = models.CharField(
+ # max_length=100,
+ # blank=True, null=True,
+ # verbose_name=_('Field coordinator name')
+ #)
+ coordinator = models.ForeignKey(
+ Coordinator,
blank=True, null=True,
- verbose_name=_('Field coordinator name')
+ verbose_name=_('coordinator'),
+ related_name='+',
)
+
is_2nd_shift = models.BooleanField(
blank=True,
default=False,
@@ -131,7 +161,47 @@ class School(models.Model):
verbose_name=_('School location'),
related_name='+',
)
-
+ is_closed = models.BooleanField(
+ default=False,
+ blank=True,
+ verbose_name=_('is closed')
+ )
+ bank_Base1 = models.ForeignKey(
+ Bank,
+ blank=True, null=True,
+ related_name='+',
+ verbose_name=_('Bank'),
+ )
+ branch_base1 = models.CharField(
+ max_length=60,
+ blank=True,
+ null=True,
+ verbose_name=_('Branch')
+ )
+ iban_base1 = models.CharField(
+ max_length=100,
+ blank=True,
+ null=True,
+ verbose_name=_('IBAN LL')
+ )
+ bank_Base2 = models.ForeignKey(
+ Bank,
+ blank=True, null=True,
+ related_name='+',
+ verbose_name=_('Bank'),
+ )
+ branch_base2 = models.CharField(
+ max_length=60,
+ blank=True,
+ null=True,
+ verbose_name=_('Branch')
+ )
+ iban_base2 = models.CharField(
+ max_length=100,
+ blank=True,
+ null=True,
+ verbose_name=_('IBAN $')
+ )
class Meta:
ordering = ['number']
@@ -187,7 +257,7 @@ def location_parent_name(self):
def total_registered(self):
from student_registration.enrollments.models import Enrollment
return Enrollment.objects.filter(
- education_year__current_year=True,
+ education_year__current_year=True, disabled=False,
school_id=self.id
).count()
@@ -195,7 +265,7 @@ def total_registered(self):
def total_registered_2ndshift(self):
from student_registration.enrollments.models import Enrollment
return Enrollment.objects.filter(
- education_year__current_year=True,
+ education_year__current_year=True, moved=False, dropout_status=False,
school_id=self.id
).count()
@@ -264,6 +334,25 @@ def __unicode__(self):
class EducationLevel(models.Model):
name = models.CharField(max_length=45, unique=True)
note = models.IntegerField(blank=True, null=True)
+ with_math = models.BooleanField(blank=True, default=False)
+ with_science = models.BooleanField(blank=True, default=False)
+ with_arabic = models.BooleanField(blank=True, default=False)
+ with_language = models.BooleanField(blank=True, default=False)
+ coefficient_score = models.FloatField(blank=True, null=True)
+ new_calculation = models.BooleanField(blank=True, default=False)
+
+ @property
+ def sum_subjects(self):
+ sum_subject = 0
+ if self.with_math:
+ sum_subject += 1
+ if self.with_science:
+ sum_subject += 1
+ if self.with_arabic:
+ sum_subject += 1
+ if self.with_language:
+ sum_subject += 1
+ return sum_subject
class Meta:
ordering = ['id']
@@ -296,6 +385,13 @@ def __unicode__(self):
class ClassRoom(models.Model):
name = models.CharField(max_length=45, unique=True)
+ classroom_type = models.CharField(
+ blank=True, null=True, max_length=2,
+ choices=Choices(
+ ('PV', _('Private School')),
+ ('PU', _('Public School')),
+ ),
+ )
class Meta:
ordering = ['id']
@@ -308,6 +404,26 @@ def __unicode__(self):
class CLMRound(models.Model):
name = models.CharField(max_length=45, unique=True)
+ current_round_bln = models.BooleanField(blank=True, default=False)
+ current_round_abln = models.BooleanField(blank=True, default=False)
+ current_round_cbece = models.BooleanField(blank=True, default=False)
+
+ start_date_bln = models.DateField(blank=True, null=True)
+ end_date_bln = models.DateField(blank=True, null=True)
+ start_date_bln_edit = models.DateField(blank=True, null=True)
+ end_date_bln_edit = models.DateField(blank=True, null=True)
+
+ start_date_abln = models.DateField(blank=True, null=True)
+ end_date_abln = models.DateField(blank=True, null=True)
+ start_date_abln_edit = models.DateField(blank=True, null=True)
+ end_date_abln_edit = models.DateField(blank=True, null=True)
+
+ start_date_cbece = models.DateField(blank=True, null=True)
+ end_date_cbece = models.DateField(blank=True, null=True)
+ start_date_cbece_edit = models.DateField(blank=True, null=True)
+ end_date_cbece_edit = models.DateField(blank=True, null=True)
+
+
class Meta:
ordering = ['name']
verbose_name = "CLM Round"
@@ -388,6 +504,10 @@ def __unicode__(self):
class ALPAssignmentMatrix(models.Model):
+ MATRIX_TYPE =(
+ ('O', _('Old')),
+ ('N', _('New')),
+ )
level = models.ForeignKey(
EducationLevel,
blank=True, null=True,
@@ -401,6 +521,7 @@ class ALPAssignmentMatrix(models.Model):
range_start = models.FloatField(blank=True, null=True)
range_end = models.FloatField(blank=True, null=True)
+ matrix_type = models.CharField(blank=True, null=True, max_length=1, choices=MATRIX_TYPE)
@property
def range(self):
@@ -447,3 +568,1973 @@ class Meta:
def __unicode__(self):
return self.name
+
+
+class Setup(models.Model):
+ staff_seq = models.IntegerField(
+ blank=True, null=True)
+
+
+class class_section(TimeStampedModel):
+
+ school = models.ForeignKey(
+ School,
+ verbose_name=_('school'),
+ related_name='+',
+ )
+ classroom = models.ForeignKey(
+ ClassRoom,
+ blank=True, null=True,
+ verbose_name=_('class'),
+ related_name='+',
+ )
+ section = models.ForeignKey(
+ Section,
+ blank=True, null=True,
+ verbose_name=_('section'),
+ related_name='+',
+ )
+ closed_date = models.DateField(
+ blank=True,
+ null=True,
+ verbose_name=_('Closed Date')
+ )
+ is_closed = models.BooleanField(
+ blank=True,
+ default=False,
+ verbose_name=_('is closed')
+ )
+ school_type = models.CharField(
+ max_length=15,
+ blank=True, null=True,
+ verbose_name=_('school type')
+ )
+ education_year = models.ForeignKey(
+ EducationYear,
+ blank=True, null=True,
+ related_name='+',
+ verbose_name=_('Education year')
+ )
+
+
+class Evaluation(TimeStampedModel):
+ school = models.ForeignKey(
+ School,
+ blank=False, null=True,
+ related_name='+',
+ verbose_name=_('School')
+ )
+ education_year = models.ForeignKey(
+ EducationYear,
+ blank=True, null=True,
+ related_name='+',
+ verbose_name=_('Education year')
+ )
+ owner = models.ForeignKey(
+ settings.AUTH_USER_MODEL,
+ blank=False, null=True,
+ related_name='+',
+ verbose_name=_('Created by')
+ )
+ total_teaching_days = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Teaching days completed since the beginning of the school year till the end of february'),
+ default=0,
+ choices=((x, x) for x in range(0, 365))
+ )
+ total_teaching_days_tillnow = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Teaching days from the beginning of march till now'),
+ default=0,
+ choices=((x, x) for x in range(0, 365))
+ )
+
+ implemented_de = models.CharField(
+ blank=True, default='no',
+ max_length=3,
+ choices=Choices(
+ ('yes', _('Yes')),
+ ('no', _('No')),
+ ),
+ verbose_name=_('Have you implemented distance education ?')
+ )
+ reasons_no_de = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('Determine the reasons')
+ )
+ challenges_de = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The challenges that you faced during distance education')
+ )
+ steps_de = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('What are the steps followed in distance education')
+ )
+ evaluate_steps_de = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('Evaluate the steps followed in distance education')
+ )
+
+ implemented_de_2 = models.CharField(
+ blank=True, default='no',
+ max_length=3,
+ choices=Choices(
+ ('yes', _('Yes')),
+ ('no', _('No')),
+ ),
+ verbose_name=_('Have you implemented distance education ?')
+ )
+ reasons_no_de_2 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('Determine the reasons')
+ )
+ challenges_de_2 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The challenges that you faced during distance education')
+ )
+ steps_de_2 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('What are the steps followed in distance education')
+ )
+ evaluate_steps_de_2 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('Evaluate the steps followed in distance education')
+ )
+
+ implemented_de_3 = models.CharField(
+ blank=True, default='no',
+ max_length=3,
+ choices=Choices(
+ ('yes', _('Yes')),
+ ('no', _('No')),
+ ),
+ verbose_name=_('Have you implemented distance education ?')
+ )
+ reasons_no_de_3 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('Determine the reasons')
+ )
+ challenges_de_3 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The challenges that you faced during distance education')
+ )
+ steps_de_3 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('What are the steps followed in distance education')
+ )
+ evaluate_steps_de_3 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('Evaluate the steps followed in distance education')
+ )
+ other_notes_de = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('Comments')
+ )
+
+ c2_eng_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c2_eng_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c2_eng_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c2_fr_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c2_fr_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c2_fr_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c2_math_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c2_math_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c2_math_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c2_sc_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c2_sc_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c2_sc_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c2_ara_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c2_ara_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c2_ara_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c2_civic_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c2_civic_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c2_civic_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c2_geo_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c2_geo_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c2_geo_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+
+ c3_eng_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c3_eng_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c3_eng_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c3_fr_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c3_fr_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c3_fr_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c3_math_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c3_math_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c3_math_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c3_sc_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c3_sc_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c3_sc_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c3_ara_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c3_ara_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c3_ara_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c3_civic_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c3_civic_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c3_civic_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c3_geo_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c3_geo_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c3_geo_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c4_eng_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c4_eng_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c4_eng_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c4_fr_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c4_fr_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c4_fr_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c4_math_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c4_math_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c4_math_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c4_sc_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c4_sc_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c4_sc_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c4_ara_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c4_ara_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c4_ara_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c4_civic_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c4_civic_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c4_civic_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c4_geo_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c4_geo_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c4_geo_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c5_eng_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c5_eng_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c5_eng_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c5_fr_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c5_fr_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c5_fr_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c5_math_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c5_math_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c5_math_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c5_sc_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c5_sc_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c5_sc_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c5_ara_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c5_ara_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c5_ara_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c5_civic_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c5_civic_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c5_civic_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c5_geo_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c5_geo_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c5_geo_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c1_eng_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c1_eng_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c1_eng_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c1_fr_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c1_fr_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c1_fr_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c1_math_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c1_math_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c1_math_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c1_sc_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c1_sc_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c1_sc_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c1_ara_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c1_ara_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c1_ara_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c1_civic_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c1_civic_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c1_civic_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c1_geo_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c1_geo_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c1_geo_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c6_eng_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c6_eng_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c6_eng_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c6_fr_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c6_fr_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c6_fr_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c6_math_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c6_math_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c6_math_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c6_sc_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c6_sc_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c6_sc_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c6_ara_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c6_ara_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c6_ara_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c6_civic_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c6_civic_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c6_civic_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c6_geo_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c6_geo_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c6_geo_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ cprep_eng_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ cprep_eng_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ cprep_eng_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ cprep_fr_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ cprep_fr_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ cprep_fr_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ cprep_math_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ cprep_math_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ cprep_math_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ cprep_sc_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ cprep_sc_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ cprep_sc_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ cprep_ara_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ cprep_ara_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ cprep_ara_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ cprep_civic_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ cprep_civic_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ cprep_civic_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ cprep_geo_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ cprep_geo_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ cprep_geo_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_eng_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_eng_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_eng_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_fr_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_fr_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_fr_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_math_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_math_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_math_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_sc_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_sc_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_sc_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_ara_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_ara_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_ara_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_civic_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_civic_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_civic_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_geo_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_geo_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_geo_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_his_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_his_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_his_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_phy_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_phy_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_phy_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_che_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_che_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c7_che_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_eng_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_eng_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_eng_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_fr_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_fr_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_fr_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_math_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_math_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_math_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_sc_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_sc_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_sc_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_ara_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_ara_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_ara_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_civic_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_civic_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_civic_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_geo_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_geo_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_geo_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_his_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_his_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_his_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_phy_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_phy_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_phy_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_che_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_che_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c8_che_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_eng_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_eng_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_eng_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_fr_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_fr_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_fr_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_math_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_math_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_math_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_sc_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_sc_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_sc_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_ara_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_ara_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_ara_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_civic_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_civic_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_civic_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_geo_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_geo_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_geo_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_his_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_his_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_his_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_phy_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_phy_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_phy_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_che_completed = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('The number of lessons completed till february'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_che_completed_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons accomplished through distance education in march'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_che_remaining_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of lessons remaining'),
+ default=0,
+ choices=((x, x) for x in range(0, 100))
+ )
+ c9_total_std = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Total of students'),
+ default=0,
+ choices=((x, x) for x in range(0, 50))
+ )
+ c9_total_std_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Total of students they follow distance education'),
+ default=0,
+ choices=((x, x) for x in range(0, 50))
+ )
+
+ implemented_de_9 = models.CharField(
+ blank=True, default='no',
+ max_length=3,
+ choices=Choices(
+ ('yes', _('Yes')),
+ ('no', _('No')),
+ ),
+ verbose_name=_('Have you implemented distance education ?')
+ )
+ reasons_no_de_9 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('Determine the reasons')
+ )
+ challenges_de_9 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The challenges that you faced during distance education')
+ )
+ steps_de_9 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('What are the steps followed in distance education')
+ )
+ evaluate_steps_de_9 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('Evaluate the steps followed in distance education')
+ )
+
+ implemented_de_prep = models.CharField(
+ blank=True, default='no',
+ max_length=3,
+ choices=Choices(
+ ('yes', _('Yes')),
+ ('no', _('No')),
+ ),
+ verbose_name=_('Have you implemented distance education ?')
+ )
+ reasons_no_de_prep = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('Determine the reasons')
+ )
+ challenges_de_prep = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The challenges that you faced during distance education')
+ )
+ steps_de_prep = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('What are the steps followed in distance education')
+ )
+ evaluate_steps_de_prep = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('Evaluate the steps followed in distance education')
+ )
+
+ c9_total_teachers = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Total of teachers'),
+ default=0,
+ choices=((x, x) for x in range(0, 50))
+ )
+ c9_total_teachers_de = models.IntegerField(
+ blank=True, null=True,
+ verbose_name=_('Number of teachers who have committed to distance education'),
+ default=0,
+ choices=((x, x) for x in range(0, 50))
+ )
+
+ def __unicode__(self):
+ return self.school.name
+
+
+class Schl_Subject(models.Model):
+ name = models.CharField(
+ max_length=100,
+ unique=True,
+ verbose_name=_('Subject')
+ )
+ class Meta:
+ verbose_name_plural = "Subjects"
+
+ def __unicode__(self):
+ return self.name
+
+
+class Schl_Survey(TimeStampedModel):
+ school = models.ForeignKey(
+ School,
+ blank=True, null=True,
+ verbose_name=_('School'),
+ related_name='+',
+ )
+ classroom = models.ForeignKey(
+ ClassRoom,
+ blank=True, null=True,
+ verbose_name=_('Class'),
+ related_name='+',
+ )
+ schl_subject = models.ForeignKey(
+ Schl_Subject,
+ blank=True, null=True,
+ verbose_name=_('Course'),
+ related_name='+',
+ )
+ teachingdays_tillfeb = models.IntegerField(
+ blank=True, null=True,
+ )
+ teachingdays_frommars = models.IntegerField(
+ blank=True, null=True,
+ )
+ teachingdays_remaining = models.IntegerField(
+ blank=True, null=True,
+ )
+
+
+class Schl_Survey_Class(TimeStampedModel):
+ school = models.ForeignKey(
+ School,
+ blank=True, null=True,
+ verbose_name=_('School'),
+ related_name='+',
+ )
+ classroom = models.ForeignKey(
+ ClassRoom,
+ blank=True, null=True,
+ verbose_name=_('Class'),
+ related_name='+',
+ )
+ de_implemented = models.BooleanField(
+ blank=True,
+ default=False,
+ verbose_name=_('Distance education implemented ?')
+ )
+ de_usedmethod_1 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The methods used during the distance education plan')
+ )
+ de_challenge_1 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The challenges during the distance education plan')
+ )
+ de_negativenotes_1 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The negative notes ')
+ )
+ de_positivenotes_1 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The negative notes ')
+ )
+ de_interactedstudents_1 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The number of interacted students ')
+ )
+
+ de_usedmethod_2 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The methods used during the distance education plan')
+ )
+ de_challenge_2 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The challenges during the distance education plan')
+ )
+ de_negativenotes_2 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The negative notes ')
+ )
+ de_positivenotes_2 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The negative notes ')
+ )
+ de_interactedstudents_2 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The number of interacted students ')
+ )
+
+ de_usedmethod_3 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The methods used during the distance education plan')
+ )
+ de_challenge_3 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The challenges during the distance education plan')
+ )
+ de_negativenotes_3 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The negative notes ')
+ )
+ de_positivenotes_3 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The negative notes ')
+ )
+ de_interactedstudents_3 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The number of interacted students ')
+ )
+
+ de_usedmethod_4 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The methods used during the distance education plan')
+ )
+ de_challenge_4 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The challenges during the distance education plan')
+ )
+ de_negativenotes_4 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The negative notes ')
+ )
+ de_positivenotes_4 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The negative notes ')
+ )
+ de_interactedstudents_4 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The number of interacted students ')
+ )
+
+ de_usedmethod_5 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The methods used during the distance education plan')
+ )
+ de_challenge_5 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The challenges during the distance education plan')
+ )
+ de_negativenotes_5 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The negative notes ')
+ )
+ de_positivenotes_5 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The negative notes ')
+ )
+ de_interactedstudents_5 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The number of interacted students ')
+ )
+
+ de_usedmethod_6 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The methods used during the distance education plan')
+ )
+ de_challenge_6 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The challenges during the distance education plan')
+ )
+ de_negativenotes_6 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The negative notes ')
+ )
+ de_positivenotes_6 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The negative notes ')
+ )
+ de_interactedstudents_6 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The number of interacted students ')
+ )
+
+ de_usedmethod_7 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The methods used during the distance education plan')
+ )
+ de_challenge_7 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The challenges during the distance education plan')
+ )
+ de_negativenotes_7 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The negative notes ')
+ )
+ de_positivenotes_7 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The negative notes ')
+ )
+ de_interactedstudents_7 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The number of interacted students ')
+ )
+
+ de_usedmethod_8 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The methods used during the distance education plan')
+ )
+ de_challenge_8 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The challenges during the distance education plan')
+ )
+ de_negativenotes_8 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The negative notes ')
+ )
+ de_positivenotes_8 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The negative notes ')
+ )
+ de_interactedstudents_8 = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('The number of interacted students ')
+ )
+ nbstudents = models.IntegerField(
+ blank=True, null=True,
+ )
+
+ de_nbstudents = models.IntegerField(
+ blank=True, null=True,
+ )
+ nbteachers = models.IntegerField(
+ blank=True, null=True,
+ )
+ de_nbteachers = models.IntegerField(
+ blank=True, null=True,
+ )
diff --git a/student_registration/schools/urls.py b/student_registration/schools/urls.py
index 890d40bd9..31425f0f6 100644
--- a/student_registration/schools/urls.py
+++ b/student_registration/schools/urls.py
@@ -21,11 +21,64 @@
view=views.PublicDocumentView.as_view(),
name='documents'
),
-
url(
regex=r'^autocomplete/$',
view=views.AutocompleteView.as_view(),
name='autocomplete'
),
-
+ url(
+ regex=r'^evaluation/$',
+ view=views.EvaluationView.as_view(),
+ name='evaluation'
+ ),
+ url(
+ regex=r'^evaluation/update_classroom/(?P[\w.@+-]+)/$',
+ view=views.Update_Class.as_view(),
+ name='update_classroom'
+ ),
+ url(
+ regex=r'^evaluation/update_classroom_c1/(?P[\w.@+-]+)/$',
+ view=views.Update_Class_c1.as_view(),
+ name='update_classroom_c1'
+ ),
+ url(
+ regex=r'^evaluation/update_classroom_c3/(?P[\w.@+-]+)/$',
+ view=views.Update_Class_C3.as_view(),
+ name='update_classroom_c3'
+ ),
+ url(
+ regex=r'^evaluation/update_classroom_c4/(?P[\w.@+-]+)/$',
+ view=views.Update_Class_c4.as_view(),
+ name='update_classroom_c4'
+ ),
+ url(
+ regex=r'^evaluation/update_classroom_c5/(?P[\w.@+-]+)/$',
+ view=views.Update_Class_c5.as_view(),
+ name='update_classroom_c5'
+ ),
+ url(
+ regex=r'^evaluation/update_classroom_c6/(?P[\w.@+-]+)/$',
+ view=views.Update_Class_c6.as_view(),
+ name='update_classroom_c6'
+ ),
+ url(
+ regex=r'^evaluation/update_classroom_c7/(?P[\w.@+-]+)/$',
+ view=views.Update_Class_c7.as_view(),
+ name='update_classroom_c7'
+ ),
+ url(
+ regex=r'^evaluation/update_classroom_c8/(?P[\w.@+-]+)/$',
+ view=views.Update_Class_c8.as_view(),
+ name='update_classroom_c8'
+ ),
+ url(
+ regex=r'^evaluation/update_classroom_c9/(?P[\w.@+-]+)/$',
+ view=views.Update_Class_c9.as_view(),
+ name='update_classroom_c9'
+ ),
+ url(
+ regex=r'^evaluation/update_classroom_cprep/(?P[\w.@+-]+)/$',
+ view=views.Update_Class_cprep.as_view(),
+ name='update_classroom_cprep'
+ ),
]
diff --git a/student_registration/schools/views.py b/student_registration/schools/views.py
index 8527e0245..e033650f1 100644
--- a/student_registration/schools/views.py
+++ b/student_registration/schools/views.py
@@ -2,21 +2,23 @@
from __future__ import absolute_import, unicode_literals
from django.db.models import Q
-from django.views.generic import DetailView, ListView, RedirectView, UpdateView, FormView, TemplateView
+from django.views.generic import DetailView, ListView, RedirectView, CreateView, FormView, TemplateView, UpdateView
from django.contrib.auth.mixins import LoginRequiredMixin
-
+from django.urls import reverse_lazy
from dal import autocomplete
from rest_framework import viewsets, mixins, permissions
from braces.views import GroupRequiredMixin
-
+from django.contrib import admin
from student_registration.backends.models import Notification
from student_registration.users.utils import force_default_language
from .models import (
+ EducationYear,
School,
ClassRoom,
Section,
PublicDocument,
PartnerOrganization,
+ Evaluation,
)
from .serializers import (
@@ -24,7 +26,13 @@
ClassRoomSerializer,
SectionSerializer,
)
-from .forms import ProfileForm, PartnerForm
+from .forms import ProfileForm, PartnerForm, EvaluationForm,Classroom_Form, Classroom_Form_c1, Classroom_Form_c3,\
+ Classroom_Form_c4, Classroom_Form_c5, Classroom_Form_c6, Classroom_Form_c7, Classroom_Form_c8, \
+ Classroom_Form_c9, Classroom_Form_cprep
+from django.forms import modelformset_factory, formset_factory, inlineformset_factory, forms
+from django.shortcuts import render, redirect
+from django.db import transaction
+from django.contrib import messages
class SchoolViewSet(mixins.ListModelMixin,
@@ -158,3 +166,298 @@ def get_queryset(self):
)
return qs
+
+
+class EvaluationView(FormView):
+ template_name = 'schools/evaluation.html'
+ form_class = EvaluationForm
+ success_url = '/schools/evaluation/'
+
+ def get_form(self, form_class=None):
+ education_year = EducationYear.objects.get(current_year=True)
+ if self.request:
+ if self.request.user:
+ if self.request.user.school_id:
+ evaluation = Evaluation.objects.filter(school_id=self.request.user.school_id, education_year=education_year)
+ instance = Evaluation.objects.get(id=evaluation)
+
+ if self.request.method == "POST":
+ return EvaluationForm(self.request.POST, instance=instance)
+ else:
+ return EvaluationForm(instance=instance)
+
+ def form_valid(self, form):
+ education_year = EducationYear.objects.get(current_year=True)
+ instance = Evaluation.objects.get(school_id=self.request.user.school_id, education_year=education_year)
+ form.save(request=self.request, instance=instance)
+ return super(EvaluationView, self).form_valid(form)
+
+
+class Update_Class(UpdateView):
+ model = Evaluation
+ form_class = Classroom_Form
+
+ template_name = 'schools/classform.html'
+ success_url = '/schools/evaluation/'
+ context_object_name = 'school_class'
+
+ def get_success_url(self):
+ return self.success_url
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(Update_Class, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ instance = Evaluation.objects.get(id=self.kwargs['pk'])
+ if self.request.method == "POST":
+ instance.save()
+ return Classroom_Form(self.request.POST, instance=instance)
+ else:
+ return Classroom_Form(instance=instance)
+
+
+class Update_Class_c1(UpdateView):
+ model = Evaluation
+ form_class = Classroom_Form_c1
+
+ template_name = 'schools/classform.html'
+ success_url = '/schools/evaluation/'
+ context_object_name = 'school_class'
+
+ def get_success_url(self):
+ return self.success_url
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(Update_Class_c1, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ instance = Evaluation.objects.get(id=self.kwargs['pk'])
+ if self.request.method == "POST":
+ instance.save()
+ return Classroom_Form_c1(self.request.POST, instance=instance)
+ else:
+ return Classroom_Form_c1(instance=instance)
+
+
+class Update_Class_C3(UpdateView):
+ model = Evaluation
+ form_class = Classroom_Form_c3
+
+ template_name = 'schools/classform.html'
+ success_url = '/schools/evaluation/'
+ context_object_name = 'school_class'
+
+ def get_success_url(self):
+ return self.success_url
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(Update_Class_C3, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ instance = Evaluation.objects.get(id=self.kwargs['pk'])
+ if self.request.method == "POST":
+ instance.save()
+ return Classroom_Form_c3(self.request.POST, instance=instance)
+ else:
+ return Classroom_Form_c3(instance=instance)
+
+
+class Update_Class_c4(UpdateView):
+ model = Evaluation
+ form_class = Classroom_Form_c4
+
+ template_name = 'schools/classform.html'
+ success_url = '/schools/evaluation/'
+ context_object_name = 'school_class'
+
+ def get_success_url(self):
+ return self.success_url
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(Update_Class_c4, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ instance = Evaluation.objects.get(id=self.kwargs['pk'])
+ if self.request.method == "POST":
+ instance.save()
+ return Classroom_Form_c4(self.request.POST, instance=instance)
+ else:
+ return Classroom_Form_c4(instance=instance)
+
+
+class Update_Class_c5(UpdateView):
+ model = Evaluation
+ form_class = Classroom_Form_c5
+
+ template_name = 'schools/classform.html'
+ success_url = '/schools/evaluation/'
+ context_object_name = 'school_class'
+
+ def get_success_url(self):
+ return self.success_url
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(Update_Class_c5, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ instance = Evaluation.objects.get(id=self.kwargs['pk'])
+ if self.request.method == "POST":
+ instance.save()
+ return Classroom_Form_c5(self.request.POST, instance=instance)
+ else:
+ return Classroom_Form_c5(instance=instance)
+
+
+class Update_Class_c6(UpdateView):
+ model = Evaluation
+ form_class = Classroom_Form_c6
+
+ template_name = 'schools/classform.html'
+ success_url = '/schools/evaluation/'
+ context_object_name = 'school_class'
+
+ def get_success_url(self):
+ return self.success_url
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(Update_Class_c6, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ instance = Evaluation.objects.get(id=self.kwargs['pk'])
+ if self.request.method == "POST":
+ instance.save()
+ return Classroom_Form_c6(self.request.POST, instance=instance)
+ else:
+ return Classroom_Form_c6(instance=instance)
+
+
+class Update_Class_c7(UpdateView):
+ model = Evaluation
+ form_class = Classroom_Form_c7
+
+ template_name = 'schools/classform.html'
+ success_url = '/schools/evaluation/'
+ context_object_name = 'school_class'
+
+ def get_success_url(self):
+ return self.success_url
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(Update_Class_c7, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ instance = Evaluation.objects.get(id=self.kwargs['pk'])
+ if self.request.method == "POST":
+ instance.save()
+ return Classroom_Form_c7(self.request.POST, instance=instance)
+ else:
+ return Classroom_Form_c7(instance=instance)
+
+
+class Update_Class_c8(UpdateView):
+ model = Evaluation
+ form_class = Classroom_Form_c8
+
+ template_name = 'schools/classform.html'
+ success_url = '/schools/evaluation/'
+ context_object_name = 'school_class'
+
+ def get_success_url(self):
+ return self.success_url
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(Update_Class_c8, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ instance = Evaluation.objects.get(id=self.kwargs['pk'])
+ if self.request.method == "POST":
+ instance.save()
+ return Classroom_Form_c8(self.request.POST, instance=instance)
+ else:
+ return Classroom_Form_c8(instance=instance)
+
+
+class Update_Class_c9(UpdateView):
+ model = Evaluation
+ form_class = Classroom_Form_c9
+
+ template_name = 'schools/classform.html'
+ success_url = '/schools/evaluation/'
+ context_object_name = 'school_class'
+
+ def get_success_url(self):
+ return self.success_url
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(Update_Class_c9, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ instance = Evaluation.objects.get(id=self.kwargs['pk'])
+ if self.request.method == "POST":
+ instance.save()
+ return Classroom_Form_c9(self.request.POST, instance=instance)
+ else:
+ return Classroom_Form_c9(instance=instance)
+
+
+class Update_Class_cprep(UpdateView):
+ model = Evaluation
+ form_class = Classroom_Form_cprep
+
+ template_name = 'schools/classform.html'
+ success_url = '/schools/evaluation/'
+ context_object_name = 'school_class'
+
+ def get_success_url(self):
+ return self.success_url
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(Update_Class_cprep, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ instance = Evaluation.objects.get(id=self.kwargs['pk'])
+ if self.request.method == "POST":
+ instance.save()
+ return Classroom_Form_cprep(self.request.POST, instance=instance)
+ else:
+ return Classroom_Form_cprep(instance=instance)
diff --git a/student_registration/staffenroll/__init__.py b/student_registration/staffenroll/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/student_registration/staffenroll/admin.py b/student_registration/staffenroll/admin.py
new file mode 100644
index 000000000..d652d9c11
--- /dev/null
+++ b/student_registration/staffenroll/admin.py
@@ -0,0 +1,7 @@
+from django.contrib import admin
+from .models import Jobs, Subjects, Worklist
+# Register your models here.
+
+admin.site.register(Jobs)
+admin.site.register(Subjects)
+admin.site.register(Worklist)
diff --git a/student_registration/staffenroll/apps.py b/student_registration/staffenroll/apps.py
new file mode 100644
index 000000000..9fff0fa25
--- /dev/null
+++ b/student_registration/staffenroll/apps.py
@@ -0,0 +1,7 @@
+from __future__ import unicode_literals
+
+from django.apps import AppConfig
+
+
+class StaffenrollConfig(AppConfig):
+ name = 'staffenroll'
diff --git a/student_registration/staffenroll/filters.py b/student_registration/staffenroll/filters.py
new file mode 100644
index 000000000..5b834d626
--- /dev/null
+++ b/student_registration/staffenroll/filters.py
@@ -0,0 +1,29 @@
+from django.utils.translation import ugettext as _
+
+from django_filters import FilterSet, ModelChoiceFilter
+
+from student_registration.schools.models import EducationYear, Section, ClassRoom
+from student_registration.students.models import Nationality
+from .models import StaffEnroll
+
+
+class CommonFilter(FilterSet):
+ section = ModelChoiceFilter(queryset=Section.objects.all(), empty_label=_('Section'))
+ classroom = ModelChoiceFilter(queryset=ClassRoom.objects.all(), empty_label=_('Class'))
+
+
+class StaffEnrollFilter(CommonFilter):
+ class Meta:
+ model = StaffEnroll
+ fields = {
+ 'classroom': ['exact'],
+ 'section': ['exact'],
+ # 'student__first_name': ['contains'],
+ #'student__father_name': ['contains'],
+ #'student__last_name': ['contains'],
+ #'student__mother_fullname': ['contains'],
+ #'student__id_number': ['contains'],
+ #'student__nationality': ['exact'],
+ }
+
+
diff --git a/student_registration/staffenroll/forms.py b/student_registration/staffenroll/forms.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/student_registration/staffenroll/migrations/0001_initial.py b/student_registration/staffenroll/migrations/0001_initial.py
new file mode 100644
index 000000000..2a049a73a
--- /dev/null
+++ b/student_registration/staffenroll/migrations/0001_initial.py
@@ -0,0 +1,70 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-09-02 12:48
+from __future__ import unicode_literals
+
+from django.conf import settings
+from django.db import migrations, models
+import django.db.models.deletion
+import django.utils.timezone
+import model_utils.fields
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ ('students', '0044_student_std_phone'),
+ ('schools', '0039_auto_20190619_1028'),
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Jobs',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('hourrate', models.IntegerField(blank=True, null=True, verbose_name='Hour Rate')),
+ ],
+ options={
+ 'ordering': ['id'],
+ },
+ ),
+ migrations.CreateModel(
+ name='StaffEnroll',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
+ ('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
+ ('joineddate', models.CharField(blank=True, choices=[('2000/2001', '2000/2001'), ('2001/2002', '2001/2002'), ('2002/2003', '2002/2003'), ('2003/2004', '2003/2004'), ('2004/2005', '2004/2005'), ('2005/2006', '2005/2006'), ('2006/2007', '2006/2007'), ('2007/2008', '2007/2008'), ('2008/2009', '2008/2009'), ('2009/2010', '2009/2010'), ('2010/2011', '2010/2011'), ('2011/2012', '2011/2012'), ('2012/2013', '2012/2013'), ('2013/2014', '2013/2014'), ('2014/2015', '2014/2015'), ('2015/2016', '2015/2016'), ('2016/2017', '2016/2017'), ('2017/2018', '2017/2018'), ('2018/2019', '2018/2019'), ('2019/2020', '2019/2020'), ('2020/2021', '2020/2021'), ('2021/2022', '2021/2022'), ('2022/2023', '2022/2023'), ('2023/2024', '2023/2024'), ('2024/2025', '2024/2025'), ('2025/2026', '2025/2026'), ('2026/2027', '2026/2027'), ('2027/2028', '2027/2028'), ('2028/2029', '2028/2029'), ('2029/2030', '2029/2030'), ('2030/2031', '2030/2031'), ('2031/2032', '2031/2032'), ('2032/2033', '2032/2033'), ('2033/2034', '2033/2034'), ('2034/2035', '2034/2035'), ('2035/2036', '2035/2036'), ('2036/2037', '2036/2037'), ('2037/2038', '2037/2038'), ('2038/2039', '2038/2039'), ('2039/2040', '2039/2040'), ('2040/2041', '2040/2041'), ('2041/2042', '2041/2042'), ('2042/2043', '2042/2043'), ('2043/2044', '2043/2044'), ('2044/2045', '2044/2045'), ('2045/2046', '2045/2046'), ('2046/2047', '2046/2047'), ('2047/2048', '2047/2048'), ('2048/2049', '2048/2049'), ('na', 'N/A')], max_length=10, null=True)),
+ ('first_education_year', models.CharField(blank=True, choices=[('2000/2001', '2000/2001'), ('2001/2002', '2001/2002'), ('2002/2003', '2002/2003'), ('2003/2004', '2003/2004'), ('2004/2005', '2004/2005'), ('2005/2006', '2005/2006'), ('2006/2007', '2006/2007'), ('2007/2008', '2007/2008'), ('2008/2009', '2008/2009'), ('2009/2010', '2009/2010'), ('2010/2011', '2010/2011'), ('2011/2012', '2011/2012'), ('2012/2013', '2012/2013'), ('2013/2014', '2013/2014'), ('2014/2015', '2014/2015'), ('2015/2016', '2015/2016'), ('2016/2017', '2016/2017'), ('2017/2018', '2017/2018'), ('2018/2019', '2018/2019'), ('2019/2020', '2019/2020'), ('2020/2021', '2020/2021'), ('2021/2022', '2021/2022'), ('2022/2023', '2022/2023'), ('2023/2024', '2023/2024'), ('2024/2025', '2024/2025'), ('2025/2026', '2025/2026'), ('2026/2027', '2026/2027'), ('2027/2028', '2027/2028'), ('2028/2029', '2028/2029'), ('2029/2030', '2029/2030'), ('2030/2031', '2030/2031'), ('2031/2032', '2031/2032'), ('2032/2033', '2032/2033'), ('2033/2034', '2033/2034'), ('2034/2035', '2034/2035'), ('2035/2036', '2035/2036'), ('2036/2037', '2036/2037'), ('2037/2038', '2037/2038'), ('2038/2039', '2038/2039'), ('2039/2040', '2039/2040'), ('2040/2041', '2040/2041'), ('2041/2042', '2041/2042'), ('2042/2043', '2042/2043'), ('2043/2044', '2043/2044'), ('2044/2045', '2044/2045'), ('2045/2046', '2045/2046'), ('2046/2047', '2046/2047'), ('2047/2048', '2047/2048'), ('2048/2049', '2048/2049'), ('na', 'N/A')], max_length=10, null=True, verbose_name=' \u0622\u062e\u0631 \u0633\u0646\u0629 \u062f\u0631\u0627\u0633\u064a\u0629')),
+ ('deleted', models.BooleanField(default=False, verbose_name='\u062d\u0630\u0641')),
+ ('weeklyhours', models.IntegerField(default=0, verbose_name='Weekly Nb of hours')),
+ ('classroom', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.ClassRoom', verbose_name='\u0627\u0644\u0635\u0641 \u0627\u0644\u062d\u0627\u0644\u064a')),
+ ('education_year', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.EducationYear', verbose_name='\u0627\u0644\u0633\u0646\u0629 \u0627\u0644\u062f\u0631\u0627\u0633\u064a\u0629')),
+ ('job', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='staffenroll.Jobs', verbose_name='Jobs')),
+ ('owner', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='\u0627\u0646\u0634\u0623 \u0645\u0646 \u0642\u0628\u0644')),
+ ('school', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='school', to='schools.School', verbose_name='\u0627\u0644\u0645\u062f\u0631\u0633\u0629')),
+ ('section', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.Section', verbose_name='\u0627\u0644\u0634\u0639\u0628\u0629 \u0627\u0644\u062d\u0627\u0644\u064a\u0629')),
+ ('student', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='staff_enrollment', to='students.Student')),
+ ],
+ options={
+ 'ordering': ['-student__first_name'],
+ },
+ ),
+ migrations.CreateModel(
+ name='Subjects',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('name', models.CharField(max_length=45, unique=True)),
+ ],
+ options={
+ 'ordering': ['id'],
+ },
+ ),
+ migrations.AddField(
+ model_name='staffenroll',
+ name='subject',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='staffenroll.Subjects', verbose_name='Subjects'),
+ ),
+ ]
diff --git a/student_registration/staffenroll/migrations/0002_jobs_name.py b/student_registration/staffenroll/migrations/0002_jobs_name.py
new file mode 100644
index 000000000..641c0c157
--- /dev/null
+++ b/student_registration/staffenroll/migrations/0002_jobs_name.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-09-02 13:34
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffenroll', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='jobs',
+ name='name',
+ field=models.CharField(default=0, max_length=45, unique=True, verbose_name='Jobs'),
+ ),
+ ]
diff --git a/student_registration/staffenroll/migrations/0003_auto_20190902_1642.py b/student_registration/staffenroll/migrations/0003_auto_20190902_1642.py
new file mode 100644
index 000000000..21a009627
--- /dev/null
+++ b/student_registration/staffenroll/migrations/0003_auto_20190902_1642.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-09-02 13:42
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffenroll', '0002_jobs_name'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='staffenroll',
+ name='current_hourrate',
+ field=models.IntegerField(blank=True, null=True, verbose_name='Hour Rate'),
+ ),
+ migrations.AlterField(
+ model_name='jobs',
+ name='name',
+ field=models.CharField(default=' ', max_length=45, unique=True, verbose_name='Job description'),
+ ),
+ ]
diff --git a/student_registration/staffenroll/migrations/0004_auto_20190928_0838.py b/student_registration/staffenroll/migrations/0004_auto_20190928_0838.py
new file mode 100644
index 000000000..94a3e9df3
--- /dev/null
+++ b/student_registration/staffenroll/migrations/0004_auto_20190928_0838.py
@@ -0,0 +1,54 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-09-28 05:38
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffenroll', '0003_auto_20190902_1642'),
+ ]
+
+ operations = [
+ migrations.AlterModelOptions(
+ name='jobs',
+ options={'ordering': ['id'], 'verbose_name_plural': 'Jobs'},
+ ),
+ migrations.AlterModelOptions(
+ name='subjects',
+ options={'ordering': ['id'], 'verbose_name_plural': 'Subjects'},
+ ),
+ migrations.AlterField(
+ model_name='jobs',
+ name='hourrate',
+ field=models.IntegerField(blank=True, null=True, verbose_name='\u0642\u064a\u0645\u0629 \u0627\u0644\u062d\u0635\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='jobs',
+ name='name',
+ field=models.CharField(default=' ', max_length=45, unique=True, verbose_name='\u0648\u0635\u0641 \u0627\u0644\u0645\u0634\u0643\u0644\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='staffenroll',
+ name='current_hourrate',
+ field=models.IntegerField(blank=True, null=True, verbose_name='\u0642\u064a\u0645\u0629 \u0627\u0644\u062d\u0635\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='staffenroll',
+ name='job',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='staffenroll.Jobs', verbose_name='\u0627\u0644\u0648\u0638\u064a\u0641\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='staffenroll',
+ name='subject',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='staffenroll.Subjects', verbose_name='\u0627\u0644\u0645\u0627\u062f\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='staffenroll',
+ name='weeklyhours',
+ field=models.IntegerField(default=0, verbose_name='\u0639\u062f\u062f \u0627\u0644\u0633\u0627\u0639\u0627\u062a \u0641\u064a \u0627\u0644\u0623\u0633\u0628\u0648\u0639'),
+ ),
+ ]
diff --git a/student_registration/staffenroll/migrations/0005_auto_20191008_1151.py b/student_registration/staffenroll/migrations/0005_auto_20191008_1151.py
new file mode 100644
index 000000000..da03799db
--- /dev/null
+++ b/student_registration/staffenroll/migrations/0005_auto_20191008_1151.py
@@ -0,0 +1,36 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-10-08 08:51
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffenroll', '0004_auto_20190928_0838'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='jobs',
+ name='hourrate',
+ field=models.IntegerField(blank=True, null=True, verbose_name='\u0627\u0644\u0642\u064a\u0645\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='staffenroll',
+ name='current_hourrate',
+ field=models.IntegerField(blank=True, null=True, verbose_name='\u0627\u0644\u0642\u064a\u0645\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='staffenroll',
+ name='job',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='staffenroll.Jobs', verbose_name='Jobs'),
+ ),
+ migrations.AlterField(
+ model_name='staffenroll',
+ name='subject',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='staffenroll.Subjects', verbose_name='\u0627\u0644\u0645\u0648\u0627\u062f'),
+ ),
+ ]
diff --git a/student_registration/staffenroll/migrations/0006_auto_20191114_1123.py b/student_registration/staffenroll/migrations/0006_auto_20191114_1123.py
new file mode 100644
index 000000000..0b3132da2
--- /dev/null
+++ b/student_registration/staffenroll/migrations/0006_auto_20191114_1123.py
@@ -0,0 +1,26 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-11-14 09:23
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffs', '0009_auto_20191008_1151'),
+ ('staffenroll', '0005_auto_20191008_1151'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='staffenroll',
+ name='student',
+ ),
+ migrations.AddField(
+ model_name='staffenroll',
+ name='staff',
+ field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='staff_enrollment', to='staffs.Staffs'),
+ ),
+ ]
diff --git a/student_registration/staffenroll/migrations/0007_jobs_maxhoursperweek.py b/student_registration/staffenroll/migrations/0007_jobs_maxhoursperweek.py
new file mode 100644
index 000000000..22780c73e
--- /dev/null
+++ b/student_registration/staffenroll/migrations/0007_jobs_maxhoursperweek.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-12-08 07:27
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffenroll', '0006_auto_20191114_1123'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='jobs',
+ name='maxhoursperweek',
+ field=models.IntegerField(blank=True, null=True, verbose_name='Max.Hours per week'),
+ ),
+ ]
diff --git a/student_registration/staffenroll/migrations/0008_auto_20191223_1333.py b/student_registration/staffenroll/migrations/0008_auto_20191223_1333.py
new file mode 100644
index 000000000..bf89f558d
--- /dev/null
+++ b/student_registration/staffenroll/migrations/0008_auto_20191223_1333.py
@@ -0,0 +1,34 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-12-23 11:33
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffenroll', '0007_jobs_maxhoursperweek'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='staffenroll',
+ name='first_education_year',
+ ),
+ migrations.AddField(
+ model_name='staffenroll',
+ name='school_ispublic',
+ field=models.BooleanField(default=False, verbose_name='is public'),
+ ),
+ migrations.AddField(
+ model_name='staffenroll',
+ name='shift',
+ field=models.CharField(blank=True, choices=[('D', 'Day'), ('N', 'Night')], max_length=1, null=True),
+ ),
+ migrations.AddField(
+ model_name='staffenroll',
+ name='work',
+ field=models.CharField(blank=True, max_length=150, verbose_name='main work'),
+ ),
+ ]
diff --git a/student_registration/staffenroll/migrations/0009_staffenroll_school_ismain.py b/student_registration/staffenroll/migrations/0009_staffenroll_school_ismain.py
new file mode 100644
index 000000000..9d8b31205
--- /dev/null
+++ b/student_registration/staffenroll/migrations/0009_staffenroll_school_ismain.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-12-25 19:05
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffenroll', '0008_auto_20191223_1333'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='staffenroll',
+ name='school_ismain',
+ field=models.BooleanField(default=True, verbose_name='is public'),
+ ),
+ ]
diff --git a/student_registration/staffenroll/migrations/0010_jobs_salarytype.py b/student_registration/staffenroll/migrations/0010_jobs_salarytype.py
new file mode 100644
index 000000000..40f8ad784
--- /dev/null
+++ b/student_registration/staffenroll/migrations/0010_jobs_salarytype.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-05 21:22
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffenroll', '0009_staffenroll_school_ismain'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='jobs',
+ name='salarytype',
+ field=models.CharField(blank=True, choices=[('H', 'Hourly'), ('D', 'Daily'), ('W', 'Weekly'), ('M', 'Monthly')], max_length=1, null=True),
+ ),
+ ]
diff --git a/student_registration/staffenroll/migrations/0011_auto_20200106_0915.py b/student_registration/staffenroll/migrations/0011_auto_20200106_0915.py
new file mode 100644
index 000000000..2012d000c
--- /dev/null
+++ b/student_registration/staffenroll/migrations/0011_auto_20200106_0915.py
@@ -0,0 +1,30 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-06 07:15
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffenroll', '0010_jobs_salarytype'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='jobs',
+ name='with_date_interval',
+ field=models.BooleanField(default=False),
+ ),
+ migrations.AddField(
+ model_name='staffenroll',
+ name='ending_work',
+ field=models.DateField(blank=True, null=True),
+ ),
+ migrations.AddField(
+ model_name='staffenroll',
+ name='starting_work',
+ field=models.DateField(blank=True, null=True),
+ ),
+ ]
diff --git a/student_registration/staffenroll/migrations/0012_auto_20200106_1733.py b/student_registration/staffenroll/migrations/0012_auto_20200106_1733.py
new file mode 100644
index 000000000..04dcc85c4
--- /dev/null
+++ b/student_registration/staffenroll/migrations/0012_auto_20200106_1733.py
@@ -0,0 +1,56 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-06 15:33
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+import django.utils.timezone
+import model_utils.fields
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0046_auto_20200106_0051'),
+ ('staffs', '0016_auto_20191227_0102'),
+ ('staffenroll', '0011_auto_20200106_0915'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='staffattend',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
+ ('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
+ ('attenddate', models.DateField()),
+ ('attendhours', models.IntegerField()),
+ ('isattend', models.BooleanField(default=False)),
+ ('attendremarks', models.CharField(blank=True, max_length=200, null=True)),
+ ('education_year', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.EducationYear', verbose_name='\u0627\u0644\u0633\u0646\u0629 \u0627\u0644\u062f\u0631\u0627\u0633\u064a\u0629')),
+ ],
+ options={
+ 'abstract': False,
+ },
+ ),
+ migrations.AlterField(
+ model_name='jobs',
+ name='salarytype',
+ field=models.CharField(blank=True, choices=[('H', 'Hourly'), ('D', 'Daily')], max_length=1, null=True),
+ ),
+ migrations.AddField(
+ model_name='staffattend',
+ name='jobs',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='staffenroll.Jobs', verbose_name='Job Type'),
+ ),
+ migrations.AddField(
+ model_name='staffattend',
+ name='school',
+ field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.School', verbose_name='\u0627\u0644\u0645\u062f\u0631\u0633\u0629'),
+ ),
+ migrations.AddField(
+ model_name='staffattend',
+ name='staff',
+ field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='staffs.Staffs', verbose_name='Staff'),
+ ),
+ ]
diff --git a/student_registration/staffenroll/migrations/0013_auto_20200106_1749.py b/student_registration/staffenroll/migrations/0013_auto_20200106_1749.py
new file mode 100644
index 000000000..ca89ad906
--- /dev/null
+++ b/student_registration/staffenroll/migrations/0013_auto_20200106_1749.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-06 15:49
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffenroll', '0012_auto_20200106_1733'),
+ ]
+
+ operations = [
+ migrations.RenameField(
+ model_name='staffattend',
+ old_name='jobs',
+ new_name='job',
+ ),
+ ]
diff --git a/student_registration/staffenroll/migrations/0014_auto_20200106_1858.py b/student_registration/staffenroll/migrations/0014_auto_20200106_1858.py
new file mode 100644
index 000000000..bf01d61fc
--- /dev/null
+++ b/student_registration/staffenroll/migrations/0014_auto_20200106_1858.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-06 16:58
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffenroll', '0013_auto_20200106_1749'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='staffattend',
+ name='isattend',
+ field=models.NullBooleanField(default=False),
+ ),
+ ]
diff --git a/student_registration/staffenroll/migrations/0015_auto_20200106_2031.py b/student_registration/staffenroll/migrations/0015_auto_20200106_2031.py
new file mode 100644
index 000000000..11a66cacd
--- /dev/null
+++ b/student_registration/staffenroll/migrations/0015_auto_20200106_2031.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-06 18:31
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffenroll', '0014_auto_20200106_1858'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='staffattend',
+ name='attendhours',
+ field=models.IntegerField(default=0),
+ ),
+ ]
diff --git a/student_registration/staffenroll/migrations/0016_jobs_is_teacher.py b/student_registration/staffenroll/migrations/0016_jobs_is_teacher.py
new file mode 100644
index 000000000..d82d17ed5
--- /dev/null
+++ b/student_registration/staffenroll/migrations/0016_jobs_is_teacher.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-06 18:53
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffenroll', '0015_auto_20200106_2031'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='jobs',
+ name='is_teacher',
+ field=models.BooleanField(default=False),
+ ),
+ ]
diff --git a/student_registration/staffenroll/migrations/0017_auto_20200107_0432.py b/student_registration/staffenroll/migrations/0017_auto_20200107_0432.py
new file mode 100644
index 000000000..9b94f3340
--- /dev/null
+++ b/student_registration/staffenroll/migrations/0017_auto_20200107_0432.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-07 02:32
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffenroll', '0016_jobs_is_teacher'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='jobs',
+ name='with_additionalhour',
+ field=models.BooleanField(default=False, verbose_name='with Hours no class'),
+ ),
+ migrations.AddField(
+ model_name='staffenroll',
+ name='weeklyhours_noclass',
+ field=models.IntegerField(default=0, verbose_name='Weekly Nb of hours no class'),
+ ),
+ ]
diff --git a/student_registration/staffenroll/migrations/0018_staffenroll_school_am.py b/student_registration/staffenroll/migrations/0018_staffenroll_school_am.py
new file mode 100644
index 000000000..4cfe146c3
--- /dev/null
+++ b/student_registration/staffenroll/migrations/0018_staffenroll_school_am.py
@@ -0,0 +1,22 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-11 02:09
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0046_auto_20200106_0051'),
+ ('staffenroll', '0017_auto_20200107_0432'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='staffenroll',
+ name='school_am',
+ field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.School', verbose_name='\u0627\u0644\u0645\u062f\u0631\u0633\u0629'),
+ ),
+ ]
diff --git a/student_registration/staffenroll/migrations/0019_auto_20200117_1032.py b/student_registration/staffenroll/migrations/0019_auto_20200117_1032.py
new file mode 100644
index 000000000..fb3498e00
--- /dev/null
+++ b/student_registration/staffenroll/migrations/0019_auto_20200117_1032.py
@@ -0,0 +1,46 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-17 08:32
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffenroll', '0018_staffenroll_school_am'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='staffattend',
+ name='job',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='staffenroll.Jobs', verbose_name='\u0646\u0648\u0639 \u0627\u0644\u0639\u0645\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='staffattend',
+ name='staff',
+ field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='staffs.Staffs', verbose_name='\u0627\u0644\u0639\u0627\u0645\u0644'),
+ ),
+ migrations.AlterField(
+ model_name='staffenroll',
+ name='job',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='staffenroll.Jobs', verbose_name='\u0648\u0638\u0627\u0626\u0641'),
+ ),
+ migrations.AlterField(
+ model_name='staffenroll',
+ name='shift',
+ field=models.CharField(blank=True, choices=[('D', '\u0646\u0647\u0627\u0631'), ('N', '\u0644\u064a\u0644')], max_length=1, null=True),
+ ),
+ migrations.AlterField(
+ model_name='staffenroll',
+ name='weeklyhours_noclass',
+ field=models.IntegerField(default=0, verbose_name='\u0639\u062f\u062f \u0627\u0644\u0633\u0627\u0639\u0627\u062a \u0641\u064a \u0627\u0644\u0623\u0633\u0628\u0648\u0639'),
+ ),
+ migrations.AlterField(
+ model_name='staffenroll',
+ name='work',
+ field=models.CharField(blank=True, max_length=150, verbose_name='\u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0631\u0626\u064a\u0633\u064a'),
+ ),
+ ]
diff --git a/student_registration/staffenroll/migrations/0020_auto_20200412_1034.py b/student_registration/staffenroll/migrations/0020_auto_20200412_1034.py
new file mode 100644
index 000000000..4a62c2572
--- /dev/null
+++ b/student_registration/staffenroll/migrations/0020_auto_20200412_1034.py
@@ -0,0 +1,59 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-04-12 07:34
+from __future__ import unicode_literals
+
+from django.conf import settings
+from django.db import migrations, models
+import django.db.models.deletion
+import django.utils.timezone
+import model_utils.fields
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+
+ ('staffenroll', '0019_auto_20200117_1032'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='StatisticAttend',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
+ ('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
+ ('attenddate', models.DateField()),
+ ('hoursofattendance', models.IntegerField(default=0)),
+ ('nb_of_section', models.IntegerField(default=0)),
+ ('remarks', models.CharField(blank=True, max_length=200, null=True)),
+ ('education_year', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.EducationYear', verbose_name='\u0627\u0644\u0633\u0646\u0629 \u0627\u0644\u062f\u0631\u0627\u0633\u064a\u0629')),
+ ('owner', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='\u0627\u0646\u0634\u0623 \u0645\u0646 \u0642\u0628\u0644')),
+ ('school', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.School', verbose_name='\u0627\u0644\u0645\u062f\u0631\u0633\u0629')),
+ ],
+ options={
+ 'abstract': False,
+ },
+ ),
+ migrations.CreateModel(
+ name='Worklist',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('name', models.CharField(max_length=200, unique=True)),
+ ],
+ options={
+ 'ordering': ['name'],
+ },
+ ),
+ migrations.AddField(
+ model_name='staffenroll',
+ name='is_main',
+ field=models.BooleanField(default=False, verbose_name='main record'),
+ ),
+ migrations.AddField(
+ model_name='staffenroll',
+ name='worklist',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='staffenroll.Worklist', verbose_name='List of work'),
+ ),
+ ]
diff --git a/student_registration/staffenroll/migrations/0021_auto_20200428_1043.py b/student_registration/staffenroll/migrations/0021_auto_20200428_1043.py
new file mode 100644
index 000000000..fc6331388
--- /dev/null
+++ b/student_registration/staffenroll/migrations/0021_auto_20200428_1043.py
@@ -0,0 +1,26 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-04-28 07:43
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import student_registration.staffenroll.models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffenroll', '0020_auto_20200412_1034'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='staffenroll',
+ name='image',
+ field=models.ImageField(blank=True, help_text='Form 5', null=True, upload_to='profiles', validators=[student_registration.staffenroll.models.validate_file_size], verbose_name='Form 5'),
+ ),
+ migrations.AddField(
+ model_name='staffenroll',
+ name='pic_commitment',
+ field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Picture of the commitment'),
+ ),
+ ]
diff --git a/student_registration/staffenroll/migrations/__init__.py b/student_registration/staffenroll/migrations/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/student_registration/staffenroll/models.py b/student_registration/staffenroll/models.py
new file mode 100644
index 000000000..be298be20
--- /dev/null
+++ b/student_registration/staffenroll/models.py
@@ -0,0 +1,286 @@
+from __future__ import unicode_literals
+from model_utils.models import TimeStampedModel
+from django.db import models
+
+import datetime
+from django.db import models
+from django.conf import settings
+from django.utils.translation import ugettext as _
+from model_utils import Choices
+from student_registration.staffs.models import Staffs
+from student_registration.schools.models import (
+ School,
+ ClassRoom,
+ Section,
+ EducationYear,
+)
+from django.core.exceptions import ValidationError
+
+
+# Create your models here.
+def validate_file_size(value):
+ filesize = value.size
+ if filesize > 250000:
+ raise ValidationError("The maximum file size that can be uploaded is 250K")
+ else:
+ return value
+
+
+class Jobs(models.Model):
+ SALARYTYPE = Choices(
+ ('H', _('Hourly')),
+ ('D', _('Daily')),
+ )
+ name = models.CharField(max_length=45, unique=True, verbose_name=_('Job description'), null=False, default=' ')
+ hourrate = models.IntegerField(
+ blank=True,
+ null=True,
+ verbose_name=_('Hour Rate')
+ )
+ maxhoursperweek = models.IntegerField(blank=True, null=True, verbose_name=_('Max.Hours per week'), )
+ salarytype = models.CharField(
+ max_length=1,
+ blank=True,
+ null=True,
+ choices=SALARYTYPE
+ )
+ with_date_interval = models.BooleanField(blank=True, default=False)
+ is_teacher = models.BooleanField(blank=True, default=False)
+ with_additionalhour = models.BooleanField(blank=True, default=False, verbose_name='with Hours no class')
+
+ class Meta:
+ ordering = ['id']
+ verbose_name_plural = 'Jobs'
+
+ def __unicode__(self):
+ return self.name
+
+
+class Worklist(models.Model):
+ name = models.CharField(max_length=200, unique=True)
+
+ class Meta:
+ ordering = ['name']
+
+ def __unicode__(self):
+ return self.name
+
+
+class Subjects(models.Model):
+ name = models.CharField(max_length=45, unique=True)
+
+ class Meta:
+ ordering = ['id']
+ verbose_name_plural = 'Subjects'
+
+ def __unicode__(self):
+ return self.name
+
+
+class StaffEnroll(TimeStampedModel):
+ EDUCATION_YEARS = list((str(x - 1) + '/' + str(x), str(x - 1) + '/' + str(x)) for x in range(2001, 2050))
+ EDUCATION_YEARS.append(('na', 'N/A'))
+ SCHOOL_SHIFT = Choices(
+ ('na', 'n/a'),
+ ('first', _('First shift')),
+ ('second', _('Second shift')),
+ ('alp', _('ALP')),
+ )
+ SHIFT = Choices(
+ ('D', _('Day')),
+ ('N', _('Night')),
+ )
+ CURRENT_YEAR = datetime.datetime.now().year
+ YEARS = ((str(x), x) for x in range(2016, CURRENT_YEAR))
+ staff = models.ForeignKey(
+ Staffs,
+ blank=False, null=True,
+ related_name='staff_enrollment',
+ )
+ job = models.ForeignKey(
+ Jobs,
+ blank=True, null=True,
+ verbose_name=_('Jobs')
+ )
+ joineddate = models.CharField(
+ max_length=10,
+ blank=True,
+ null=True,
+ choices=EDUCATION_YEARS
+ )
+ school = models.ForeignKey(
+ School,
+ blank=False, null=True,
+ related_name='school',
+ verbose_name=_('School')
+ )
+ section = models.ForeignKey(
+ Section,
+ blank=True, null=True,
+ related_name='+',
+ verbose_name=_('Current Section')
+ )
+ classroom = models.ForeignKey(
+ ClassRoom,
+ blank=True, null=True,
+ related_name='+',
+ verbose_name=_('Current Class')
+ )
+ subject = models.ForeignKey(
+ Subjects,
+ blank=True, null=True,
+ related_name='+',
+ verbose_name=_('Subjects')
+ )
+ education_year = models.ForeignKey(
+ EducationYear,
+ blank=True, null=True,
+ related_name='+',
+ verbose_name=_('Education year')
+ )
+ owner = models.ForeignKey(
+ settings.AUTH_USER_MODEL,
+ blank=False, null=True,
+ related_name='+',
+ verbose_name=_('Created by')
+ )
+ deleted = models.BooleanField(
+ blank=True, default=False,
+ verbose_name=_('deleted')
+ )
+ weeklyhours = models.IntegerField(
+ default=0,
+ verbose_name=_('Weekly Nb of hours'),
+ )
+ current_hourrate = models.IntegerField(
+ blank=True,
+ null=True,
+ verbose_name=_('Hour Rate')
+ )
+ shift = models.CharField(
+ max_length=1,
+ blank=True,
+ null=True,
+ choices=SHIFT
+ )
+ school_ispublic = models.BooleanField(
+ blank=True, default=False,
+ verbose_name=_('is public')
+ )
+ work = models.CharField(
+ blank=True, max_length=150, verbose_name=_('main work')
+ )
+ school_ismain = models.BooleanField(
+ blank=True, default=True,
+ verbose_name=_('is public')
+ )
+ starting_work = models.DateField(blank=True, null=True)
+ ending_work = models.DateField(blank=True, null=True)
+ weeklyhours_noclass = models.IntegerField(
+ default=0,
+ verbose_name=_('Weekly Nb of hours no class'),
+ )
+ school_am = models.ForeignKey(
+ School,
+ blank=False, null=True,
+ related_name='+',
+ verbose_name=_('School')
+ )
+ is_main = models.BooleanField(
+ blank=True, default=False,
+ verbose_name=_('main record')
+ )
+ worklist = models.ForeignKey(
+ Worklist,
+ blank=True,
+ null=True,
+ verbose_name=_('List of work')
+ )
+ image = models.ImageField(
+ upload_to="profiles",
+ null=True,
+ blank=True,
+ help_text=_('Form 5'),
+ verbose_name=_('Form 5'),
+ validators=[validate_file_size]
+ )
+ pic_commitment = models.CharField(
+ max_length=200,
+ blank=True, null=True,
+ verbose_name=_('Picture of the commitment')
+ )
+ @property
+ def cycle(self):
+ if self.classroom_id in [2, 3, 4]:
+ return 'Cycle 1'
+ if self.classroom_id in [5, 6, 7]:
+ return 'Cycle 2'
+ if self.classroom_id in [8, 9, 10]:
+ return 'Cycle 3'
+ if self.classroom_id == 1:
+ return 'KG'
+ return ''
+
+ class Meta:
+ ordering = ['-student__first_name']
+
+ def __unicode__(self):
+ if self.student:
+ return self.student.__unicode__()
+ return str(self.id)
+
+
+class staffattend(TimeStampedModel):
+ school = models.ForeignKey(
+ School,
+ blank=False, null=True,
+ related_name='+',
+ verbose_name=_('School')
+ )
+ education_year = models.ForeignKey(
+ EducationYear,
+ blank=True, null=True,
+ related_name='+',
+ verbose_name=_('Education year')
+ )
+ job = models.ForeignKey(
+ Jobs,
+ blank=True, null=True,
+ related_name='+',
+ verbose_name=_('Job Type')
+ )
+ staff = models.ForeignKey(
+ Staffs,
+ blank=False, null=True,
+ related_name='+',
+ verbose_name=_('Staff')
+ )
+ attenddate = models.DateField(null=False)
+ attendhours = models.IntegerField(default=0)
+ isattend = models.NullBooleanField(blank=True, default=False, null=True)
+ attendremarks = models.CharField(blank=True, null=True, max_length=200)
+
+
+class StatisticAttend(TimeStampedModel):
+ school = models.ForeignKey(
+ School,
+ blank=False, null=True,
+ related_name='+',
+ verbose_name=_('School')
+ )
+ education_year = models.ForeignKey(
+ EducationYear,
+ blank=True, null=True,
+ related_name='+',
+ verbose_name=_('Education year')
+ )
+ owner = models.ForeignKey(
+ settings.AUTH_USER_MODEL,
+ blank=False, null=True,
+ related_name='+',
+ verbose_name=_('Created by')
+ )
+ attenddate = models.DateField(null=False)
+ hoursofattendance = models.IntegerField(default=0)
+ nb_of_section = models.IntegerField(default=0)
+ remarks = models.CharField(blank=True, null=True, max_length=200)
diff --git a/student_registration/staffenroll/serializers.py b/student_registration/staffenroll/serializers.py
new file mode 100644
index 000000000..c3287690a
--- /dev/null
+++ b/student_registration/staffenroll/serializers.py
@@ -0,0 +1,188 @@
+from rest_framework import serializers
+
+
+class EnrollmentSerializer(serializers.ModelSerializer):
+
+ original_id = serializers.IntegerField(source='id', read_only=True)
+ staff_id = serializers.IntegerField(source='student.id', required=False)
+ staff_first_name = serializers.CharField(source='student.first_name')
+ staff_father_name = serializers.CharField(source='student.father_name')
+ staff_last_name = serializers.CharField(source='student.last_name')
+ staff_full_name = serializers.CharField(source='student.full_name', read_only=True)
+ staff_mother_fullname = serializers.CharField(source='student.mother_fullname')
+ staff_sex = serializers.CharField(source='student.sex')
+ staff_birthday_year = serializers.CharField(source='student.birthday_year')
+ staff_birthday_month = serializers.CharField(source='student.birthday_month')
+ staff_birthday_day = serializers.CharField(source='student.birthday_day')
+ staff_place_of_birth = serializers.CharField(source='student.place_of_birth', required=False)
+ staff_age = serializers.CharField(source='student.age', read_only=True)
+ staff_phone = serializers.CharField(source='student.phone', required=False)
+ staff_phone_prefix = serializers.CharField(source='student.phone_prefix', required=False)
+ staff_id_number = serializers.CharField(source='student.id_number', required=False)
+ staff_registered_in_unhcr = serializers.CharField(source='student.registered_in_unhcr', required=False)
+ staff_id_type = serializers.CharField(source='student.id_type', required=False)
+ staff_id_type_name = serializers.CharField(source='student.id_type.name', read_only=True)
+ staff_number = serializers.CharField(source='student.number', read_only=True)
+ staff_nationality = serializers.CharField(source='student.nationality', required=False)
+ staff_mother_nationality = serializers.CharField(source='student.mother_nationality', required=False)
+ staff_address = serializers.CharField(source='student.address', required=False)
+ school_name = serializers.CharField(source='school.name', read_only=True)
+ education_year_name = serializers.CharField(source='education_year.name', read_only=True)
+ school_number = serializers.CharField(source='school.number', read_only=True)
+ section_name = serializers.CharField(source='section.name', read_only=True)
+ classroom_name = serializers.CharField(source='classroom.name', read_only=True)
+ governorate_name = serializers.CharField(source='school.location.parent.name', read_only=True)
+ location = serializers.CharField(source='school.location.name', read_only=True)
+ staff_nationality_id = serializers.CharField(source='student.nationality.id', read_only=True)
+ staff_mother_nationality_id = serializers.CharField(source='student.mother_nationality.id', read_only=True)
+
+ staff_image = serializers.ImageField(source='staff.image', read_only=True)
+ csrfmiddlewaretoken = serializers.IntegerField(source='owner.id', read_only=True)
+ save = serializers.IntegerField(source='owner.id', read_only=True)
+ staffenroll_id = serializers.IntegerField(source='id', read_only=True)
+
+
+ def create(self, validated_data):
+ from student_registration.students.serializers import StudentSerializer
+ from student_registration.students.models import Student
+
+ student_data = validated_data.pop('student', None)
+
+ if 'id' in student_data and student_data['id']:
+ student_serializer = StudentSerializer(Student.objects.get(id=student_data['id']), data=student_data)
+ student_serializer.is_valid(raise_exception=True)
+ student_serializer.instance = student_serializer.save()
+ else:
+ student_serializer = StudentSerializer(data=student_data)
+ student_serializer.is_valid(raise_exception=True)
+ student_serializer.instance = student_serializer.save()
+ try:
+ instance = Enrollment.objects.create(**validated_data)
+ instance.student = student_serializer.instance
+ instance.save()
+
+ except Exception as ex:
+ raise serializers.ValidationError({'Enrollment instance': ex.message})
+
+ return instance
+
+ def update(self, instance, validated_data):
+
+ student_data = validated_data.pop('student', None)
+
+ if student_data:
+ from student_registration.students.serializers import StudentSerializer
+
+ student_serializer = StudentSerializer(instance.student, data=student_data)
+ student_serializer.is_valid(raise_exception=True)
+ student_serializer.instance = student_serializer.save()
+ try:
+
+ for key in validated_data:
+ if hasattr(instance, key):
+ setattr(instance, key, validated_data[key])
+
+ instance.save()
+
+ except Exception as ex:
+ raise serializers.ValidationError({'Enrollment instance': ex.message})
+
+ return instance
+
+ class Meta:
+ model = Enrollment
+ fields = (
+ 'id',
+ 'original_id',
+ 'enrollment_id',
+ 'student_id',
+ 'student_outreach_child',
+ 'student_outreach_child_id',
+ 'student_first_name',
+ 'student_father_name',
+ 'student_last_name',
+ 'student_full_name',
+ 'student_mother_fullname',
+ 'student_sex',
+ 'student_birthday_year',
+ 'student_birthday_month',
+ 'student_birthday_day',
+ 'student_place_of_birth',
+ 'student_age',
+ 'student_phone',
+ 'student_phone_prefix',
+ 'student_id_number',
+ 'student_id_type',
+ 'student_id_type_name',
+ 'student_number',
+ 'student_nationality',
+ 'student_mother_nationality',
+ 'student_registered_in_unhcr',
+ 'participated_in_alp',
+ 'number_in_previous_school',
+ # 'last_informal_edu_level',
+ 'last_informal_edu_round',
+ 'last_informal_edu_final_result',
+ 'student_address',
+ 'school',
+ 'school_name',
+ 'school_number',
+ 'section',
+ 'section_name',
+ 'classroom',
+ 'classroom_name',
+ 'last_year_result',
+ 'last_school_type',
+ 'last_school_shift',
+ 'last_school',
+ 'last_school_id',
+ 'last_education_level',
+ 'last_education_year',
+ 'owner',
+ 'governorate_name',
+ 'location',
+ 'student_nationality_id',
+ 'student_mother_nationality_id',
+ 'student_id_type_id',
+ 'last_education_level_id',
+ # 'last_informal_edu_level_id',
+ 'last_informal_edu_round_id',
+ 'last_informal_edu_final_result_id',
+ 'moved',
+ 'dropout_status',
+ 'exam_result_arabic',
+ 'exam_result_language',
+ 'exam_result_education',
+ 'exam_result_geo',
+ 'exam_result_history',
+ 'exam_result_math',
+ 'exam_result_science',
+ 'exam_result_physic',
+ 'exam_result_chemistry',
+ 'exam_result_bio',
+ 'exam_result_linguistic_ar',
+ 'exam_result_linguistic_en',
+ 'exam_result_sociology',
+ 'exam_result_physical',
+ 'exam_result_artistic',
+ 'exam_result_mathematics',
+ 'exam_result_sciences',
+ 'exam_total',
+ 'exam_result',
+ 'education_year',
+ 'education_year_name',
+ 'outreach_barcode',
+ 'student_outreached',
+ 'registration_date',
+ 'new_registry',
+ 'have_barcode',
+ 'search_school',
+ 'search_student',
+ 'search_barcode',
+ 'csrfmiddlewaretoken',
+ 'save',
+ 'school_type',
+ 'age_min_restricted',
+ 'age_max_restricted',
+ 'std_image',
+ )
diff --git a/student_registration/staffenroll/tables.py b/student_registration/staffenroll/tables.py
new file mode 100644
index 000000000..1d850aa09
--- /dev/null
+++ b/student_registration/staffenroll/tables.py
@@ -0,0 +1,43 @@
+# coding: utf-8
+import django_tables2 as tables
+from django.utils.translation import ugettext as _
+
+from .models import StaffEnroll
+
+
+class BootstrapTable(tables.Table):
+
+ class Meta:
+ model = StaffEnroll
+ template = 'django_tables2/bootstrap.html'
+ attrs = {'class': 'table table-bordered table-striped table-hover'}
+
+
+class StaffEnrollTable(tables.Table):
+
+ edit_column = tables.TemplateColumn(verbose_name=_('Edit Staff'), orderable=False,
+ template_name='staffenroll/edit_column.html',
+ attrs={'url': '/staffenroll/edit/'})
+ delete_column = tables.TemplateColumn(verbose_name=_('Delete Staff'), orderable=False,
+ template_name='staffenroll/delete_column.html',
+ attrs={'url': '/api/staffenroll/'})
+ #student_age = tables.Column(verbose_name=_('Age'), accessor='student.age', orderable=False,)
+
+ class Meta:
+ model = StaffEnroll
+ template = 'django_tables2/bootstrap.html'
+ fields = (
+ 'edit_column',
+ 'delete_column',
+ 'staff.first_name',
+ 'staff.father_name',
+ 'staff.last_name',
+ 'staff.sex',
+ 'staff.mother_fullname',
+ 'staff.id_number',
+ 'staff.address',
+ 'staff_phone_number',
+ 'classroom',
+ 'section',
+ 'subject',
+ )
diff --git a/student_registration/staffenroll/tests.py b/student_registration/staffenroll/tests.py
new file mode 100644
index 000000000..7ce503c2d
--- /dev/null
+++ b/student_registration/staffenroll/tests.py
@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.
diff --git a/student_registration/staffenroll/urls.py b/student_registration/staffenroll/urls.py
new file mode 100644
index 000000000..72c3fbaf2
--- /dev/null
+++ b/student_registration/staffenroll/urls.py
@@ -0,0 +1,28 @@
+from __future__ import absolute_import, unicode_literals
+
+from django.conf.urls import url
+from . import views
+
+urlpatterns = [
+
+ url(
+ regex=r'^add/$',
+ view=views.AddView.as_view(),
+ name='add'
+ ),
+ # url(
+ # regex=r'^edit/(?P[\w.@+-]+)/$',
+ # view=views.EditView.as_view(),
+ # name='edit'
+# ),
+ # url(
+ # regex=r'^saveimage/(?P[\w.@+-]+)/$',
+ # view=views.image_update,
+ # name='saveimage'
+ # ),
+ url(
+ regex=r'^list/$',
+ view=views.ListingView.as_view(),
+ name='list'
+ ),
+]
diff --git a/student_registration/staffenroll/views.py b/student_registration/staffenroll/views.py
new file mode 100644
index 000000000..128865ed4
--- /dev/null
+++ b/student_registration/staffenroll/views.py
@@ -0,0 +1,72 @@
+from django.shortcuts import render
+from django_tables2 import MultiTableMixin, RequestConfig, SingleTableView
+from django_tables2.export.views import ExportMixin
+from django.views.generic import FormView
+from django.utils.translation import ugettext as _
+from braces.views import GroupRequiredMixin, SuperuserRequiredMixin
+from django.contrib.auth.mixins import LoginRequiredMixin
+from student_registration.staffenroll.filters import StaffEnrollFilter
+from student_registration.staffenroll.models import StaffEnroll
+from .tables import BootstrapTable, StaffEnrollTable
+from student_registration.users.utils import force_default_language
+from .models import EducationYear
+
+
+
+class ListingView(LoginRequiredMixin,
+ GroupRequiredMixin,
+ StaffEnrollFilter,
+ ExportMixin,
+ SingleTableView,
+ RequestConfig):
+
+ table_class = StaffEnrollTable
+ model = StaffEnroll
+ template_name = 'staffenroll/list.html'
+ table = BootstrapTable(StaffEnroll.objects.all(), order_by='id')
+ filterset_class = StaffEnrollFilter
+ group_required = [u"SCHOOL"]
+
+ def get_queryset(self):
+ force_default_language(self.request)
+ education_year = EducationYear.objects.get(current_year=True)
+ return StaffEnroll.objects.exclude(deleted=False).filter(
+ education_year=education_year,
+ school=self.request.user.school_id
+ )
+
+
+class AddView(LoginRequiredMixin,
+ GroupRequiredMixin,
+ FormView):
+
+ template_name = 'bootstrap4/common_form.html'
+ #`form_class = StaffEnrollForm
+ success_url = '/staffenroll/list/'
+ group_required = [u"ENROL_CREATE"]
+
+ def get_success_url(self):
+ if self.request.POST.get('save_add_another', None):
+ return '/staffenroll/add/'
+ return self.success_url
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(AddView, self).get_context_data(**kwargs)
+
+
+
+ # def get_form(self, form_class=None):
+ # if self.request.method == "POST":
+ # return EnrollmentForm(self.request.POST, request=self.request)
+ # else:
+ # return EnrollmentForm(self.get_initial())
+
+ def form_valid(self, form):
+ if self.request.FILES and self.request.FILES['student_std_image']:
+ self.request.std_image = self.request.FILES['student_std_image']
+ form.save(self.request)
+ return super(AddView, self).form_valid(form)
diff --git a/student_registration/staffs/__init__.py b/student_registration/staffs/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/student_registration/staffs/admin.py b/student_registration/staffs/admin.py
new file mode 100644
index 000000000..ca5c82937
--- /dev/null
+++ b/student_registration/staffs/admin.py
@@ -0,0 +1,12 @@
+from django.contrib import admin
+from .models import Bank, Certificate, University, Staffs
+from student_registration.users.models import Login
+# Register your models here.
+
+
+admin.site.register(Bank)
+admin.site.register(Certificate)
+admin.site.register(University)
+admin.site.register(Staffs)
+admin.site.register(Login)
+
diff --git a/student_registration/staffs/apps.py b/student_registration/staffs/apps.py
new file mode 100644
index 000000000..3c2247821
--- /dev/null
+++ b/student_registration/staffs/apps.py
@@ -0,0 +1,7 @@
+from __future__ import unicode_literals
+
+from django.apps import AppConfig
+
+
+class StaffsConfig(AppConfig):
+ name = 'staffs'
diff --git a/student_registration/staffs/forms.py b/student_registration/staffs/forms.py
new file mode 100644
index 000000000..9dc6cf05b
--- /dev/null
+++ b/student_registration/staffs/forms.py
@@ -0,0 +1,170 @@
+from __future__ import unicode_literals, absolute_import, division
+from django import forms
+from django.core.urlresolvers import reverse
+from django.utils.translation import ugettext as _
+from student_registration.students.models import Person, Nationality
+from student_registration.staffs.models import Staffs, Bank, Certificate, University
+from student_registration.locations.models import Location
+from crispy_forms.helper import FormHelper
+from crispy_forms.layout import Layout, Fieldset, Button, Submit, Div, Field, HTML
+
+
+YEARS = list(((str(x), x) for x in range(Person.CURRENT_YEAR-20, Person.CURRENT_YEAR-2)))
+YEARS.insert(0, ('', '---------'))
+
+DAYS = list(((str(x), x) for x in range(1, 32)))
+DAYS.insert(0, ('', '---------'))
+
+
+class StaffForm(forms.ModelForm):
+
+ #def __init__(self, *args, **kwargs):
+ # super(StaffForm, self).__init__(*args, **kwargs)
+
+ first_name = forms.CharField(label=_('First Name'), widget=forms.TextInput(attrs={'size': '80'}))
+ father_name = forms.CharField(label=_('Father Name'), widget=forms.TextInput(attrs={'size': '80'}))
+ last_name = forms.CharField(label=_('Family Name'), widget=forms.TextInput(attrs={'size': '80'}))
+ image = forms.ImageField(required=False)
+ id_number = forms.CharField(max_length=30, required=True, label=_('ID number'))
+ mother_fullname = forms.CharField(label=_('Mother fullname'), widget=forms.TextInput(attrs={'size': '80'}))
+ sex = forms.ChoiceField(
+ label=_("Sex"),
+ widget=forms.Select(attrs={'style': 'width:110px'}), required=True,
+ choices=(
+ ('', '----------'),
+ ('Male', _('Male')),
+ ('Female', _('Female')),
+ )
+ )
+ birthday_year = forms.ChoiceField(
+ label=_("Birthday year"),
+ widget=forms.Select(attrs={'style': 'width:110px'}), required=True,
+ choices=YEARS
+ )
+ birthday_month = forms.ChoiceField(
+ label=_("Birthday month"),
+ widget=forms.Select(attrs={'style': 'width:110px'}), required=True,
+ choices=(
+ ('', '----------'),
+ ('1', _('January')),
+ ('2', _('February')),
+ ('3', _('March')),
+ ('4', _('April')),
+ ('5', _('May')),
+ ('6', _('June')),
+ ('7', _('July')),
+ ('8', _('August')),
+ ('9', _('September')),
+ ('10', _('October')),
+ ('11', _('November')),
+ ('12', _('December')),
+ )
+ )
+ birthday_day = forms.ChoiceField(
+ label=_("Birthday day"),
+ widget=forms.Select(attrs={'style': 'width:110px'}), required=True,
+ choices=DAYS
+ )
+ place_of_birth = forms.CharField(
+ max_length=200,
+ required=False,
+ label=_('Place of birth'), widget=forms.TextInput(attrs={'size': '80'})
+ )
+ family_status = forms.ChoiceField(
+ label=_('Staff status'),
+ widget=forms.Select(attrs={'style': 'width:130px'}), required=False,
+ choices=(
+ ('married', _('Married')),
+ ('engaged', _('Engaged')),
+ ('divorced', _('Divorced')),
+ ('widower', _('Widower')),
+ ('single', _('Single')),
+ )
+ )
+ phone = forms.CharField(max_length=24, label=_('Phone number'), required=True)
+ address = forms.CharField(
+ label=_('Address'),
+ widget=forms.Textarea(attrs={'rows': 5,
+ 'cols': 80,
+ 'style': 'height: 5em;'}),
+ )
+ MinisterApproval = forms.ChoiceField(
+ label=_("Minister Approval"),
+ choices=(
+ ('0', '--------'),
+ ('Exceptional', _('Exceptional Approved')),
+ ('AccordingToCond', _('Consent According to Conditions')),
+ ('CadreOrCont', _('Cadre / Contractual')),
+ )
+ )
+ nationality = forms.ModelChoiceField(
+ label=_('Nationality'),
+ queryset=Nationality.objects.all(), widget=forms.Select(attrs={'style': 'width:130px'}),
+ required=True
+ )
+ bank = forms.ModelChoiceField(
+ label=_('Bank'),
+ queryset=Bank.objects.all(), widget=forms.Select(attrs={'style': 'width:130px'}),
+ required=False
+ )
+ branch = forms.CharField(
+ label=_('Branch'),
+ widget=forms.TextInput(attrs={'size': '80'}),
+ required=False
+ )
+ certificate = forms.ModelChoiceField(
+ label=_('Certificate'),
+ queryset=Certificate.objects.all(), widget=forms.Select(attrs={'style': 'width:130px'}),
+ required=False
+ )
+ university = forms.ModelChoiceField(
+ label=_('University'),
+ queryset=University.objects.all(), widget=forms.Select(attrs={'style': 'width:130px'}),
+ required=False
+ )
+ iban = forms.CharField(
+ label=_('IBAN'),
+ widget=forms.TextInput(attrs={'size': '80'}),
+ required=False
+ )
+ Automated_Nb = forms.CharField(
+ label=_('Automated Nb'),
+ widget=forms.TextInput(attrs={'size': '80'}),
+ required=False
+ )
+ Financial_Nb = forms.CharField(
+ label=_('Financial Nb'),
+ widget=forms.TextInput(attrs={'size': '80'}),
+ required=False
+ )
+ governorate = forms.ModelChoiceField(
+ label=_('Governorate'),
+ queryset=Location.objects.filter(parent__isnull=True), widget=forms.Select(attrs={'style': 'width:130px'}),
+ required=False
+ )
+ caza = forms.ModelChoiceField(
+ label=_('Caza'),
+ queryset=Location.objects.filter(parent__isnull=False), widget=forms.Select(attrs={'style': 'width:130px'}),
+ required=False
+ )
+
+ def __init__(self, *args, **kwargs):
+ self.request = kwargs.pop('request', None)
+ super(StaffForm, self).__init__(*args, **kwargs)
+ instance = kwargs['instance'] if 'instance' in kwargs else ''
+
+ class Meta:
+ model = Staffs
+ fields = [
+ 'image', 'first_name','father_name','last_name', 'sex', 'mother_fullname','birthday_year','birthday_month','birthday_day',
+ 'place_of_birth',
+ 'family_status',
+ 'id_number',
+ 'nationality', 'phone', 'governorate', 'caza', 'address',
+ 'certificate', 'university',
+ 'MinisterApproval',
+ 'Automated_Nb', 'Financial_Nb',
+ 'bank', 'branch', 'iban'
+ ]
+
+
diff --git a/student_registration/staffs/migrations/0001_initial.py b/student_registration/staffs/migrations/0001_initial.py
new file mode 100644
index 000000000..c9ed4e3e7
--- /dev/null
+++ b/student_registration/staffs/migrations/0001_initial.py
@@ -0,0 +1,47 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-09-02 12:48
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Banks',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('code', models.CharField(max_length=20, unique=True)),
+ ('name', models.CharField(max_length=45, unique=True)),
+ ],
+ options={
+ 'ordering': ['code'],
+ },
+ ),
+ migrations.CreateModel(
+ name='Certificate',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('name', models.CharField(max_length=60, unique=True)),
+ ],
+ options={
+ 'ordering': ['name'],
+ },
+ ),
+ migrations.CreateModel(
+ name='University',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('name', models.CharField(max_length=60, unique=True)),
+ ],
+ options={
+ 'ordering': ['name'],
+ },
+ ),
+ ]
diff --git a/student_registration/staffs/migrations/0002_staffs.py b/student_registration/staffs/migrations/0002_staffs.py
new file mode 100644
index 000000000..c3f192a95
--- /dev/null
+++ b/student_registration/staffs/migrations/0002_staffs.py
@@ -0,0 +1,45 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-09-09 06:23
+from __future__ import unicode_literals
+
+from django.conf import settings
+from django.db import migrations, models
+import django.db.models.deletion
+import django.utils.timezone
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('students', '0044_student_std_phone'),
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ('staffs', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Staffs',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('first_name', models.CharField(blank=True, db_index=True, max_length=64, null=True, verbose_name='\u0627\u0644\u0627\u0633\u0645 \u0627\u0644\u0627\u0648\u0644')),
+ ('last_name', models.CharField(blank=True, db_index=True, max_length=64, null=True, verbose_name='\u0627\u0644\u0634\u0647\u0631\u0629')),
+ ('father_name', models.CharField(blank=True, db_index=True, max_length=64, null=True, verbose_name='\u0627\u0633\u0645 \u0627\u0644\u0627\u0628')),
+ ('id_number', models.CharField(max_length=30, unique=True)),
+ ('MinisterApproval', models.CharField(blank=True, choices=[('Exceptional', 'Exceptional Approved'), ('AccordingToCond', 'Consent According to Conditions'), ('CadreOrCont', 'Cadre / Contractual')], max_length=150, null=True, verbose_name='Minister Approved')),
+ ('image', models.ImageField(blank=True, help_text='Profile Picture', null=True, upload_to='profiles', verbose_name='Profile Picture')),
+ ('mother_fullname', models.CharField(blank=True, db_index=True, max_length=64, null=True, verbose_name='\u0627\u0633\u0645 \u0627\u0644\u0623\u0645 \u0648\u0634\u0647\u0631\u062a\u0647\u0627 ')),
+ ('sex', models.CharField(blank=True, choices=[('Male', '\u0630\u0643\u0631'), ('Female', '\u0627\u0646\u062b\u0649')], max_length=50, null=True, verbose_name='\u0627\u0644\u062c\u0646\u0633')),
+ ('birthday_year', models.CharField(blank=True, choices=[(b'1990', 1990), (b'1991', 1991), (b'1992', 1992), (b'1993', 1993), (b'1994', 1994), (b'1995', 1995), (b'1996', 1996), (b'1997', 1997), (b'1998', 1998), (b'1999', 1999), (b'2000', 2000), (b'2001', 2001), (b'2002', 2002), (b'2003', 2003), (b'2004', 2004), (b'2005', 2005), (b'2006', 2006), (b'2007', 2007), (b'2008', 2008), (b'2009', 2009), (b'2010', 2010), (b'2011', 2011), (b'2012', 2012), (b'2013', 2013), (b'2014', 2014), (b'2015', 2015), (b'2016', 2016), (b'2017', 2017), (b'2018', 2018), (b'2019', 2019), (b'2020', 2020), (b'2021', 2021), (b'2022', 2022), (b'2023', 2023), (b'2024', 2024), (b'2025', 2025), (b'2026', 2026), (b'2027', 2027), (b'2028', 2028), (b'2029', 2029), (b'2030', 2030), (b'2031', 2031), (b'2032', 2032), (b'2033', 2033), (b'2034', 2034), (b'2035', 2035), (b'2036', 2036), (b'2037', 2037), (b'2038', 2038), (b'2039', 2039), (b'2040', 2040), (b'2041', 2041), (b'2042', 2042), (b'2043', 2043), (b'2044', 2044), (b'2045', 2045), (b'2046', 2046), (b'2047', 2047), (b'2048', 2048), (b'2049', 2049)], default=0, max_length=4, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0648\u0644\u0627\u062f\u0629 - \u0627\u0644\u0633\u0646\u0629')),
+ ('birthday_month', models.CharField(blank=True, choices=[('1', '\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a'), ('2', '\u0634\u0628\u0627\u0637'), ('3', '\u0622\u0630\u0627\u0631'), ('4', '\u0646\u064a\u0633\u0627\u0646'), ('5', '\u0623\u064a\u0627\u0631'), ('6', '\u062d\u0632\u064a\u0631\u0627\u0646'), ('7', '\u062a\u0645\u0648\u0632'), ('8', '\u0622\u0628'), ('9', '\u0623\u064a\u0644\u0648\u0644'), ('10', '\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644'), ('11', '\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a'), ('12', '\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644')], default=0, max_length=2, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0648\u0644\u0627\u062f\u0629 - \u0627\u0644\u0634\u0647\u0631')),
+ ('birthday_day', models.CharField(blank=True, choices=[(b'1', 1), (b'2', 2), (b'3', 3), (b'4', 4), (b'5', 5), (b'6', 6), (b'7', 7), (b'8', 8), (b'9', 9), (b'10', 10), (b'11', 11), (b'12', 12), (b'13', 13), (b'14', 14), (b'15', 15), (b'16', 16), (b'17', 17), (b'18', 18), (b'19', 19), (b'20', 20), (b'21', 21), (b'22', 22), (b'23', 23), (b'24', 24), (b'25', 25), (b'26', 26), (b'27', 27), (b'28', 28), (b'29', 29), (b'30', 30), (b'31', 31)], default=0, max_length=2, null=True, verbose_name='\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0648\u0644\u0627\u062f\u0629 - \u0627\u0644\u064a\u0648\u0645')),
+ ('place_of_birth', models.CharField(blank=True, max_length=200, null=True, verbose_name='\u0645\u0643\u0627\u0646 \u0627\u0644\u0648\u0644\u0627\u062f\u0629 ')),
+ ('family_status', models.CharField(blank=True, choices=[('married', '\u0645\u062a\u0632\u0648\u062c / \u0645\u062a\u0632\u0648\u062c\u0629'), ('engaged', '\u0645\u062e\u0637\u0648\u0628 / \u0645\u062e\u0637\u0648\u0628\u0629'), ('divorced', '\u0645\u0637\u0644\u0642 / \u0645\u0637\u0644\u0642\u0629'), ('widower', '\u0627\u0631\u0645\u0644 / \u0627\u0631\u0645\u0644\u0629'), ('single', '\u0623\u0639\u0632\u0628 / \u0639\u0632\u0628\u0627\u0621')], max_length=50, null=True, verbose_name='\u0648\u0636\u0639 \u0627\u0644\u062a\u0644\u0645\u064a\u0630')),
+ ('have_children', models.CharField(blank=True, choices=[(1, '\u0646\u0639\u0645'), (0, '\u0643\u0644\u0627')], max_length=50, null=True, verbose_name='\u0644\u062f\u064a\u0647 \u0627\u0637\u0641\u0627\u0644')),
+ ('phone', models.CharField(blank=True, max_length=24, null=True, verbose_name='\u0627\u0644\u0647\u0627\u062a\u0641')),
+ ('address', models.TextField(blank=True, null=True, verbose_name='\u0627\u0644\u0639\u0646\u0648\u0627\u0646')),
+ ('created', models.DateTimeField(default=django.utils.timezone.now)),
+ ('nationality', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='students.Nationality', verbose_name=' \u0627\u0644\u062c\u0646\u0633\u064a\u0629')),
+ ('owner', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='\u0627\u0646\u0634\u0623 \u0645\u0646 \u0642\u0628\u0644')),
+ ],
+ ),
+ ]
diff --git a/student_registration/staffs/migrations/0003_remove_staffs_have_children.py b/student_registration/staffs/migrations/0003_remove_staffs_have_children.py
new file mode 100644
index 000000000..db9771156
--- /dev/null
+++ b/student_registration/staffs/migrations/0003_remove_staffs_have_children.py
@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-09-09 11:25
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffs', '0002_staffs'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='staffs',
+ name='have_children',
+ ),
+ ]
diff --git a/student_registration/staffs/migrations/0004_auto_20190910_1023.py b/student_registration/staffs/migrations/0004_auto_20190910_1023.py
new file mode 100644
index 000000000..2ed60a839
--- /dev/null
+++ b/student_registration/staffs/migrations/0004_auto_20190910_1023.py
@@ -0,0 +1,55 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-09-10 07:23
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffs', '0003_remove_staffs_have_children'),
+ ]
+
+ operations = [
+ migrations.RenameModel(
+ old_name='Banks',
+ new_name='Bank',
+ ),
+ migrations.AddField(
+ model_name='staffs',
+ name='bank',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='staffs.Bank', verbose_name='Bank'),
+ ),
+ migrations.AddField(
+ model_name='staffs',
+ name='branch',
+ field=models.CharField(blank=True, max_length=20, null=True, verbose_name='Branch'),
+ ),
+ migrations.AddField(
+ model_name='staffs',
+ name='certificate',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='staffs.Certificate', verbose_name='Certificate'),
+ ),
+ migrations.AddField(
+ model_name='staffs',
+ name='iban',
+ field=models.CharField(blank=True, max_length=100, null=True, verbose_name='IBAN'),
+ ),
+ migrations.AddField(
+ model_name='staffs',
+ name='type_of_employment',
+ field=models.CharField(blank=True, choices=[('Cadre', 'Cadre'), ('Contractual', 'Contractual'), ('Supporter', 'Supporter')], max_length=80, null=True, verbose_name='Type on Employment'),
+ ),
+ migrations.AddField(
+ model_name='staffs',
+ name='university',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='staffs.University', verbose_name='University Name'),
+ ),
+ migrations.AlterField(
+ model_name='staffs',
+ name='nationality',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='students.Nationality', verbose_name=' \u0627\u0644\u062c\u0646\u0633\u064a\u0629'),
+ ),
+ ]
diff --git a/student_registration/staffs/migrations/0005_auto_20190910_1513.py b/student_registration/staffs/migrations/0005_auto_20190910_1513.py
new file mode 100644
index 000000000..fe534ea58
--- /dev/null
+++ b/student_registration/staffs/migrations/0005_auto_20190910_1513.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-09-10 12:13
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffs', '0004_auto_20190910_1023'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='staffs',
+ name='Automated_Nb',
+ field=models.CharField(blank=True, max_length=15, null=True, verbose_name='Automated Nb'),
+ ),
+ migrations.AddField(
+ model_name='staffs',
+ name='Financial_Nb',
+ field=models.CharField(blank=True, max_length=20, null=True, verbose_name='Financial Nb'),
+ ),
+ ]
diff --git a/student_registration/staffs/migrations/0006_auto_20190911_0221.py b/student_registration/staffs/migrations/0006_auto_20190911_0221.py
new file mode 100644
index 000000000..2f68c289e
--- /dev/null
+++ b/student_registration/staffs/migrations/0006_auto_20190911_0221.py
@@ -0,0 +1,27 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-09-10 23:21
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('locations', '0005_auto_20170731_2134'),
+ ('staffs', '0005_auto_20190910_1513'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='staffs',
+ name='caza',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='staff_caza', to='locations.Location', verbose_name='Caza'),
+ ),
+ migrations.AddField(
+ model_name='staffs',
+ name='district',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='staff_district', to='locations.Location', verbose_name='\u0627\u0644\u0642\u0636\u0627\u0621'),
+ ),
+ ]
diff --git a/student_registration/staffs/migrations/0007_auto_20190922_2321.py b/student_registration/staffs/migrations/0007_auto_20190922_2321.py
new file mode 100644
index 000000000..081765a97
--- /dev/null
+++ b/student_registration/staffs/migrations/0007_auto_20190922_2321.py
@@ -0,0 +1,32 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-09-22 20:21
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+import student_registration.staffs.models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('locations', '0005_auto_20170731_2134'),
+ ('staffs', '0006_auto_20190911_0221'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='staffs',
+ name='district',
+ ),
+ migrations.AddField(
+ model_name='staffs',
+ name='governorate',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='staff_governorate', to='locations.Location', verbose_name='\u0627\u0644\u0645\u062d\u0627\u0641\u0638\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='staffs',
+ name='image',
+ field=models.ImageField(blank=True, help_text='Profile Picture', null=True, upload_to='profiles', validators=[student_registration.staffs.models.validate_file_size], verbose_name='Profile Picture'),
+ ),
+ ]
diff --git a/student_registration/staffs/migrations/0008_auto_20190928_0838.py b/student_registration/staffs/migrations/0008_auto_20190928_0838.py
new file mode 100644
index 000000000..6c37f59ca
--- /dev/null
+++ b/student_registration/staffs/migrations/0008_auto_20190928_0838.py
@@ -0,0 +1,79 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-09-28 05:38
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+import student_registration.staffs.models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffs', '0007_auto_20190922_2321'),
+ ]
+
+ operations = [
+ migrations.AlterModelOptions(
+ name='bank',
+ options={'ordering': ['code'], 'verbose_name_plural': 'Bank'},
+ ),
+ migrations.AlterModelOptions(
+ name='staffs',
+ options={'verbose_name_plural': 'Staff'},
+ ),
+ migrations.AlterModelOptions(
+ name='university',
+ options={'ordering': ['name'], 'verbose_name_plural': 'Universities'},
+ ),
+ migrations.AlterField(
+ model_name='staffs',
+ name='Automated_Nb',
+ field=models.CharField(blank=True, max_length=15, null=True, verbose_name='\u0627\u0644\u0631\u0642\u0645 \u0627\u0644\u0627\u0644\u064a'),
+ ),
+ migrations.AlterField(
+ model_name='staffs',
+ name='Financial_Nb',
+ field=models.CharField(blank=True, max_length=20, null=True, verbose_name='\u0627\u0644\u0631\u0642\u0645 \u0627\u0644\u0645\u0627\u0644\u064a'),
+ ),
+ migrations.AlterField(
+ model_name='staffs',
+ name='MinisterApproval',
+ field=models.CharField(blank=True, choices=[('Exceptional', '\u0645\u0648\u0627\u0641\u0642\u0629 \u0627\u0633\u062a\u062b\u0646\u0627\u0626\u064a\u0629'), ('AccordingToCond', '\u0645\u0648\u0627\u0641\u0642\u0629 \u0628\u062d\u0633\u0628 \u0627\u0644\u0634\u0631\u0648\u0637 \u0641\u064a \u0627\u0644\u0645\u0630\u0643\u0631\u0629'), ('CadreOrCont', '\u0645\u0644\u0627\u0643 \u0627\u0648 \u0645\u062a\u0639\u0627\u0642\u062f \u0648\u0641\u0642 \u0627\u0644\u0627\u0635\u0648\u0644')], max_length=150, null=True, verbose_name='\u0645\u0648\u0627\u0641\u0642\u0629 \u0627\u0644\u0648\u0632\u064a\u0631'),
+ ),
+ migrations.AlterField(
+ model_name='staffs',
+ name='bank',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='staffs.Bank', verbose_name='\u0627\u0644\u0628\u0646\u0643'),
+ ),
+ migrations.AlterField(
+ model_name='staffs',
+ name='branch',
+ field=models.CharField(blank=True, max_length=20, null=True, verbose_name='\u0627\u0644\u0641\u0631\u0639'),
+ ),
+ migrations.AlterField(
+ model_name='staffs',
+ name='caza',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='staff_caza', to='locations.Location', verbose_name='\u0627\u0644\u0642\u0636\u0627\u0621'),
+ ),
+ migrations.AlterField(
+ model_name='staffs',
+ name='certificate',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='staffs.Certificate', verbose_name='\u0627\u0644\u0634\u0647\u0627\u062f\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='staffs',
+ name='image',
+ field=models.ImageField(blank=True, help_text='\u0627\u0644\u0635\u0648\u0631\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629', null=True, upload_to='profiles', validators=[student_registration.staffs.models.validate_file_size], verbose_name='\u0627\u0644\u0635\u0648\u0631\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='staffs',
+ name='type_of_employment',
+ field=models.CharField(blank=True, choices=[('Cadre', '\u0645\u0644\u0627\u0643'), ('Contractual', 'Contractual'), ('Supporter', '\u0645\u0633\u062a\u0639\u0627\u0646 \u0628\u0647')], max_length=80, null=True, verbose_name='\u0646\u0648\u0639 \u0627\u0644\u0648\u0638\u064a\u0641\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='staffs',
+ name='university',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='staffs.University', verbose_name='\u0625\u0633\u0645 \u0627\u0644\u062c\u0627\u0645\u0639\u0629'),
+ ),
+ ]
diff --git a/student_registration/staffs/migrations/0009_auto_20191008_1151.py b/student_registration/staffs/migrations/0009_auto_20191008_1151.py
new file mode 100644
index 000000000..23a682e5a
--- /dev/null
+++ b/student_registration/staffs/migrations/0009_auto_20191008_1151.py
@@ -0,0 +1,31 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-10-08 08:51
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import student_registration.staffs.models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffs', '0008_auto_20190928_0838'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='staffs',
+ name='iban',
+ field=models.CharField(blank=True, max_length=100, null=True, verbose_name='\u0631\u0642\u0645 \u0627\u0644\u062d\u0633\u0627\u0628 \u0627\u0644\u0628\u0646\u0643\u064a IBAN'),
+ ),
+ migrations.AlterField(
+ model_name='staffs',
+ name='image',
+ field=models.ImageField(blank=True, help_text='\u0627\u0644\u0635\u0648\u0631\u0629 \u0627\u0644\u0634\u0645\u0633\u064a\u0629', null=True, upload_to='profiles', validators=[student_registration.staffs.models.validate_file_size], verbose_name='\u0627\u0644\u0635\u0648\u0631\u0629 \u0627\u0644\u0634\u0645\u0633\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='staffs',
+ name='type_of_employment',
+ field=models.CharField(blank=True, choices=[('Cadre', '\u0645\u0644\u0627\u0643'), ('Contractual', '\u0645\u062a\u0639\u0627\u0642\u062f'), ('Supporter', '\u0645\u0633\u062a\u0639\u0627\u0646 \u0628\u0647')], max_length=80, null=True, verbose_name='\u0646\u0648\u0639 \u0627\u0644\u0648\u0638\u064a\u0641\u0629'),
+ ),
+ ]
diff --git a/student_registration/staffs/migrations/0010_auto_20191120_1447.py b/student_registration/staffs/migrations/0010_auto_20191120_1447.py
new file mode 100644
index 000000000..95c044677
--- /dev/null
+++ b/student_registration/staffs/migrations/0010_auto_20191120_1447.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-11-20 12:47
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffs', '0009_auto_20191008_1151'),
+ ]
+
+ operations = [
+ migrations.RenameField(
+ model_name='staffs',
+ old_name='Automated_Nb',
+ new_name='automated_nb',
+ ),
+ migrations.RenameField(
+ model_name='staffs',
+ old_name='Financial_Nb',
+ new_name='financial_nb',
+ ),
+ ]
diff --git a/student_registration/staffs/migrations/0011_auto_20191121_1007.py b/student_registration/staffs/migrations/0011_auto_20191121_1007.py
new file mode 100644
index 000000000..3d912480a
--- /dev/null
+++ b/student_registration/staffs/migrations/0011_auto_20191121_1007.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-11-21 08:07
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffs', '0010_auto_20191120_1447'),
+ ]
+
+ operations = [
+ migrations.RenameField(
+ model_name='staffs',
+ old_name='MinisterApproval',
+ new_name='ministerapproval',
+ ),
+ ]
diff --git a/student_registration/staffs/migrations/0012_staffs_staff_seq.py b/student_registration/staffs/migrations/0012_staffs_staff_seq.py
new file mode 100644
index 000000000..f2580d34f
--- /dev/null
+++ b/student_registration/staffs/migrations/0012_staffs_staff_seq.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-11-22 05:54
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffs', '0011_auto_20191121_1007'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='staffs',
+ name='staff_seq',
+ field=models.IntegerField(blank=True, null=True),
+ ),
+ ]
diff --git a/student_registration/staffs/migrations/0013_remove_staffs_staff_seq.py b/student_registration/staffs/migrations/0013_remove_staffs_staff_seq.py
new file mode 100644
index 000000000..9a6ba2429
--- /dev/null
+++ b/student_registration/staffs/migrations/0013_remove_staffs_staff_seq.py
@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-12-21 06:59
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffs', '0012_staffs_staff_seq'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='staffs',
+ name='staff_seq',
+ ),
+ ]
diff --git a/student_registration/staffs/migrations/0014_auto_20191222_0205.py b/student_registration/staffs/migrations/0014_auto_20191222_0205.py
new file mode 100644
index 000000000..516994e3e
--- /dev/null
+++ b/student_registration/staffs/migrations/0014_auto_20191222_0205.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-12-22 00:05
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffs', '0013_remove_staffs_staff_seq'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='staffs',
+ name='email',
+ field=models.EmailField(blank=True, max_length=254, verbose_name='email address'),
+ ),
+ migrations.AddField(
+ model_name='staffs',
+ name='staff_seq',
+ field=models.IntegerField(blank=True, null=True),
+ ),
+ ]
diff --git a/student_registration/staffs/migrations/0015_staffs_first_education_year.py b/student_registration/staffs/migrations/0015_staffs_first_education_year.py
new file mode 100644
index 000000000..5060005d9
--- /dev/null
+++ b/student_registration/staffs/migrations/0015_staffs_first_education_year.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-12-23 11:33
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffs', '0014_auto_20191222_0205'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='staffs',
+ name='first_education_year',
+ field=models.CharField(blank=True, choices=[('2000/2001', '2000/2001'), ('2001/2002', '2001/2002'), ('2002/2003', '2002/2003'), ('2003/2004', '2003/2004'), ('2004/2005', '2004/2005'), ('2005/2006', '2005/2006'), ('2006/2007', '2006/2007'), ('2007/2008', '2007/2008'), ('2008/2009', '2008/2009'), ('2009/2010', '2009/2010'), ('2010/2011', '2010/2011'), ('2011/2012', '2011/2012'), ('2012/2013', '2012/2013'), ('2013/2014', '2013/2014'), ('2014/2015', '2014/2015'), ('2015/2016', '2015/2016'), ('2016/2017', '2016/2017'), ('2017/2018', '2017/2018'), ('2018/2019', '2018/2019'), ('2019/2020', '2019/2020'), ('2020/2021', '2020/2021'), ('2021/2022', '2021/2022'), ('2022/2023', '2022/2023'), ('2023/2024', '2023/2024'), ('2024/2025', '2024/2025'), ('2025/2026', '2025/2026'), ('2026/2027', '2026/2027'), ('2027/2028', '2027/2028'), ('2028/2029', '2028/2029'), ('2029/2030', '2029/2030'), ('2030/2031', '2030/2031'), ('2031/2032', '2031/2032'), ('2032/2033', '2032/2033'), ('2033/2034', '2033/2034'), ('2034/2035', '2034/2035'), ('2035/2036', '2035/2036'), ('2036/2037', '2036/2037'), ('2037/2038', '2037/2038'), ('2038/2039', '2038/2039'), ('2039/2040', '2039/2040'), ('2040/2041', '2040/2041'), ('2041/2042', '2041/2042'), ('2042/2043', '2042/2043'), ('2043/2044', '2043/2044'), ('2044/2045', '2044/2045'), ('2045/2046', '2045/2046'), ('2046/2047', '2046/2047'), ('2047/2048', '2047/2048'), ('2048/2049', '2048/2049'), ('na', 'N/A')], max_length=10, null=True, verbose_name=' \u0622\u062e\u0631 \u0633\u0646\u0629 \u062f\u0631\u0627\u0633\u064a\u0629'),
+ ),
+ ]
diff --git a/student_registration/staffs/migrations/0016_auto_20191227_0102.py b/student_registration/staffs/migrations/0016_auto_20191227_0102.py
new file mode 100644
index 000000000..fd9d8436e
--- /dev/null
+++ b/student_registration/staffs/migrations/0016_auto_20191227_0102.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-12-26 23:02
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffs', '0015_staffs_first_education_year'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='staffs',
+ name='cert_origin',
+ field=models.CharField(blank=True, max_length=70, null=True, verbose_name='Speciality'),
+ ),
+ migrations.AddField(
+ model_name='staffs',
+ name='speciality',
+ field=models.CharField(blank=True, max_length=70, null=True, verbose_name='Speciality'),
+ ),
+ ]
diff --git a/student_registration/staffs/migrations/0017_auto_20200114_0918.py b/student_registration/staffs/migrations/0017_auto_20200114_0918.py
new file mode 100644
index 000000000..ce67a62d4
--- /dev/null
+++ b/student_registration/staffs/migrations/0017_auto_20200114_0918.py
@@ -0,0 +1,58 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-14 07:18
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffs', '0016_auto_20191227_0102'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='staffs',
+ name='bank',
+ ),
+ migrations.RemoveField(
+ model_name='staffs',
+ name='branch',
+ ),
+ migrations.RemoveField(
+ model_name='staffs',
+ name='iban',
+ ),
+ migrations.AddField(
+ model_name='staffs',
+ name='bank_Base1',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='staffs.Bank', verbose_name='\u0627\u0644\u0628\u0646\u0643'),
+ ),
+ migrations.AddField(
+ model_name='staffs',
+ name='bank_Base2',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='staffs.Bank', verbose_name='\u0627\u0644\u0628\u0646\u0643'),
+ ),
+ migrations.AddField(
+ model_name='staffs',
+ name='branch_base1',
+ field=models.CharField(blank=True, max_length=60, null=True, verbose_name='\u0627\u0644\u0641\u0631\u0639'),
+ ),
+ migrations.AddField(
+ model_name='staffs',
+ name='branch_base2',
+ field=models.CharField(blank=True, max_length=60, null=True, verbose_name='\u0627\u0644\u0641\u0631\u0639'),
+ ),
+ migrations.AddField(
+ model_name='staffs',
+ name='iban_base1',
+ field=models.CharField(blank=True, max_length=100, null=True, verbose_name='IBAN LL'),
+ ),
+ migrations.AddField(
+ model_name='staffs',
+ name='iban_base2',
+ field=models.CharField(blank=True, max_length=100, null=True, verbose_name='IBAN $'),
+ ),
+ ]
diff --git a/student_registration/staffs/migrations/0018_auto_20200117_1032.py b/student_registration/staffs/migrations/0018_auto_20200117_1032.py
new file mode 100644
index 000000000..547876975
--- /dev/null
+++ b/student_registration/staffs/migrations/0018_auto_20200117_1032.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-01-17 08:32
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffs', '0017_auto_20200114_0918'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='staffs',
+ name='cert_origin',
+ field=models.CharField(blank=True, max_length=70, null=True, verbose_name=' \u0627\u0644\u062c\u0646\u0633\u064a\u0629'),
+ ),
+ migrations.AlterField(
+ model_name='staffs',
+ name='speciality',
+ field=models.CharField(blank=True, max_length=70, null=True, verbose_name=' \u0627\u0644\u062c\u0646\u0633\u064a\u0629'),
+ ),
+ ]
diff --git a/student_registration/staffs/migrations/0019_auto_20200317_1935.py b/student_registration/staffs/migrations/0019_auto_20200317_1935.py
new file mode 100644
index 000000000..53488e625
--- /dev/null
+++ b/student_registration/staffs/migrations/0019_auto_20200317_1935.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-03-17 17:35
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffs', '0018_auto_20200117_1032'),
+ ]
+
+ operations = [
+ migrations.RenameField(
+ model_name='staffs',
+ old_name='bank_Base1',
+ new_name='bank_base1',
+ ),
+ migrations.RenameField(
+ model_name='staffs',
+ old_name='bank_Base2',
+ new_name='bank_base2',
+ ),
+ ]
diff --git a/student_registration/staffs/migrations/0020_auto_20200328_2011.py b/student_registration/staffs/migrations/0020_auto_20200328_2011.py
new file mode 100644
index 000000000..9aed8477d
--- /dev/null
+++ b/student_registration/staffs/migrations/0020_auto_20200328_2011.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-03-28 18:11
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffs', '0019_auto_20200317_1935'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='staffs',
+ name='pic_2ndshiftcertificate',
+ field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Picture of the second shift certificate'),
+ ),
+ migrations.AddField(
+ model_name='staffs',
+ name='pic_commitment',
+ field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Picture of the commitment'),
+ ),
+ migrations.AddField(
+ model_name='staffs',
+ name='pic_iban',
+ field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Picture of the iban'),
+ ),
+ migrations.AddField(
+ model_name='staffs',
+ name='pic_identification',
+ field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Picture of Identy'),
+ ),
+ ]
diff --git a/student_registration/staffs/migrations/0021_staffs_pic_certificate.py b/student_registration/staffs/migrations/0021_staffs_pic_certificate.py
new file mode 100644
index 000000000..b11e46c4e
--- /dev/null
+++ b/student_registration/staffs/migrations/0021_staffs_pic_certificate.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-03-29 07:57
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffs', '0020_auto_20200328_2011'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='staffs',
+ name='pic_certificate',
+ field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Picture of the certificate'),
+ ),
+ ]
diff --git a/student_registration/staffs/migrations/0022_staffs_disabled.py b/student_registration/staffs/migrations/0022_staffs_disabled.py
new file mode 100644
index 000000000..ef83bc0e3
--- /dev/null
+++ b/student_registration/staffs/migrations/0022_staffs_disabled.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-03-29 09:57
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffs', '0021_staffs_pic_certificate'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='staffs',
+ name='disabled',
+ field=models.BooleanField(default=False, verbose_name='Disabled?'),
+ ),
+ ]
diff --git a/student_registration/staffs/migrations/0023_auto_20200412_1029.py b/student_registration/staffs/migrations/0023_auto_20200412_1029.py
new file mode 100644
index 000000000..45fb36467
--- /dev/null
+++ b/student_registration/staffs/migrations/0023_auto_20200412_1029.py
@@ -0,0 +1,38 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-04-12 07:29
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('staffs', '0022_staffs_disabled'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='ParticipantYear',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('participantyear', models.CharField(blank=True, choices=[('2013/2014', '2013/2014'), ('2014/2015', '2014/2015'), ('2015/2016', '2015/2016'), ('2016/2017', '2016/2017'), ('2017/2018', '2017/2018'), ('2018/2019', '2018/2019'), ('2019/2020', '2019/2020'), ('2020/2021', '2020/2021')], max_length=9, null=True)),
+ ],
+ ),
+ migrations.AddField(
+ model_name='staffs',
+ name='pic_iban2',
+ field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Picture of the iban'),
+ ),
+ migrations.AlterField(
+ model_name='staffs',
+ name='id_number',
+ field=models.CharField(max_length=30),
+ ),
+ migrations.AddField(
+ model_name='participantyear',
+ name='staff',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='staffs.Staffs', verbose_name='\u0627\u0644\u0639\u0627\u0645\u0644'),
+ ),
+ ]
diff --git a/student_registration/staffs/migrations/__init__.py b/student_registration/staffs/migrations/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/student_registration/staffs/models.py b/student_registration/staffs/models.py
new file mode 100644
index 000000000..3a4cf5d0b
--- /dev/null
+++ b/student_registration/staffs/models.py
@@ -0,0 +1,375 @@
+from __future__ import unicode_literals, absolute_import, division
+import datetime
+from django.conf import settings
+from django.db import models
+from django.utils.translation import ugettext as _
+from student_registration.locations.models import Location
+from model_utils import Choices
+from student_registration.students.utils import generate_id
+from student_registration.students.models import Nationality
+# Create your models here.
+import django.utils.timezone
+from PIL import Image
+from django.core.exceptions import ValidationError
+
+
+def validate_file_size(value):
+ filesize = value.size
+ if filesize > 250000:
+ raise ValidationError("The maximum file size that can be uploaded is 250K")
+ else:
+ return value
+
+
+class Bank(models.Model):
+ code = models.CharField(max_length=20, unique=True)
+ name = models.CharField(max_length=45, unique=True)
+
+ class Meta:
+ ordering = ['code']
+ verbose_name_plural = "Bank"
+
+ def __unicode__(self):
+ return self.name
+
+
+class Certificate(models.Model):
+ name = models.CharField(max_length=60, unique=True)
+
+ class Meta:
+ ordering = ['name']
+
+ def __unicode__(self):
+ return self.name
+
+
+class University(models.Model):
+ name = models.CharField(max_length=60, unique=True)
+
+ class Meta:
+ ordering = ['name']
+ verbose_name_plural = 'Universities'
+
+ def __unicode__(self):
+ return self.name
+
+
+class Staffs(models.Model):
+ EDUCATION_YEARS = list((str(x - 1) + '/' + str(x), str(x - 1) + '/' + str(x)) for x in range(2001, 2050))
+ EDUCATION_YEARS.append(('na', 'N/A'))
+ TYPEOFEMP = Choices(
+ ('Cadre', _('Cadre')),
+ ('Contractual', _('Contractual')),
+ ('Supporter', _('Supporter')),
+ )
+ MinisAppr = Choices(
+ ('Exceptional', _('Exceptional Approved')),
+ ('AccordingToCond', _('Consent According to Conditions')),
+ ('CadreOrCont', _('Cadre / Contractual')),
+ )
+
+ CURRENT_YEAR = datetime.datetime.now().year
+
+ MONTHS = Choices(
+ ('1', _('January')),
+ ('2', _('February')),
+ ('3', _('March')),
+ ('4', _('April')),
+ ('5', _('May')),
+ ('6', _('June')),
+ ('7', _('July')),
+ ('8', _('August')),
+ ('9', _('September')),
+ ('10', _('October')),
+ ('11', _('November')),
+ ('12', _('December')),
+ )
+
+ GENDER = Choices(
+ ('Male', _('Male')),
+ ('Female', _('Female')),
+ )
+ FAMILY_STATUS = Choices(
+ ('married', _('Married')),
+ ('engaged', _('Engaged')),
+ ('divorced', _('Divorced')),
+ ('widower', _('Widower')),
+ ('single', _('Single')),
+ )
+
+ first_name = models.CharField(
+ max_length=64,
+ db_index=True,
+ blank=True, null=True,
+ verbose_name=_('First name')
+ )
+ last_name = models.CharField(
+ max_length=64,
+ db_index=True,
+ blank=True, null=True,
+ verbose_name=_('Last name')
+ )
+ father_name = models.CharField(
+ max_length=64,
+ db_index=True,
+ blank=True, null=True,
+ verbose_name=_('Father name')
+ )
+ id_number = models.CharField(max_length=30, blank=False)
+ ministerapproval = models.CharField(
+ max_length=150,
+ blank=True,
+ null=True,
+ choices=MinisAppr,
+ verbose_name=_('Minister Approved')
+ )
+ image = models.ImageField(
+ upload_to="profiles",
+ null=True,
+ blank=True,
+ help_text=_('Profile Picture'),
+ verbose_name=_('Profile Picture'),
+ validators=[validate_file_size]
+ )
+ mother_fullname = models.CharField(
+ max_length=64,
+ db_index=True,
+ blank=True, null=True,
+ verbose_name=_('Mother fullname')
+ )
+ sex = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ choices=GENDER,
+ verbose_name=_('Sex')
+ )
+ birthday_year = models.CharField(
+ max_length=4,
+ blank=True,
+ null=True,
+ default=0,
+ choices=((str(x), x) for x in range(1990, 2050)),
+ verbose_name=_('Birthday year')
+ )
+ birthday_month = models.CharField(
+ max_length=2,
+ blank=True,
+ null=True,
+ default=0,
+ choices=MONTHS,
+ verbose_name=_('Birthday month')
+ )
+ birthday_day = models.CharField(
+ max_length=2,
+ blank=True,
+ null=True,
+ default=0,
+ choices=((str(x), x) for x in range(1, 32)),
+ verbose_name=_('Birthday day')
+ )
+ place_of_birth = models.CharField(
+ max_length=200,
+ blank=True,
+ null=True,
+ verbose_name=_('Place of birth')
+ )
+ family_status = models.CharField(
+ max_length=50,
+ blank=True,
+ null=True,
+ choices=FAMILY_STATUS,
+ verbose_name=_('Family status')
+ )
+ phone = models.CharField(max_length=24, blank=True, null=True, verbose_name=_('Phone number'))
+ nationality = models.ForeignKey(
+ Nationality,
+ blank=True, null=True,
+ verbose_name=_('Nationality')
+ )
+ address = models.TextField(
+ blank=True,
+ null=True,
+ verbose_name=_('Address')
+ )
+ owner = models.ForeignKey(
+ settings.AUTH_USER_MODEL,
+ blank=False, null=True,
+ verbose_name=_('Created by'),
+ related_name='+',
+ )
+ created = models.DateTimeField(default=django.utils.timezone.now)
+ bank_base1 = models.ForeignKey(
+ Bank,
+ blank=True, null=True,
+ related_name='+',
+ verbose_name=_('Bank'),
+ )
+ branch_base1 = models.CharField(
+ max_length=60,
+ blank=True,
+ null=True,
+ verbose_name=_('Branch')
+ )
+ iban_base1 = models.CharField(
+ max_length=100,
+ blank=True,
+ null=True,
+ verbose_name=_('IBAN LL')
+ )
+ bank_base2 = models.ForeignKey(
+ Bank,
+ related_name='+',
+ blank=True, null=True,
+ verbose_name=_('Bank'),
+ )
+ branch_base2 = models.CharField(
+ max_length=60,
+ blank=True,
+ null=True,
+ verbose_name=_('Branch')
+ )
+ iban_base2 = models.CharField(
+ max_length=100,
+ blank=True,
+ null=True,
+ verbose_name=_('IBAN $')
+ )
+ type_of_employment = models.CharField(
+ max_length=80,
+ blank=True,
+ null=True,
+ choices=TYPEOFEMP,
+ verbose_name=_('Type on Employment')
+ )
+ certificate = models.ForeignKey(
+ Certificate,
+ blank=True,
+ null=True,
+ verbose_name=_('Certificate')
+ )
+ university = models.ForeignKey(
+ University,
+ blank=True,
+ null=True,
+ verbose_name=_('University Name')
+ )
+ automated_nb = models.CharField(
+ max_length=15,
+ blank=True, null=True,
+ verbose_name=_('Automated Nb')
+ )
+ financial_nb = models.CharField(
+ max_length=20,
+ blank=True, null=True,
+ verbose_name=_('Financial Nb')
+ )
+ governorate = models.ForeignKey(
+ Location,
+ blank=True,
+ null=True,
+ verbose_name=_('Governorate'),
+ related_name='staff_governorate'
+ )
+ caza = models.ForeignKey(
+ Location,
+ blank=True,
+ null=True,
+ verbose_name=_('Caza'),
+ related_name='staff_caza'
+ )
+ staff_seq = models.IntegerField(blank=True, null=True)
+ email = models.EmailField(blank=True, max_length=254, verbose_name='email address')
+ first_education_year = models.CharField(
+ max_length=10,
+ blank=True,
+ null=True,
+ choices=EDUCATION_YEARS,
+ verbose_name=_('Last Education year')
+ )
+ speciality = models.CharField(
+ max_length=70,
+ blank=True, null=True,
+ verbose_name=_('Speciality')
+ )
+ cert_origin = models.CharField(
+ max_length=70,
+ blank=True, null=True,
+ verbose_name=_('Speciality')
+ )
+ pic_identification = models.CharField(
+ max_length=200,
+ blank=True, null=True,
+ verbose_name=_('Picture of Identy')
+ )
+ pic_commitment = models.CharField(
+ max_length=200,
+ blank=True, null=True,
+ verbose_name=_('Picture of the commitment')
+ )
+ pic_2ndshiftcertificate = models.CharField(
+ max_length=200,
+ blank=True, null=True,
+ verbose_name=_('Picture of the second shift certificate')
+ )
+ pic_iban = models.CharField(
+ max_length=200,
+ blank=True, null=True,
+ verbose_name=_('Picture of the iban')
+ )
+ pic_certificate = models.CharField(
+ max_length=200,
+ blank=True, null=True,
+ verbose_name=_('Picture of the certificate')
+ )
+ disabled = models.BooleanField(
+ blank=True, default=False,
+ verbose_name=_('Disabled?')
+ )
+ pic_iban2 = models.CharField(
+ max_length=200,
+ blank=True, null=True,
+ verbose_name=_('Picture of the iban')
+ )
+ def __unicode__(self):
+ if not self.first_name:
+ return 'No name'
+
+ return u'{} {} {}'.format(
+ self.first_name,
+ self.father_name,
+ self.last_name,
+ )
+
+ class Meta:
+ verbose_name_plural = "Staff"
+
+
+class ParticipantYear(models.Model):
+ SELECTYEAR = Choices(
+ ('2013/2014', '2013/2014'),
+ ('2014/2015', '2014/2015'),
+ ('2015/2016', '2015/2016'),
+ ('2016/2017', '2016/2017'),
+ ('2017/2018', '2017/2018'),
+ ('2018/2019', '2018/2019'),
+ ('2019/2020', '2019/2020'),
+ ('2020/2021', '2020/2021'),
+ )
+ participantyear = models.CharField(
+ max_length=9,
+ blank=True,
+ null=True,
+ choices=SELECTYEAR
+ )
+ notes = models.CharField(
+ max_length=150,
+ blank=True, null=True
+ ),
+
+ staff = models.ForeignKey(
+ Staffs,
+ blank=True, null=True,
+ related_name='+',
+ verbose_name=_('Staff')
+ )
diff --git a/student_registration/staffs/tables.py b/student_registration/staffs/tables.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/student_registration/staffs/tests.py b/student_registration/staffs/tests.py
new file mode 100644
index 000000000..7ce503c2d
--- /dev/null
+++ b/student_registration/staffs/tests.py
@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.
diff --git a/student_registration/staffs/urls.py b/student_registration/staffs/urls.py
new file mode 100644
index 000000000..8da42812a
--- /dev/null
+++ b/student_registration/staffs/urls.py
@@ -0,0 +1,23 @@
+from __future__ import absolute_import, unicode_literals
+
+from django.conf.urls import url
+from . import views
+
+urlpatterns = [
+
+ url(
+ regex=r'^add/$',
+ view=views.CreateStaffView.as_view(),
+ name='add'
+ ),
+ url(
+ regex=r'^update/(?P[\w.@+-]+)/$',
+ view=views.EditStaffView.as_view(),
+ name='update'
+ ),
+ url(
+ regex=r'^stafflist/$',
+ view=views.ListStaffView.as_view(),
+ name='stafflist'
+ ),
+]
diff --git a/student_registration/staffs/views.py b/student_registration/staffs/views.py
new file mode 100644
index 000000000..9e367cc7c
--- /dev/null
+++ b/student_registration/staffs/views.py
@@ -0,0 +1,98 @@
+from django.views.generic import CreateView, UpdateView, ListView
+from django.shortcuts import render_to_response, render, get_object_or_404, redirect
+from student_registration.staffs.forms import StaffForm
+from django.utils.translation import ugettext as _
+from student_registration.staffs.models import Staffs
+from django.http import Http404, HttpResponseRedirect
+from django.template.context_processors import csrf
+from django.views.generic import ListView, FormView, TemplateView, UpdateView
+from django.core.urlresolvers import reverse
+from student_registration.users.utils import force_default_language
+
+
+class CreateStaffView(CreateView):
+ template_name = 'staffs/staff_form.html'
+ form_class = StaffForm()
+ queryset = Staffs.objects.all()
+
+ def get(self, request, *args, **kwargs):
+ the_form = StaffForm()
+ context = {
+ 'title': _('STAFF FORM'),
+ 'form': the_form,
+ }
+ return render(request, 'staffs/staff_form.html', context)
+
+ def post(self, request, *args, **kwargs):
+ form = StaffForm(request.POST, request.FILES)
+ if request.POST:
+ if form.is_valid():
+ staff = form.save()
+ staff.owner = request.user
+ staff.save()
+ return HttpResponseRedirect('/staffs/add/')
+ else:
+ return render(request, 'staffs/staff_form.html', {'form': form})
+ else:
+ form = StaffForm()
+
+ args = {}
+ args.update(csrf(request))
+
+ args['form'] = form
+ return render_to_response('staffs/staff_form.html', args)
+
+
+class EditStaffView(UpdateView, FormView):
+ model = Staffs
+ form_class = StaffForm()
+
+ template_name = 'staffs/staff_form.html'
+ success_url = '/staffs/stafflist/'
+ context_object_name = 'staff'
+
+ def get_context_data(self, **kwargs):
+ force_default_language(self.request)
+ """Insert the form into the context dict."""
+ if 'form' not in kwargs:
+ kwargs['form'] = self.get_form()
+ return super(EditStaffView, self).get_context_data(**kwargs)
+
+ def get_form(self, form_class=None):
+ instance = Staffs.objects.get(id=self.kwargs['pk'])
+ if self.request.method == "POST":
+ return StaffForm(self.request.POST, instance=instance)
+ else:
+ return StaffForm(instance=instance)
+
+ def form_valid(self, form):
+ instance = Staffs.objects.get(id=self.kwargs['pk'])
+ if self.request.FILES and self.request.FILES['image']:
+ form.instance.image = self.request.FILES['image']
+ form.instance.save()
+ form.save()
+ return super(EditStaffView, self).form_valid(form)
+
+'''class EditStaffView(UpdateView):
+ model = Staffs
+ fields = (
+ 'first_name',
+ 'father_name',
+ 'last_name',
+ 'image',
+ 'MinisterApproval',
+ 'id_number',
+ )
+ template_name = 'staffs/staff_update_form.html'
+ success_url = '/staffs/stafflist/'
+ context_object_name = 'staff'
+'''
+
+
+class ListStaffView(ListView):
+ model = Staffs
+ template_name = 'staffs/stafflist.html'
+ context_object_name = 'staff_list'
+
+ def get_queryset(self):
+ return Staffs.objects.all()
diff --git a/student_registration/static/css/admin.css b/student_registration/static/css/admin.css
index 952b53d53..c71348633 100644
--- a/student_registration/static/css/admin.css
+++ b/student_registration/static/css/admin.css
@@ -1 +1,4 @@
div.admindatefilter .controls { display: none; }
+#content { padding: 15px; }
+#suit-center { padding: 0px; }
+#suit-left { padding-left: 40px; }
diff --git a/student_registration/static/css/images/ui-bg_flat_0_aaaaaa_40x100.png b/student_registration/static/css/images/ui-bg_flat_0_aaaaaa_40x100.png
new file mode 100755
index 000000000..a2e6bfc08
Binary files /dev/null and b/student_registration/static/css/images/ui-bg_flat_0_aaaaaa_40x100.png differ
diff --git a/student_registration/static/css/images/ui-icons_444444_256x240.png b/student_registration/static/css/images/ui-icons_444444_256x240.png
new file mode 100755
index 000000000..df4e37378
Binary files /dev/null and b/student_registration/static/css/images/ui-icons_444444_256x240.png differ
diff --git a/student_registration/static/css/images/ui-icons_555555_256x240.png b/student_registration/static/css/images/ui-icons_555555_256x240.png
new file mode 100755
index 000000000..bbb422fed
Binary files /dev/null and b/student_registration/static/css/images/ui-icons_555555_256x240.png differ
diff --git a/student_registration/static/css/images/ui-icons_777620_256x240.png b/student_registration/static/css/images/ui-icons_777620_256x240.png
new file mode 100755
index 000000000..ee49e9e50
Binary files /dev/null and b/student_registration/static/css/images/ui-icons_777620_256x240.png differ
diff --git a/student_registration/static/css/images/ui-icons_777777_256x240.png b/student_registration/static/css/images/ui-icons_777777_256x240.png
new file mode 100755
index 000000000..b01ff3dee
Binary files /dev/null and b/student_registration/static/css/images/ui-icons_777777_256x240.png differ
diff --git a/student_registration/static/css/images/ui-icons_cc0000_256x240.png b/student_registration/static/css/images/ui-icons_cc0000_256x240.png
new file mode 100755
index 000000000..892019394
Binary files /dev/null and b/student_registration/static/css/images/ui-icons_cc0000_256x240.png differ
diff --git a/student_registration/static/css/images/ui-icons_ffffff_256x240.png b/student_registration/static/css/images/ui-icons_ffffff_256x240.png
new file mode 100755
index 000000000..1cba4313d
Binary files /dev/null and b/student_registration/static/css/images/ui-icons_ffffff_256x240.png differ
diff --git a/student_registration/static/images/UNHCR_barcode.jpg b/student_registration/static/images/UNHCR_barcode.jpg
new file mode 100755
index 000000000..e2a08f9fc
Binary files /dev/null and b/student_registration/static/images/UNHCR_barcode.jpg differ
diff --git a/student_registration/static/images/UNHCR_individualID.jpg b/student_registration/static/images/UNHCR_individualID.jpg
new file mode 100755
index 000000000..f2f98c30e
Binary files /dev/null and b/student_registration/static/images/UNHCR_individualID.jpg differ
diff --git a/student_registration/static/images/icon-help.png b/student_registration/static/images/icon-help.png
new file mode 100644
index 000000000..0c8faaefa
Binary files /dev/null and b/student_registration/static/images/icon-help.png differ
diff --git a/student_registration/static/images/mehe.png b/student_registration/static/images/mehe.png
new file mode 100644
index 000000000..2add1a850
Binary files /dev/null and b/student_registration/static/images/mehe.png differ
diff --git a/student_registration/static/images/staff.png b/student_registration/static/images/staff.png
new file mode 100644
index 000000000..98c86632f
Binary files /dev/null and b/student_registration/static/images/staff.png differ
diff --git a/student_registration/static/images/student.png b/student_registration/static/images/student.png
new file mode 100644
index 000000000..301219d0e
Binary files /dev/null and b/student_registration/static/images/student.png differ
diff --git a/student_registration/static/images/syrian_nationalID.png b/student_registration/static/images/syrian_nationalID.png
new file mode 100755
index 000000000..31cab97ac
Binary files /dev/null and b/student_registration/static/images/syrian_nationalID.png differ
diff --git a/student_registration/static/images/unhcr_certificate.jpg b/student_registration/static/images/unhcr_certificate.jpg
new file mode 100755
index 000000000..cfd6071dc
Binary files /dev/null and b/student_registration/static/images/unhcr_certificate.jpg differ
diff --git a/student_registration/static/js/attendance.js b/student_registration/static/js/attendance.js
index e41cc1a60..c7b50eb9f 100644
--- a/student_registration/static/js/attendance.js
+++ b/student_registration/static/js/attendance.js
@@ -158,12 +158,17 @@ function get_level_section_attendances(exam_day, not_attending)
var total_absent_male = 0;
var total_absent_female = 0;
$('.enrollment_id').each(function (i, item) {
+ var enrollment = $(item).attr('itemref');
var enrollment_id = $(item).val();
var status = null;
- var sex = $('#student_sex_'+enrollment_id).val();
+// var sex = $('#student_sex_'+enrollment).val();
+ var status = $('#status_'+enrollment_id).val();
+ var sex = $(item).attr('student_sex');
+// var status = $(item).attr('status');
+
var absence_reason = null;
- if($('#status_'+enrollment_id).val() == '' || $('#status_'+enrollment_id).val() == 'True' || $('#status_'+enrollment_id).val() == 'true'){
+ if(status == '' || status == 'True' || status == 'true'){
status = 'True';
absence_reason = '';
if(sex == 'Male'){
@@ -173,7 +178,9 @@ function get_level_section_attendances(exam_day, not_attending)
}
}else{
status = 'False';
- absence_reason = $('.absence_reason_' + enrollment_id+':checked').val();
+// absence_reason = $('.absence_reason_'+enrollment+':checked').val();
+ console.log($(item).attr('absence_reason'));
+ absence_reason = $($(item).attr('absence_reason')).val();
if(sex == 'Male'){
total_absent_male = total_absent_male + 1;
}else{
@@ -183,23 +190,44 @@ function get_level_section_attendances(exam_day, not_attending)
total_attended = total_attended_male + total_attended_female;
total_absences = total_absent_male + total_absent_female;
- var student_id = $('#student_id_' + enrollment_id).val();
+
+// var student_id = $('#student_id_'+enrollment).val();
+// var student_fullname = $('#student_fullname_'+enrollment).val();
+// var student_age = $('#student_age_'+enrollment).val();
+// var student_birthday = $('#student_birthday_'+enrollment).val();
+// var section = $('#section_'+enrollment).val();
+// var section_name = $('#section_name_'+enrollment).val();
+// var level = $('#level_'+enrollment).val();
+// var level_name = $('#level_name_'+enrollment).val();
+// var dropout = $('#student_dropout_'+enrollment).val();
+
+ var student_id = $(item).attr('student_id');
+ var student_fullname = $(item).attr('student_fullname');
+ var student_age = $(item).attr('student_age');
+ var student_birthday = $(item).attr('student_birthday');
+ var section = $(item).attr('section');
+ var section_name = $(item).attr('section_name');
+ var level = $(item).attr('level');
+ var level_name = $(item).attr('level_name');
+ var dropout = $(item).attr('student_dropout');
students.push({
student_id: student_id,
- student_fullname: $('#student_fullname_' + enrollment_id).val(),
+ student_fullname: student_fullname,
student_sex: sex,
- student_age: $('#student_age_' + enrollment_id).val(),
- student_birthday: $('#student_birthday_' + enrollment_id).val(),
- section: $('#section_' + enrollment_id).val(),
- section_name: $('#section_name_' + enrollment_id).val(),
- level: $('#level_' + enrollment_id).val(),
- level_name: $('#level_name_' + enrollment_id).val(),
+ student_age: student_age,
+ student_birthday: student_birthday,
+ section: section,
+ section_name: section_name,
+ level: level,
+ level_name: level_name,
status: status,
absence_reason: absence_reason,
- dropout: $('#student_dropout_' + enrollment_id).val()
+ dropout: dropout
});
+// console.log(students);
+
});
var level_section_name = $('#level').val() + "-" + $('#section').val();
diff --git a/student_registration/static/js/custom.min.js b/student_registration/static/js/custom.min.js
index d7e8b4df0..aaf0250c6 100644
--- a/student_registration/static/js/custom.min.js
+++ b/student_registration/static/js/custom.min.js
@@ -1 +1 @@
-function countChecked(){"all"===checkState&&$(".bulk_action input[name='table_records']").iCheck("check"),"none"===checkState&&$(".bulk_action input[name='table_records']").iCheck("uncheck");var e=$(".bulk_action input[name='table_records']:checked").length;e?($(".column-title").hide(),$(".bulk-actions").show(),$(".action-cnt").html(e+" Records Selected")):($(".column-title").show(),$(".bulk-actions").hide())}!function(e,t){var n=function(e,t,n){var i;return function(){function c(){n||e.apply(a,o),i=null}var a=this,o=arguments;i?clearTimeout(i):n&&e.apply(a,o),i=setTimeout(c,t||100)}};jQuery.fn[t]=function(e){return e?this.bind("resize",n(e)):this.trigger(t)}}(jQuery,"smartresize");var CURRENT_URL=window.location.href.split("?")[0],$BODY=$("body"),$MENU_TOGGLE=$("#menu_toggle"),$SIDEBAR_MENU=$("#sidebar-menu"),$SIDEBAR_FOOTER=$(".sidebar-footer"),$LEFT_COL=$(".left_col"),$RIGHT_COL=$(".right_col"),$NAV_MENU=$(".nav_menu"),$FOOTER=$("footer");$(document).ready(function(){var e=function(){$RIGHT_COL.css("min-height",$(window).height());var e=$BODY.outerHeight(),t=$BODY.hasClass("footer_fixed")?-10:$FOOTER.height(),n=$LEFT_COL.eq(1).height()+$SIDEBAR_FOOTER.height(),i=n>e?n:e;i-=$NAV_MENU.height()+t,$RIGHT_COL.css("min-height",i)};$SIDEBAR_MENU.find("a").on("click",function(t){var n=$(this).parent();n.is(".active")?(n.removeClass("active active-sm"),$("ul:first",n).slideUp(function(){e()})):(n.parent().is(".child_menu")||($SIDEBAR_MENU.find("li").removeClass("active active-sm"),$SIDEBAR_MENU.find("li ul").slideUp()),n.addClass("active"),$("ul:first",n).slideDown(function(){e()}))}),$MENU_TOGGLE.on("click",function(){$BODY.hasClass("nav-md")?($SIDEBAR_MENU.find("li.active ul").hide(),$SIDEBAR_MENU.find("li.active").addClass("active-sm").removeClass("active")):($SIDEBAR_MENU.find("li.active-sm ul").show(),$SIDEBAR_MENU.find("li.active-sm").addClass("active").removeClass("active-sm")),$BODY.toggleClass("nav-md nav-sm"),e()}),$SIDEBAR_MENU.find('a[href="'+CURRENT_URL+'"]').parent("li").addClass("current-page"),$SIDEBAR_MENU.find("a").filter(function(){return this.href==CURRENT_URL}).parent("li").addClass("current-page").parents("ul").slideDown(function(){e()}).parent().addClass("active"),$(window).smartresize(function(){e()}),e(),$.fn.mCustomScrollbar&&$(".menu_fixed").mCustomScrollbar({autoHideScrollbar:!0,theme:"minimal",mouseWheel:{preventDefault:!0}})}),$(document).ready(function(){$(".collapse-link").on("click",function(){var e=$(this).closest(".x_panel"),t=$(this).find("i"),n=e.find(".x_content");e.attr("style")?n.slideToggle(200,function(){e.removeAttr("style")}):(n.slideToggle(200),e.css("height","auto")),t.toggleClass("fa-chevron-up fa-chevron-down")}),$(".close-link").click(function(){var e=$(this).closest(".x_panel");e.remove()})}),$(document).ready(function(){$('[data-toggle="tooltip"]').tooltip({container:"body"})}),$(".progress .progress-bar")[0]&&$(".progress .progress-bar").progressbar(),$(document).ready(function(){if($(".js-switch")[0]){var e=Array.prototype.slice.call(document.querySelectorAll(".js-switch"));e.forEach(function(e){new Switchery(e,{color:"#26B99A"})})}}),$(document).ready(function(){$("input.flat")[0]&&$(document).ready(function(){$("input.flat").iCheck({checkboxClass:"icheckbox_flat-green",radioClass:"iradio_flat-green"})})}),$("table input").on("ifChecked",function(){checkState="",$(this).parent().parent().parent().addClass("selected"),countChecked()}),$("table input").on("ifUnchecked",function(){checkState="",$(this).parent().parent().parent().removeClass("selected"),countChecked()});var checkState="";$(".bulk_action input").on("ifChecked",function(){checkState="",$(this).parent().parent().parent().addClass("selected"),countChecked()}),$(".bulk_action input").on("ifUnchecked",function(){checkState="",$(this).parent().parent().parent().removeClass("selected"),countChecked()}),$(".bulk_action input#check-all").on("ifChecked",function(){checkState="all",countChecked()}),$(".bulk_action input#check-all").on("ifUnchecked",function(){checkState="none",countChecked()}),$(document).ready(function(){$(".expand").on("click",function(){$(this).next().slideToggle(200),$expand=$(this).find(">:first-child"),"+"==$expand.text()?$expand.text("-"):$expand.text("+")})}),"undefined"!=typeof NProgress&&($(document).ready(function(){NProgress.start()}),$(window).load(function(){NProgress.done()}));
\ No newline at end of file
+//function countChecked(){"all"===checkState&&$(".bulk_action input[name='table_records']").iCheck("check"),"none"===checkState&&$(".bulk_action input[name='table_records']").iCheck("uncheck");var e=$(".bulk_action input[name='table_records']:checked").length;e?($(".column-title").hide(),$(".bulk-actions").show(),$(".action-cnt").html(e+" Records Selected")):($(".column-title").show(),$(".bulk-actions").hide())}!function(e,t){var n=function(e,t,n){var i;return function(){function c(){n||e.apply(a,o),i=null}var a=this,o=arguments;i?clearTimeout(i):n&&e.apply(a,o),i=setTimeout(c,t||100)}};jQuery.fn[t]=function(e){return e?this.bind("resize",n(e)):this.trigger(t)}}(jQuery,"smartresize");var CURRENT_URL=window.location.href.split("?")[0],$BODY=$("body"),$MENU_TOGGLE=$("#menu_toggle"),$SIDEBAR_MENU=$("#sidebar-menu"),$SIDEBAR_FOOTER=$(".sidebar-footer"),$LEFT_COL=$(".left_col"),$RIGHT_COL=$(".right_col"),$NAV_MENU=$(".nav_menu"),$FOOTER=$("footer");$(document).ready(function(){var e=function(){$RIGHT_COL.css("min-height",$(window).height());var e=$BODY.outerHeight(),t=$BODY.hasClass("footer_fixed")?-10:$FOOTER.height(),n=$LEFT_COL.eq(1).height()+$SIDEBAR_FOOTER.height(),i=n>e?n:e;i-=$NAV_MENU.height()+t,$RIGHT_COL.css("min-height",i)};$SIDEBAR_MENU.find("a").on("click",function(t){var n=$(this).parent();n.is(".active")?(n.removeClass("active active-sm"),$("ul:first",n).slideUp(function(){e()})):(n.parent().is(".child_menu")||($SIDEBAR_MENU.find("li").removeClass("active active-sm"),$SIDEBAR_MENU.find("li ul").slideUp()),n.addClass("active"),$("ul:first",n).slideDown(function(){e()}))}),$MENU_TOGGLE.on("click",function(){$BODY.hasClass("nav-md")?($SIDEBAR_MENU.find("li.active ul").hide(),$SIDEBAR_MENU.find("li.active").addClass("active-sm").removeClass("active")):($SIDEBAR_MENU.find("li.active-sm ul").show(),$SIDEBAR_MENU.find("li.active-sm").addClass("active").removeClass("active-sm")),$BODY.toggleClass("nav-md nav-sm"),e()}),$SIDEBAR_MENU.find('a[href="'+CURRENT_URL+'"]').parent("li").addClass("current-page"),$SIDEBAR_MENU.find("a").filter(function(){return this.href==CURRENT_URL}).parent("li").addClass("current-page").parents("ul").slideDown(function(){e()}).parent().addClass("active"),$(window).smartresize(function(){e()}),e(),$.fn.mCustomScrollbar&&$(".menu_fixed").mCustomScrollbar({autoHideScrollbar:!0,theme:"minimal",mouseWheel:{preventDefault:!0}})}),$(document).ready(function(){$(".collapse-link").on("click",function(){var e=$(this).closest(".x_panel"),t=$(this).find("i"),n=e.find(".x_content");e.attr("style")?n.slideToggle(200,function(){e.removeAttr("style")}):(n.slideToggle(200),e.css("height","auto")),t.toggleClass("fa-chevron-up fa-chevron-down")}),$(".close-link").click(function(){var e=$(this).closest(".x_panel");e.remove()})}),$(document).ready(function(){$('[data-toggle="tooltip"]').tooltip({container:"body"})}),$(".progress .progress-bar")[0]&&$(".progress .progress-bar").progressbar(),$(document).ready(function(){if($(".js-switch")[0]){var e=Array.prototype.slice.call(document.querySelectorAll(".js-switch"));e.forEach(function(e){new Switchery(e,{color:"#26B99A"})})}}),$(document).ready(function(){$("input.flat")[0]&&$(document).ready(function(){$("input.flat").iCheck({checkboxClass:"icheckbox_flat-green",radioClass:"iradio_flat-green"})})}),$("table input").on("ifChecked",function(){checkState="",$(this).parent().parent().parent().addClass("selected"),countChecked()}),$("table input").on("ifUnchecked",function(){checkState="",$(this).parent().parent().parent().removeClass("selected"),countChecked()});var checkState="";$(".bulk_action input").on("ifChecked",function(){checkState="",$(this).parent().parent().parent().addClass("selected"),countChecked()}),$(".bulk_action input").on("ifUnchecked",function(){checkState="",$(this).parent().parent().parent().removeClass("selected"),countChecked()}),$(".bulk_action input#check-all").on("ifChecked",function(){checkState="all",countChecked()}),$(".bulk_action input#check-all").on("ifUnchecked",function(){checkState="none",countChecked()}),$(document).ready(function(){$(".expand").on("click",function(){$(this).next().slideToggle(200),$expand=$(this).find(">:first-child"),"+"==$expand.text()?$expand.text("-"):$expand.text("+")})}),"undefined"!=typeof NProgress&&($(document).ready(function(){NProgress.start()}),$(window).load(function(){NProgress.done()}));
diff --git a/student_registration/static/js/jquery-3.3.1.min.js b/student_registration/static/js/jquery-3.3.1.min.js
new file mode 100755
index 000000000..4d9b3a258
--- /dev/null
+++ b/student_registration/static/js/jquery-3.3.1.min.js
@@ -0,0 +1,2 @@
+/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,""],col:[2,""],tr:[2,""],td:[3,""],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/
+
+
+
+
+{% endblock %}
+
diff --git a/student_registration/templates/account/messages/logged_in.txt b/student_registration/templates/account/messages/logged_in.txt
new file mode 100644
index 000000000..4857a9eaf
--- /dev/null
+++ b/student_registration/templates/account/messages/logged_in.txt
@@ -0,0 +1,4 @@
+{% load account %}
+{% load i18n %}
+{% user_display user as name %}
+{% blocktrans %}Successfully signed in.{% endblocktrans %}
diff --git a/student_registration/templates/account/password_change.html b/student_registration/templates/account/password_change.html
old mode 100644
new mode 100755
index b55ddd179..6296160cc
--- a/student_registration/templates/account/password_change.html
+++ b/student_registration/templates/account/password_change.html
@@ -7,6 +7,8 @@
{% block head_title %}{% trans "Change Password" %}{% endblock %}
{% block account_nav_change_password %}active{% endblock %}
+{% load static %}
+
{% block inner %}
{% trans "Change Password" %}
@@ -20,3 +22,15 @@ {% trans "Change Password" %}
{% endblock %}
+{% block extra_js %}
+
+
+
+
+{% endblock %}
diff --git a/student_registration/templates/alp/list.html b/student_registration/templates/alp/list.html
index 2b2493e10..ada713ee4 100644
--- a/student_registration/templates/alp/list.html
+++ b/student_registration/templates/alp/list.html
@@ -62,6 +62,7 @@
{% endblock %}
diff --git a/student_registration/templates/alp/outreach.html b/student_registration/templates/alp/outreach.html
index 6d7a3c079..096d18aa3 100644
--- a/student_registration/templates/alp/outreach.html
+++ b/student_registration/templates/alp/outreach.html
@@ -44,6 +44,7 @@
{% endblock %}
diff --git a/student_registration/templates/alp/post_test.html b/student_registration/templates/alp/post_test.html
index 57e0916f7..1f08559c4 100644
--- a/student_registration/templates/alp/post_test.html
+++ b/student_registration/templates/alp/post_test.html
@@ -41,6 +41,7 @@
{% endblock %}
diff --git a/student_registration/templates/alp/pre_test.html b/student_registration/templates/alp/pre_test.html
index 1439ff7e7..94f51884e 100644
--- a/student_registration/templates/alp/pre_test.html
+++ b/student_registration/templates/alp/pre_test.html
@@ -17,10 +17,18 @@
{% trans "ALP Pre-Test" %}
-
+ {% if request.user|has_group:"ALP_PRE_SCHL_ALL" %}
+
+
+ {% trans "Add new Student" %}
+
+ {% endif %}
+ {% if not request.user|has_group:"ALP_PRE_SCHL_ALL" %}
{% trans "Add new Student" %}
+ {% endif %}
- {{ table.rows|length }}
@@ -48,6 +56,7 @@
{% endblock %}
diff --git a/student_registration/templates/attendances/level_section.html b/student_registration/templates/attendances/level_section.html
index ea4e7636a..b2457b337 100644
--- a/student_registration/templates/attendances/level_section.html
+++ b/student_registration/templates/attendances/level_section.html
@@ -85,7 +85,13 @@
{% for line in students %}
-
+
+
@@ -157,6 +163,7 @@
diff --git a/student_registration/templates/attendances/school_day.html b/student_registration/templates/attendances/school_day.html
index 732cfe197..d60210e26 100644
--- a/student_registration/templates/attendances/school_day.html
+++ b/student_registration/templates/attendances/school_day.html
@@ -143,6 +143,7 @@
diff --git a/student_registration/templates/clm/abln_followup.html b/student_registration/templates/clm/abln_followup.html
new file mode 100644
index 000000000..8cfd74740
--- /dev/null
+++ b/student_registration/templates/clm/abln_followup.html
@@ -0,0 +1,44 @@
+{% extends "base.html" %}
+{% load staticfiles i18n %}
+{% load crispy_forms_tags %}
+
+{% block head_title %}Registration{% endblock %}
+
+{% block extra_head %}
+
+
+
+
+{% endblock %}
+
+{% block content %}
+
+
+
+
+
+
+
+ {{ form.errors }}
+ {% crispy form %}
+
+
+
+
+
+{% endblock %}
+
+{% block extra_js %}
+
+
+
+
+
+
+
+{% endblock %}
diff --git a/student_registration/templates/clm/abln_list.html b/student_registration/templates/clm/abln_list.html
new file mode 100644
index 000000000..338532016
--- /dev/null
+++ b/student_registration/templates/clm/abln_list.html
@@ -0,0 +1,71 @@
+{% extends "base.html" %}
+{% load staticfiles i18n %}
+{% load static %}
+{% load render_table from django_tables2 %}
+{% load bootstrap3 %}
+{% load util_tags %}
+{% bootstrap_css %}
+
+{% block extra_head %}
+
+{% endblock %}
+
+{% block content-full-page-ar %}
+
+
+ - {{ table.rows|length }}
+ -
+ ABLN
+
+ -
+ {{ request.user.partner }}
+
+ -
+ {{ request.user }}
+
+
+
+
+ -
+ {% if 'ABLN'|is_allowed_create %}
+
+
+ {% trans "Add new Child" %}
+
+ {% endif %}
+
+
+ -
+
+
+ {% trans "Export data" %}
+
+
+
+
+
+
+
+
+ {% csrf_token %}
+ {% render_table table 'django_tables2/bootstrap.html' %}
+
+
+{% endblock %}
+
+{% block extra_js %}
+ {% get_user_token request.user.id as user_token %}
+
+
+
+
+
+{% endblock %}
diff --git a/student_registration/templates/clm/abln_post_assessment.html b/student_registration/templates/clm/abln_post_assessment.html
new file mode 100644
index 000000000..e86718342
--- /dev/null
+++ b/student_registration/templates/clm/abln_post_assessment.html
@@ -0,0 +1,37 @@
+{% extends "base.html" %}
+{% load staticfiles i18n %}
+{% load crispy_forms_tags %}
+
+{% block head_title %}Registration{% endblock %}
+
+{% block extra_head %}
+
+
+
+
+{% endblock %}
+
+{% block content %}
+
+
+
+
+
+ {{ form.errors }}
+ {% crispy form %}
+
+
+
+
+
+{% endblock %}
+
+{% block extra_js %}
+
+
+
+
+
+
+
+{% endblock %}
diff --git a/student_registration/templates/clm/abln_referral.html b/student_registration/templates/clm/abln_referral.html
new file mode 100644
index 000000000..8cfd74740
--- /dev/null
+++ b/student_registration/templates/clm/abln_referral.html
@@ -0,0 +1,44 @@
+{% extends "base.html" %}
+{% load staticfiles i18n %}
+{% load crispy_forms_tags %}
+
+{% block head_title %}Registration{% endblock %}
+
+{% block extra_head %}
+
+
+
+
+{% endblock %}
+
+{% block content %}
+
+
+
+
+
+
+
+ {{ form.errors }}
+ {% crispy form %}
+
+
+
+
+
+{% endblock %}
+
+{% block extra_js %}
+
+
+
+
+
+
+
+{% endblock %}
diff --git a/student_registration/templates/clm/bln_followup.html b/student_registration/templates/clm/bln_followup.html
new file mode 100644
index 000000000..8cfd74740
--- /dev/null
+++ b/student_registration/templates/clm/bln_followup.html
@@ -0,0 +1,44 @@
+{% extends "base.html" %}
+{% load staticfiles i18n %}
+{% load crispy_forms_tags %}
+
+{% block head_title %}Registration{% endblock %}
+
+{% block extra_head %}
+
+
+
+
+{% endblock %}
+
+{% block content %}
+
+
+
+
+
+
+
+ {{ form.errors }}
+ {% crispy form %}
+
+
+
+
+
+{% endblock %}
+
+{% block extra_js %}
+
+
+
+
+
+
+
+{% endblock %}
diff --git a/student_registration/templates/clm/bln_list.html b/student_registration/templates/clm/bln_list.html
index 436831d3c..45661b59d 100644
--- a/student_registration/templates/clm/bln_list.html
+++ b/student_registration/templates/clm/bln_list.html
@@ -27,10 +27,12 @@
-
+ {% if 'BLN'|is_allowed_create %}
{% trans "Add new Child" %}
+ {% endif %}
Dashboard
-
@@ -63,6 +65,7 @@
{% endblock %}
diff --git a/student_registration/templates/clm/bln_post_assessment.html b/student_registration/templates/clm/bln_post_assessment.html
new file mode 100644
index 000000000..e86718342
--- /dev/null
+++ b/student_registration/templates/clm/bln_post_assessment.html
@@ -0,0 +1,37 @@
+{% extends "base.html" %}
+{% load staticfiles i18n %}
+{% load crispy_forms_tags %}
+
+{% block head_title %}Registration{% endblock %}
+
+{% block extra_head %}
+
+
+
+
+{% endblock %}
+
+{% block content %}
+
+
+
+
+
+ {{ form.errors }}
+ {% crispy form %}
+
+
+
+
+
+{% endblock %}
+
+{% block extra_js %}
+
+
+
+
+
+
+
+{% endblock %}
diff --git a/student_registration/templates/clm/bln_referral.html b/student_registration/templates/clm/bln_referral.html
new file mode 100644
index 000000000..8cfd74740
--- /dev/null
+++ b/student_registration/templates/clm/bln_referral.html
@@ -0,0 +1,44 @@
+{% extends "base.html" %}
+{% load staticfiles i18n %}
+{% load crispy_forms_tags %}
+
+{% block head_title %}Registration{% endblock %}
+
+{% block extra_head %}
+
+
+
+
+{% endblock %}
+
+{% block content %}
+
+
+
+
+
+
+
+ {{ form.errors }}
+ {% crispy form %}
+
+
+
+
+
+{% endblock %}
+
+{% block extra_js %}
+
+
+
+
+
+
+
+{% endblock %}
diff --git a/student_registration/templates/clm/cbece_followup.html b/student_registration/templates/clm/cbece_followup.html
new file mode 100644
index 000000000..8cfd74740
--- /dev/null
+++ b/student_registration/templates/clm/cbece_followup.html
@@ -0,0 +1,44 @@
+{% extends "base.html" %}
+{% load staticfiles i18n %}
+{% load crispy_forms_tags %}
+
+{% block head_title %}Registration{% endblock %}
+
+{% block extra_head %}
+
+
+
+
+{% endblock %}
+
+{% block content %}
+
+
+
+
+
+
+
+ {{ form.errors }}
+ {% crispy form %}
+
+
+
+
+
+{% endblock %}
+
+{% block extra_js %}
+
+
+
+
+
+
+
+{% endblock %}
diff --git a/student_registration/templates/clm/cbece_list.html b/student_registration/templates/clm/cbece_list.html
index f6ed2a45d..fe768cf9e 100644
--- a/student_registration/templates/clm/cbece_list.html
+++ b/student_registration/templates/clm/cbece_list.html
@@ -27,10 +27,12 @@
-
+ {% if 'CBECE'|is_allowed_create %}
{% trans "Add new Child" %}
+ {% endif %}
Dashboard
-
@@ -63,6 +65,7 @@
{% endblock %}
diff --git a/student_registration/templates/clm/cbece_post_assessment.html b/student_registration/templates/clm/cbece_post_assessment.html
new file mode 100644
index 000000000..e86718342
--- /dev/null
+++ b/student_registration/templates/clm/cbece_post_assessment.html
@@ -0,0 +1,37 @@
+{% extends "base.html" %}
+{% load staticfiles i18n %}
+{% load crispy_forms_tags %}
+
+{% block head_title %}Registration{% endblock %}
+
+{% block extra_head %}
+
+
+
+
+{% endblock %}
+
+{% block content %}
+
+
+
+
+
+ {{ form.errors }}
+ {% crispy form %}
+
+
+
+
+
+{% endblock %}
+
+{% block extra_js %}
+
+
+
+
+
+
+
+{% endblock %}
diff --git a/student_registration/templates/clm/cbece_referral.html b/student_registration/templates/clm/cbece_referral.html
new file mode 100644
index 000000000..8cfd74740
--- /dev/null
+++ b/student_registration/templates/clm/cbece_referral.html
@@ -0,0 +1,44 @@
+{% extends "base.html" %}
+{% load staticfiles i18n %}
+{% load crispy_forms_tags %}
+
+{% block head_title %}Registration{% endblock %}
+
+{% block extra_head %}
+
+
+
+
+{% endblock %}
+
+{% block content %}
+
+
+
+
+
+
+
+ {{ form.errors }}
+ {% crispy form %}
+
+
+
+
+
+{% endblock %}
+
+{% block extra_js %}
+
+
+
+
+
+
+
+{% endblock %}
diff --git a/student_registration/templates/clm/city_dropdown_list_options.html b/student_registration/templates/clm/city_dropdown_list_options.html
new file mode 100644
index 000000000..ce01b288c
--- /dev/null
+++ b/student_registration/templates/clm/city_dropdown_list_options.html
@@ -0,0 +1,4 @@
+
+{% for city in cities %}
+
+{% endfor %}
diff --git a/student_registration/templates/clm/create_form.html b/student_registration/templates/clm/create_form.html
new file mode 100644
index 000000000..5e7c6ef08
--- /dev/null
+++ b/student_registration/templates/clm/create_form.html
@@ -0,0 +1,51 @@
+{% extends "base.html" %}
+{% load staticfiles i18n %}
+{% load crispy_forms_tags %}
+
+{% block head_title %}Registration{% endblock %}
+
+{% block extra_head %}
+
+
+
+
+{% endblock %}
+
+{% block content %}
+
+
+
+ {% if is_allowed_create %}
+
+
+ {{ form.errors }}
+ {% crispy form %}
+
+
+ {% endif %}
+
+
+
+{% endblock %}
+
+{% block extra_js %}
+
+
+
+
+
+
+
+
+
+{% endblock %}
diff --git a/student_registration/templates/clm/edit_form.html b/student_registration/templates/clm/edit_form.html
new file mode 100644
index 000000000..065e139d9
--- /dev/null
+++ b/student_registration/templates/clm/edit_form.html
@@ -0,0 +1,50 @@
+{% extends "base.html" %}
+{% load staticfiles i18n %}
+{% load crispy_forms_tags %}
+
+{% block head_title %}Registration{% endblock %}
+
+{% block extra_head %}
+
+
+
+
+{% endblock %}
+
+{% block content %}
+
+
+
+ {% if is_allowed_edit %}
+
+
+ {{ form.errors }}
+ {% crispy form %}
+
+
+ {% endif %}
+
+
+
+{% endblock %}
+
+{% block extra_js %}
+
+
+
+
+
+
+
+
+{% endblock %}
diff --git a/student_registration/templates/clm/execs.html b/student_registration/templates/clm/execs.html
new file mode 100644
index 000000000..43ff13a5c
--- /dev/null
+++ b/student_registration/templates/clm/execs.html
@@ -0,0 +1,10 @@
+
+
+
+
+ Title
+
+
+ {{ result }}
+
+
diff --git a/student_registration/templates/clm/index.html b/student_registration/templates/clm/index.html
index 062e072bf..a7d926848 100644
--- a/student_registration/templates/clm/index.html
+++ b/student_registration/templates/clm/index.html
@@ -21,6 +21,19 @@
Dashboard
+
+ {% endif %}
+ {% if request.user|has_group:"CLM_ABLN" %}
+
{% endif %}
{% if request.user|has_group:"CLM_RS" %}
diff --git a/student_registration/templates/clm/rs_dashboard.html b/student_registration/templates/clm/rs_dashboard.html
index ed3250a15..49487cfbb 100644
--- a/student_registration/templates/clm/rs_dashboard.html
+++ b/student_registration/templates/clm/rs_dashboard.html
@@ -94,6 +94,41 @@
{% endfor %}
+
+
+
+
+ | Governorate |
+ {% for item in disability %}
+ {{item.name }} |
+ {% endfor %}
+
+
+ {% for item in disability %}
+ | Male |
+ Female |
+ {% endfor %}
+
+
+
+ {% for item in dis_gov %}
+
+ | {{ item.governorate }} |
+ {% for dis_count in item.dis %}
+ {{ dis_count.student_male_dis }} |
+ {{ dis_count.student_female_dis }} |
+ {% endfor %}
+
+ {% endfor %}
+
+
diff --git a/student_registration/templates/clm/rs_list.html b/student_registration/templates/clm/rs_list.html
index 60107ab3f..67c091e46 100644
--- a/student_registration/templates/clm/rs_list.html
+++ b/student_registration/templates/clm/rs_list.html
@@ -63,6 +63,7 @@
{% endblock %}
diff --git a/student_registration/templates/dashboard/attendance_list.html b/student_registration/templates/dashboard/attendance_list.html
new file mode 100644
index 000000000..eeb91df95
--- /dev/null
+++ b/student_registration/templates/dashboard/attendance_list.html
@@ -0,0 +1,125 @@
+
+
+{% load staticfiles i18n %}
+{% get_current_language as LANGUAGE_CODE %}
+{% load util_tags %}
+
+
+
+
+
+ Available Documents
+
+
+
+
+
+
+
+ 
+
+
+ الجمهورية اللبنانية
+
+ وزارة التربية والتعليم العالي
+
+ وحدة برنامج التعليم الشامل
+
+ PMU
+
+ |
+ |
+
+
+ مجموع الحضور و الغياب لكل طالب
+ |
+ |
+
+
+
+{% regroup v_data by groupby as std_data %}
+
+
+ {% for groupby in std_data %}
+
+
+
+ - {{ groupby.grouper }}
+
+
+ |
+ الرقم
+ المتسلسل
+ |
+ الإسم الثلاثي |
+ إسم الأم |
+ تاريخ الميلاد |
+ الجنس |
+ رقم compiler الموحد |
+ عدد أيام الحضور |
+ عدد أيام الغياب |
+ {% for data in groupby.list %}
+
+
+
|
+ {{ data.full_name }} |
+ {{ data.mother_fullname }} |
+ {{ data.birthday }} |
+
+ {% ifequal data.sex 'Male' %}
+ ذ |
+ {% else %}
+ أ |
+ {% endifequal %}
+ {{ data.student_id}} |
+
+ {{ data.total_attend }} |
+ {{ data.total_absent }} |
+
+
+ {% endfor %}
+
+ {% endfor %}
+
+
+
+
+
diff --git a/student_registration/templates/dashboard/available_documents.html b/student_registration/templates/dashboard/available_documents.html
new file mode 100644
index 000000000..70d551493
--- /dev/null
+++ b/student_registration/templates/dashboard/available_documents.html
@@ -0,0 +1,218 @@
+
+
+{% load staticfiles i18n %}
+{% get_current_language as LANGUAGE_CODE %}
+{% load util_tags %}
+
+
+
+
+
+ Available Documents
+
+
+
+
+
+
+
+
+
+
+
+ 
+
+
+
+ الجمهورية اللبنانية
+
+ وزارة التربية والتعليم العالي
+
+ وحدة إدارة متابعة تنفيذ برنامج التعليم الشامل
+
+ PMU
+
+ |
+
+
+
+ |
+
+
+
+ لوائح بالمستندات الموجودة و الغير موجودة لكل طالب
+ |
+
+
+ |
+
+
+
+
+
+
+
+ |
+ الرقم
+
+ المتسلسل
+
+ |
+ الصف |
+ الشعبة |
+ الإسم |
+ إسم الأب |
+ الشهرة |
+ الجنس |
+ رقم compiler الموحد |
+ صورة عن التعليم السابق |
+ صورة شمسية |
+ صورة عن وثيقة الولادة |
+ صورة عن بطاقة العائلة UNHCR |
+
+ {% for enr in enrollment %}
+
+
+
|
+
{{ enr.classroom}} |
+
{{ enr.section}} |
+
{{ enr.student.first_name}} |
+
{{ enr.student.father_name}} |
+
{{ enr.student.last_name}} |
+
+
{{ enr.student.sex }} |
+
{{ enr.student.id }} |
+
+ {% if enr.document_lastyear %}
+
click here |
+ {% else %}
+
|
+ {% endif %}
+
+ {% if enr.student.std_image %}
+
click here |
+ {% else %}
+
|
+ {% endif %}
+ {%if enr.student.birthdoc_image %}
+
click here |
+ {% else %}
+
|
+ {% endif %}
+ {% if enr.student.unhcr_image %}
+
click here |
+ {% else %}
+
|
+ {% endif %}
+
+
+
+ {% endfor %}
+
+
+
+
+
+
+
+
diff --git a/student_registration/templates/dashboard/exporter.html b/student_registration/templates/dashboard/exporter.html
index 8f96a73e1..3fdb446cf 100644
--- a/student_registration/templates/dashboard/exporter.html
+++ b/student_registration/templates/dashboard/exporter.html
@@ -58,7 +58,8 @@ 2nd shift gradings
Export term 1
Export term 2
Export term 3
- Export term 4
+ Export term 4-[current year]
+ Export term 4-[last year]
@@ -152,16 +153,178 @@ ALP full data
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/student_registration/templates/dashboard/list_justification.html b/student_registration/templates/dashboard/list_justification.html
new file mode 100644
index 000000000..06c4ffd6c
--- /dev/null
+++ b/student_registration/templates/dashboard/list_justification.html
@@ -0,0 +1,567 @@
+
+
+{% load staticfiles i18n %}
+{% get_current_language as LANGUAGE_CODE %}
+{% load util_tags %}
+
+
+
+
+ Justification List
+
+
+
+
+
+{%for v_school in school %}
+
+
+
+ 
+
+
+
+ الجمهورية اللبنانية
+
+ وزارة التربية والتعليم العالي
+
+ وحدة برنامج التعليم الشامل
+
+ PMU
+
+ |
+
+
+ |
+
+
+
+
+
+ لائحة بأسماء التلاميذ غير اللبنانيين بحسب الصفوف
+
+ |
+
+
+ |
+
+ السنة الدراسية
+
+ |
+
+ {{ education_year }}
+ |
+
+
+
+ |
+
+ رقم المدرسة في المركز التربوي
+
+ |
+
+ {{ v_school.number }}
+ |
+
+
+ |
+
+ إسم المدرسة
+
+ |
+
+ {{ v_school.name }}
+ |
+
+
+ |
+
+ اللغة الأجنبية
+
+ |
+
+ {{ v_school.certified_foreign_language }}
+ |
+
+
+ |
+
+ الملف
+
+ |
+
+ {{ last_justificationnumber }}
+ |
+
+
+ |
+
+
+ |
+
+
+
+ |
+ المحافظة
+ |
+
+ {{ v_school.location.parent.name }}
+ |
+
+
+ |
+ القضاء
+ |
+
+ {{ v_school.location.name }}
+ |
+
+
+ |
+ البلدة
+ |
+
+
+ |
+
+
+ |
+ رقم الهاتف
+ |
+
+ {{ v_school.land_phone_number }}
+ |
+
+
+ |
+ الدوام
+ |
+
+ {% if v_school.is_2nd_shift %}
+ بعد الظهر
+ {% endif %}
+ {% if v_school.is_alp %}
+ - ALP
+ {% endif %}
+
+ |
+
+
+ |
+
+
+{% endfor %}
+
+
+{% if rep_groupby == 'SECTION' %}
+ {% regroup enrollment by class_section as v_enrollment %}
+
+
+
+ N.B.:
+
+ (-) : تلميذ منتقل/منقطع
+
+
+{% else %}
+
+ {% regroup enrollment by classroom as v_enrollment %}
+
+
+ N.B.:
+
+ (-) : تلميذ منتقل/منقطع
+
+
+
+
+{% endif %}
+
+
+
+ {% for schl in school %}
+
+
+
+
+
+
+
+
+ |
+
+ أنا الموقع (ة) أدناه
+
+ |
+
+
+ {{ schl.director_name }}
+
+ |
+
+
+ مدير(ة) مدرسة
+
+ |
+
+
+ {{ schl.name}}-دوام
+ {% if schl.is_2nd_shift %}
+ بعد الظهر
+ {% endif %}
+ {% if schl.is_alp %}
+ - ALP
+ {% endif %}
+
+ |
+
+
+ | |
+
+
+
+ أفيد ان التلاميذ المدونة أسماؤهم في هذه اللائحة و عددهم
+
+
+ *** {{ schl.total_registered }} ***
+
+
+ يتابعون في مدرستي
+
+ وأصرّح على مسؤوليتي أن المعلومات الواردة في هذه اللائحة مطابقة للواقع
+
+ |
+
+
+ |
+
+
+
+ |
+
+ إن مندرجات هذه اللائحة صحيحة و قد دققت على مسؤوليتي
+
+
+
+
+
+
+ |
+
+ |
+
+
+
+
+ توقيع المدير
+ |
+
+
+ |
+ في
+ {{ current_date|date:"d/m/Y" }}
+ |
+
+
+ |
+
+
+
+ |
+ {% endfor %}
+
+
+
+
+
+
+
diff --git a/student_registration/templates/dashboard/utilities.html b/student_registration/templates/dashboard/utilities.html
new file mode 100644
index 000000000..769680f66
--- /dev/null
+++ b/student_registration/templates/dashboard/utilities.html
@@ -0,0 +1,98 @@
+
+{% extends "base.html" %}
+{% load staticfiles i18n %}
+{% get_current_language as LANGUAGE_CODE %}
+{#{% load util_tags %}#}
+
+{% block extra_head %}
+
+
+{% endblock %}
+
+{% block content-full-page %}
+
+{% load util_tags %}
+
+
+
+ Utilities
+
+
+
+
+
+
+
+
+
+
+
+{% endblock %}
diff --git a/student_registration/templates/django_tables2/clm_assessment_column.html b/student_registration/templates/django_tables2/clm_assessment_column.html
new file mode 100644
index 000000000..bf7582ff5
--- /dev/null
+++ b/student_registration/templates/django_tables2/clm_assessment_column.html
@@ -0,0 +1,7 @@
+{% load staticfiles i18n %}
+{% load util_tags %}
+
+
+
+ {% trans "Post-Assessment" %}
+
diff --git a/student_registration/templates/django_tables2/clm_delete_column.html b/student_registration/templates/django_tables2/clm_delete_column.html
new file mode 100644
index 000000000..080d11e4f
--- /dev/null
+++ b/student_registration/templates/django_tables2/clm_delete_column.html
@@ -0,0 +1,10 @@
+{% load staticfiles i18n %}
+{% load util_tags %}
+{% if record.owner.id == request.user.id and column.attrs.programme|is_allowed_edit %}
+
+{% else %}
+ {% trans "Not allowed" %}
+{% endif %}
diff --git a/student_registration/templates/django_tables2/clm_edit_column.html b/student_registration/templates/django_tables2/clm_edit_column.html
new file mode 100644
index 000000000..190608ed7
--- /dev/null
+++ b/student_registration/templates/django_tables2/clm_edit_column.html
@@ -0,0 +1,10 @@
+{% load staticfiles i18n %}
+{% load util_tags %}
+{% if column.attrs.programme|is_allowed_edit %}
+
+
+ {% trans "Edit" %}
+
+{% else %}
+ {% trans "Not allowed" %}
+{% endif %}
diff --git a/student_registration/templates/django_tables2/clm_followup_column.html b/student_registration/templates/django_tables2/clm_followup_column.html
new file mode 100644
index 000000000..450ae0900
--- /dev/null
+++ b/student_registration/templates/django_tables2/clm_followup_column.html
@@ -0,0 +1,7 @@
+{% load staticfiles i18n %}
+{% load util_tags %}
+
+
+
+ {% trans "Follow-up" %}
+
diff --git a/student_registration/templates/django_tables2/clm_re_enroll_column.html b/student_registration/templates/django_tables2/clm_re_enroll_column.html
new file mode 100644
index 000000000..1a08efc1d
--- /dev/null
+++ b/student_registration/templates/django_tables2/clm_re_enroll_column.html
@@ -0,0 +1,10 @@
+{% load staticfiles i18n %}
+{% load util_tags %}
+{% if column.attrs.programme|is_allowed_create %}
+
+
+ {% trans "Re-enroll" %}
+
+{% else %}
+ {% trans "Not allowed" %}
+{% endif %}
diff --git a/student_registration/templates/django_tables2/clm_referral_column.html b/student_registration/templates/django_tables2/clm_referral_column.html
new file mode 100644
index 000000000..320e83705
--- /dev/null
+++ b/student_registration/templates/django_tables2/clm_referral_column.html
@@ -0,0 +1,7 @@
+{% load staticfiles i18n %}
+{% load util_tags %}
+
+
+
+ {% trans "Refer" %}
+
diff --git a/student_registration/templates/django_tables2/dropout_column.html b/student_registration/templates/django_tables2/dropout_column.html
new file mode 100644
index 000000000..ea2933b95
--- /dev/null
+++ b/student_registration/templates/django_tables2/dropout_column.html
@@ -0,0 +1,13 @@
+{% load staticfiles i18n %}
+
+
+
+
+
+
diff --git a/student_registration/templates/django_tables2/grading_incomplete_column.html b/student_registration/templates/django_tables2/grading_incomplete_column.html
index f5f13d05e..023ffd49b 100644
--- a/student_registration/templates/django_tables2/grading_incomplete_column.html
+++ b/student_registration/templates/django_tables2/grading_incomplete_column.html
@@ -1,6 +1,6 @@
{% load staticfiles i18n %}
{% load util_tags %}
-{% if request.user|has_group:"ENROL_GRADING" and record.incomplete_grading %}
+{% if request.user|has_group:"ENROL_GRADING" and record.incomplete_grading %}
{% trans "Incomplete" %}
diff --git a/student_registration/templates/django_tables2/is_verified.html b/student_registration/templates/django_tables2/is_verified.html
new file mode 100644
index 000000000..5c5d02f37
--- /dev/null
+++ b/student_registration/templates/django_tables2/is_verified.html
@@ -0,0 +1,21 @@
+{% load staticfiles i18n %}
+
+
+{% if record.is_justified %}
+
+{% else %}
+
+{% endif %}
+
diff --git a/student_registration/templates/enrollments/clear_images.html b/student_registration/templates/enrollments/clear_images.html
new file mode 100644
index 000000000..3a75dfa13
--- /dev/null
+++ b/student_registration/templates/enrollments/clear_images.html
@@ -0,0 +1,88 @@
+{% extends "base.html" %}
+{% load staticfiles i18n %}
+{% load util_tags %}
+{% load static %}
+{% load bootstrap3 %}
+{% bootstrap_css %}
+{% load render_table from django_tables2 %}
+
+{% get_current_language as LANGUAGE_CODE %}
+
+
+{% block extra_head %}
+
+
+{% endblock %}
+{% block content-full-page %}
+
+
+
+
+
+
+
+ {% trans 'Modifying Images' %}
+ {{ student_images.student }}
+
+
+
+
+
+{% endblock %}
diff --git a/student_registration/templates/enrollments/edit_column.html b/student_registration/templates/enrollments/edit_column.html
index 62987c0e8..e0b31b30a 100644
--- a/student_registration/templates/enrollments/edit_column.html
+++ b/student_registration/templates/enrollments/edit_column.html
@@ -1,10 +1,12 @@
{% load staticfiles i18n %}
{% load util_tags %}
-{% if record.owner.id == request.user.id and request.user|has_group:"ENROL_EDIT" %}
-
-
- {% trans "Edit" %}
-
-{% else %}
- {% trans "Not allowed" %}
-{% endif %}
+
+ {% if record.owner.id == request.user.id and request.user|has_group:"ENROL_EDIT" %}
+
+
+ {% trans "Edit" %}
+
+ {% else %}
+ {% trans "Not allowed" %}
+ {% endif %}
+
diff --git a/student_registration/templates/enrollments/edit_column_region.html b/student_registration/templates/enrollments/edit_column_region.html
new file mode 100644
index 000000000..6f14762b1
--- /dev/null
+++ b/student_registration/templates/enrollments/edit_column_region.html
@@ -0,0 +1,14 @@
+{% load staticfiles i18n %}
+{% load util_tags %}
+{% if request.user|has_group:"ADMIN_RE" %}
+
+ {% if request.user|has_group:"ENROL_EDIT" %}
+
+
+ {% trans "Edit" %}
+
+ {% else %}
+ {% trans "Not allowed" %}
+ {% endif %}
+
+{% endif %}
diff --git a/student_registration/templates/enrollments/list.html b/student_registration/templates/enrollments/list.html
index aa1f0fda1..74dd4c03a 100644
--- a/student_registration/templates/enrollments/list.html
+++ b/student_registration/templates/enrollments/list.html
@@ -12,15 +12,14 @@
{% endblock %}
{% block content-full-page-ar %}
-
+ {% if not request.user|has_group:"ADMIN_RE" %}
- {{ table.rows|length }}
- {{ request.user.school }}
- {{ request.user.school.location }}
- {{ request.user.school.location.parent }}
-
-
+
{% if request.user|has_group:"ENROL_CREATE" %}
-
@@ -28,7 +27,7 @@
{% trans "Add new Student" %}
- {% endif %}
+ {% endif %}
-
@@ -41,6 +40,7 @@
{% trans "Export students grading" %}
+
-
-
-
+
+ {% endif %}
+
+
+{% endblock %}
diff --git a/student_registration/templates/schools/evaluation b/student_registration/templates/schools/evaluation
new file mode 100644
index 000000000..e69de29bb
diff --git a/student_registration/templates/schools/evaluation.html b/student_registration/templates/schools/evaluation.html
new file mode 100644
index 000000000..4afd9e014
--- /dev/null
+++ b/student_registration/templates/schools/evaluation.html
@@ -0,0 +1,21 @@
+{% extends "base.html" %}
+{% load staticfiles i18n %}
+{% load crispy_forms_tags %}
+{% load util_tags %}
+
+{% block head_title %}School profile{% endblock %}
+
+
+
+
+
+
+{% block content %}
+
+ {{ form.errors }}
+
+
+
+{% endblock %}
diff --git a/student_registration/templates/schools/profile.html b/student_registration/templates/schools/profile.html
index 1ddd28c5a..88ffffc7a 100644
--- a/student_registration/templates/schools/profile.html
+++ b/student_registration/templates/schools/profile.html
@@ -194,6 +194,7 @@
$('#id_academic_year_exam_end').datepicker({dateFormat: "yy-mm-dd"});
var notification_url = '/api/notifications/';
var user_token = '{{ user_token }}';
+ var href_full_path = '{{ request.build_absolute_uri }}';
var csrftoken = $('input[name=csrfmiddlewaretoken]').val();
$(document).ready(function() {
diff --git a/student_registration/templates/staffenroll/delete_column.html b/student_registration/templates/staffenroll/delete_column.html
new file mode 100644
index 000000000..5910c2ea9
--- /dev/null
+++ b/student_registration/templates/staffenroll/delete_column.html
@@ -0,0 +1,10 @@
+{% load staticfiles i18n %}
+{% load util_tags %}
+{% if record.owner.id == request.user.id and request.user|has_group:"STAFFENROL_DELETE" %}
+
+{% else %}
+ {% trans "Not allowed" %}
+{% endif %}
diff --git a/student_registration/templates/staffenroll/edit_column.html b/student_registration/templates/staffenroll/edit_column.html
new file mode 100644
index 000000000..168d90eee
--- /dev/null
+++ b/student_registration/templates/staffenroll/edit_column.html
@@ -0,0 +1,10 @@
+{% load staticfiles i18n %}
+{% load util_tags %}
+{% if record.owner.id == request.user.id and request.user|has_group:"STAFFENROL_EDIT" %}
+
+
+ {% trans "Edit" %}
+
+{% else %}
+ {% trans "Not allowed" %}
+{% endif %}
diff --git a/student_registration/templates/staffenroll/list.html b/student_registration/templates/staffenroll/list.html
new file mode 100644
index 000000000..ddd34e6b3
--- /dev/null
+++ b/student_registration/templates/staffenroll/list.html
@@ -0,0 +1,97 @@
+{% extends "base.html" %}
+{% load staticfiles i18n %}
+{% load util_tags %}
+{% load static %}
+{% load render_table from django_tables2 %}
+{% load bootstrap3 %}
+{% bootstrap_css %}
+
+{% block extra_head %}
+
+
+{% endblock %}
+
+{% block content-full-page-ar %}
+
+
+ - {{ table.rows|length }}
+ - {{ request.user.school }}
+ - {{ request.user.school.location }}
+ - {{ request.user.school.location.parent }}
+
+
+
+
+
+
+
+ {% csrf_token %}
+ {% render_table table 'django_tables2/bootstrap.html' %}
+
+
+{% endblock %}
+
+{% block extra_js %}
+ {% get_user_token request.user.id as user_token %}
+
+
+
+
+
+
+{% endblock %}
diff --git a/student_registration/templates/staffs/list.html b/student_registration/templates/staffs/list.html
new file mode 100644
index 000000000..4eec656e0
--- /dev/null
+++ b/student_registration/templates/staffs/list.html
@@ -0,0 +1,100 @@
+{% extends "base.html" %}
+{% load staticfiles i18n %}
+{% load util_tags %}
+{% load static %}
+{% load render_table from django_tables2 %}
+{% load bootstrap3 %}
+{% bootstrap_css %}
+
+{% block extra_head %}
+
+
+{% endblock %}
+
+{% block content-full-page-ar %}
+
+
+ - {{ table.rows|length }}
+ - {{ request.user.school }}
+ - {{ request.user.school.location }}
+ - {{ request.user.school.location.parent }}
+
+
+
+ {% if request.user|has_group:"ENROL_CREATE" %}
+ -
+
+
+ {% trans "Add new Student" %}
+
+
+ {% endif %}
+ -
+
+
+ {% trans "Export students infos" %}
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+ {% csrf_token %}
+ {% render_table table 'django_tables2/bootstrap.html' %}
+
+
+{% endblock %}
+
+{% block extra_js %}
+ {% get_user_token request.user.id as user_token %}
+
+
+
+
+
+
+{% endblock %}
diff --git a/student_registration/templates/staffs/staff_form.html b/student_registration/templates/staffs/staff_form.html
new file mode 100644
index 000000000..949569c9d
--- /dev/null
+++ b/student_registration/templates/staffs/staff_form.html
@@ -0,0 +1,35 @@
+{% extends "base.html" %}
+{% load staticfiles i18n %}
+{% load util_tags %}
+{% load static %}
+{% load bootstrap3 %}
+{% bootstrap_css %}
+{% load render_table from django_tables2 %}
+
+{% block content %}
+
+
+
+
+ Staff Form
+
+
+
+
+
+
+
+
+
+
+{% endblock %}
diff --git a/student_registration/templates/staffs/staff_update_form.html b/student_registration/templates/staffs/staff_update_form.html
new file mode 100644
index 000000000..44d53a845
--- /dev/null
+++ b/student_registration/templates/staffs/staff_update_form.html
@@ -0,0 +1,35 @@
+{% extends "base.html" %}
+{% load staticfiles i18n %}
+{% load util_tags %}
+{% load static %}
+{% load bootstrap3 %}
+{% bootstrap_css %}
+{% load render_table from django_tables2 %}
+
+
+{% block extra_head %}
+
+
+
+
+ {{ title }}
+
+
+
+{% endblock %}
+
+
+{% block content %}
+
+
+
+{% endblock %}
diff --git a/student_registration/templates/staffs/stafflist.html b/student_registration/templates/staffs/stafflist.html
new file mode 100644
index 000000000..02f27bc1d
--- /dev/null
+++ b/student_registration/templates/staffs/stafflist.html
@@ -0,0 +1,93 @@
+{% extends "base.html" %}
+{% load staticfiles i18n %}
+{% load util_tags %}
+{% load static %}
+{% load bootstrap3 %}
+{% bootstrap_css %}
+{% load render_table from django_tables2 %}
+
+
+{% block extra_head %}
+
+
+{% endblock %}
+{% block content-full-page-ar %}
+
+
+
+
+
+
+
+
+
+ | First Name |
+ Father Name |
+ Last Name |
+ ID Number |
+ Image |
+
+
+
+ {% for staff in staff_list %}
+
+ |
+
+ {{staff.first_name}}
+
+ |
+
+
+ {{staff.father_name}}
+
+ |
+
+ {{staff.last_name}}
+ |
+
+ {{staff.id_number}}
+ |
+
+
+
+ |
+
+
+ {% endfor %}
+
+
+
+
+
+{% endblock %}
+
diff --git a/student_registration/templates/students/imagestd.html b/student_registration/templates/students/imagestd.html
new file mode 100644
index 000000000..7d511d83a
--- /dev/null
+++ b/student_registration/templates/students/imagestd.html
@@ -0,0 +1,143 @@
+{% extends "base.html" %}
+{% load staticfiles i18n %}
+{% load util_tags %}
+{% load static %}
+{% load bootstrap3 %}
+{% bootstrap_css %}
+{% load render_table from django_tables2 %}
+
+{% get_current_language as LANGUAGE_CODE %}
+
+
+{% block extra_head %}
+
+
+{% endblock %}
+{% block content-full-page %}
+
+
+
+
+
+
+
+{% endblock %}
diff --git a/student_registration/templates/students/save.html b/student_registration/templates/students/save.html
new file mode 100644
index 000000000..e8e43cf68
--- /dev/null
+++ b/student_registration/templates/students/save.html
@@ -0,0 +1,13 @@
+
+
+
+ {% if saved %}
+
Your profile was saved.
+ {% endif %}
+
+ {% if not saved %}
+
Your profile was not saved.
+ {% endif %}
+
+
+
diff --git a/student_registration/users/admin.py b/student_registration/users/admin.py
index 03c3ffe2e..247c9b9c5 100644
--- a/student_registration/users/admin.py
+++ b/student_registration/users/admin.py
@@ -2,15 +2,34 @@
from __future__ import absolute_import, unicode_literals
from django.contrib import admin
+from import_export import resources, fields
+from import_export import fields
+from import_export.admin import ImportExportModelAdmin
from django.utils.translation import gettext, gettext_lazy as _
from django.contrib.auth.admin import UserAdmin as AuthUserAdmin
from django.contrib.auth.models import Group
from .models import User
-class UserAdmin(AuthUserAdmin):
+class UserResource(resources.ModelResource):
- filter_horizontal = ('groups', 'user_permissions', 'locations', 'schools')
+ class Meta:
+ model = User
+ fields = (
+ 'id',
+ 'first_name',
+ 'last_name',
+ 'username',
+ 'email',
+ 'partner__name',
+ )
+ export_order = fields
+
+
+class UserAdmin(AuthUserAdmin, ImportExportModelAdmin):
+ resource_class = UserResource
+
+ filter_horizontal = ('groups', 'user_permissions', 'locations', 'schools', 'regions')
list_display = (
'username',
'first_name',
@@ -32,6 +51,7 @@ class UserAdmin(AuthUserAdmin):
'groups',
'school',
'location',
+ 'partner',
'is_active',
)
actions = (
@@ -51,6 +71,18 @@ class UserAdmin(AuthUserAdmin):
'deny_attendance',
'allow_helpdesk',
'deny_helpdesk',
+ 'allow_utilities',
+ 'deny_utilities',
+ 'allow_showpic',
+ 'deny_showpic',
+ 'allow_clearpic',
+ 'deny_clearpic',
+ 'allow_evalcovid19',
+ 'deny_evalcovid19',
+ 'allow_staff_attendance',
+ 'deny_staff_attendance',
+ 'allow_survey_ps',
+ 'deny_survey_ps',
)
fieldsets = (
@@ -59,7 +91,7 @@ class UserAdmin(AuthUserAdmin):
(_('Permissions'), {'fields': ('is_active', 'is_staff', 'is_superuser',
'groups', 'user_permissions')}),
(_('Important dates'), {'fields': ('last_login', 'date_joined')}),
- (None, {'fields': ('partner', 'location', 'school', 'locations', 'schools')})
+ (None, {'fields': ('partner', 'location', 'school', 'locations', 'schools', 'regions')})
)
add_fieldsets = (
@@ -68,7 +100,7 @@ class UserAdmin(AuthUserAdmin):
(_('Permissions'), {'fields': ('is_active', 'is_staff', 'is_superuser',
'groups', 'user_permissions')}),
(_('Important dates'), {'fields': ('last_login', 'date_joined')}),
- (None, {'fields': ('partner', 'location', 'school', 'locations', 'schools')})
+ (None, {'fields': ('partner', 'location', 'school', 'locations', 'schools', 'regions')})
)
def activate(self, request, queryset):
@@ -103,6 +135,36 @@ def allow_enroll_grading(self, request, queryset):
for user in queryset:
user.groups.add(group)
+ def allow_utilities(self, request, queryset):
+ group = Group.objects.get(name='UTILITIES')
+ for user in queryset:
+ user.groups.add(group)
+
+ def allow_showpic(self, request, queryset):
+ group = Group.objects.get(name='ENROL_SHOWPIC')
+ for user in queryset:
+ user.groups.add(group)
+
+ def allow_staff_evalcovid19(self, request, queryset):
+ group = Group.objects.get(name='EVAL_COVID19')
+ for user in queryset:
+ user.groups.add(group)
+
+ def allow_staff_attendance(self, request, queryset):
+ group = Group.objects.get(name='ALLOW_STAFF_ATTENDANCE')
+ for user in queryset:
+ user.groups.add(group)
+
+ def allow_survey_ps(self, request, queryset):
+ group = Group.objects.get(name='SURVEY_PS')
+ for user in queryset:
+ user.groups.add(group)
+
+ def allow_clearpic(self, request, queryset):
+ group = Group.objects.get(name='ENROL_CLEARPIC')
+ for user in queryset:
+ user.groups.add(group)
+
def allow_attendance(self, request, queryset):
group = Group.objects.get(name='ATTENDANCE')
for user in queryset:
@@ -133,11 +195,41 @@ def deny_enroll_grading(self, request, queryset):
for user in queryset:
user.groups.remove(group)
+ def deny_clearpic(self, request, queryset):
+ group = Group.objects.get(name='ENROL_CLEARPIC')
+ for user in queryset:
+ user.groups.remove(group)
+
+ def deny_utilities(self, request, queryset):
+ group = Group.objects.get(name='UTILITIES')
+ for user in queryset:
+ user.groups.remove(group)
+
+ def deny_showpic(self, request, queryset):
+ group = Group.objects.get(name='ENROL_SHOWPIC')
+ for user in queryset:
+ user.groups.remove(group)
+
+ def deny_evalcovid19(self, request, queryset):
+ group = Group.objects.get(name='EVAL_COVID19')
+ for user in queryset:
+ user.groups.remove(group)
+
def deny_attendance(self, request, queryset):
group = Group.objects.get(name='ATTENDANCE')
for user in queryset:
user.groups.remove(group)
+ def deny_staff_attendance(self, request, queryset):
+ group = Group.objects.get(name='ALLOW_STAFF_ATTENDANCE')
+ for user in queryset:
+ user.groups.remove(group)
+
+ def deny_survey_ps(self, request, queryset):
+ group = Group.objects.get(name='SURVEY_PS')
+ for user in queryset:
+ user.groups.remove(group)
+
def allow_helpdesk(self, request, queryset):
group = Group.objects.get(name='HELPDESK')
for user in queryset:
@@ -150,6 +242,22 @@ def deny_helpdesk(self, request, queryset):
user.groups.remove(group)
queryset.update(is_staff=False)
+ def allow_staffenroll_create(self, request, queryset):
+ group = Group.objects.get(name='STAFFENROL_CREATE')
+ for user in queryset:
+ user.groups.add(group)
+
+ def allow_staffenroll_edit(self, request, queryset):
+ group = Group.objects.get(name='STAFFENROL_EDIT')
+ for user in queryset:
+ user.groups.add(group)
+
+ def allow_staffenroll_delete(self, request, queryset):
+ group = Group.objects.get(name='STAFFENROL_DELETE')
+ for user in queryset:
+ user.groups.add(group)
+
+
admin.site.register(User, UserAdmin)
diff --git a/student_registration/users/migrations/0010_login.py b/student_registration/users/migrations/0010_login.py
new file mode 100644
index 000000000..fb8652b6b
--- /dev/null
+++ b/student_registration/users/migrations/0010_login.py
@@ -0,0 +1,27 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-11-25 07:02
+from __future__ import unicode_literals
+
+from django.conf import settings
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('schools', '0042_setup'),
+ ('users', '0009_auto_20170731_2134'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Login',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('active', models.BooleanField(default=True)),
+ ('education_year', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='schools.EducationYear', verbose_name='Education year')),
+ ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='User')),
+ ],
+ ),
+ ]
diff --git a/student_registration/users/migrations/0011_auto_20191125_0908.py b/student_registration/users/migrations/0011_auto_20191125_0908.py
new file mode 100644
index 000000000..e95852bbc
--- /dev/null
+++ b/student_registration/users/migrations/0011_auto_20191125_0908.py
@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2019-11-25 07:08
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('users', '0010_login'),
+ ]
+
+ operations = [
+ migrations.AlterModelOptions(
+ name='login',
+ options={'verbose_name_plural': 'Login'},
+ ),
+ ]
diff --git a/student_registration/users/migrations/0012_user_regions.py b/student_registration/users/migrations/0012_user_regions.py
new file mode 100644
index 000000000..df520ab97
--- /dev/null
+++ b/student_registration/users/migrations/0012_user_regions.py
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-03-02 22:25
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('locations', '0006_auto_20191219_1302'),
+ ('users', '0011_auto_20191125_0908'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='user',
+ name='regions',
+ field=models.ManyToManyField(blank=True, related_name='regions', to='locations.Location'),
+ ),
+ ]
diff --git a/student_registration/users/migrations/0013_user_staff_password.py b/student_registration/users/migrations/0013_user_staff_password.py
new file mode 100644
index 000000000..e3a22092b
--- /dev/null
+++ b/student_registration/users/migrations/0013_user_staff_password.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2020-03-18 07:33
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('users', '0012_user_regions'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='user',
+ name='staff_password',
+ field=models.CharField(blank=True, max_length=255, null=True, verbose_name='staff password'),
+ ),
+ ]
diff --git a/student_registration/users/models.py b/student_registration/users/models.py
index 46674d2f2..5fa15e81f 100644
--- a/student_registration/users/models.py
+++ b/student_registration/users/models.py
@@ -6,10 +6,9 @@
from django.db import models
from django.utils.encoding import python_2_unicode_compatible
from django.utils.translation import ugettext_lazy as _
-from student_registration.schools.models import PartnerOrganization, School
+from student_registration.schools.models import PartnerOrganization,EducationYear, School
from student_registration.locations.models import Location
-
@python_2_unicode_compatible
class User(AbstractUser):
@@ -39,7 +38,13 @@ class User(AbstractUser):
)
locations = models.ManyToManyField(Location, blank=True)
schools = models.ManyToManyField(School, blank=True)
-
+ regions = models.ManyToManyField(Location, blank=True, related_name='regions')
+ staff_password = models.CharField(
+ _('staff password'),
+ max_length=255,
+ null=True,
+ blank=True
+ )
def __str__(self):
return self.username
@@ -48,3 +53,28 @@ def update_password(self, password):
def get_absolute_url(self):
return reverse('users:detail', kwargs={'username': self.username})
+
+
+class Login(models.Model):
+ user = models.ForeignKey(
+ User,
+ blank=True, null=True,
+ verbose_name=_('User')
+ )
+ education_year = models.ForeignKey(
+ EducationYear,
+ blank=True, null=True,
+ related_name='+',
+ verbose_name=_('Education year')
+ )
+ active = models.BooleanField(default=True)
+
+ def __unicode__(self):
+
+ return u'{} {}'.format(
+ self.user,
+ self.education_year,
+ )
+
+ class Meta:
+ verbose_name_plural = "Login"
diff --git a/student_registration/winterization/admin.py b/student_registration/winterization/admin.py
index e26117b19..382c82552 100644
--- a/student_registration/winterization/admin.py
+++ b/student_registration/winterization/admin.py
@@ -3,7 +3,7 @@
from import_export import resources, fields
from import_export import fields
from import_export.admin import ImportExportModelAdmin
-from import_export.widgets import *
+# from import_export.widgets import *
from .models import Assessment
diff --git a/student_registration/xframe_middleware.py b/student_registration/xframe_middleware.py
new file mode 100755
index 000000000..9a5c47da3
--- /dev/null
+++ b/student_registration/xframe_middleware.py
@@ -0,0 +1,11 @@
+class XFrameMiddleware:
+ def __init__(self, get_response):
+ self.get_response = get_response
+
+ def __call__(self, request):
+ response = self.get_response(request)
+
+ if request.is_secure:
+ response['X-Frame-Options'] = 'DENY'
+
+ return response