.
This commit is contained in:
@@ -13,6 +13,7 @@ ENV PYTHONUNBUFFERED 1
|
||||
# python3 python3-dev gcc \
|
||||
# gfortran musl-dev \
|
||||
# libffi-dev openssl-dev
|
||||
RUN apt-get update && apt-get -y install postgresql postgresql-contrib
|
||||
|
||||
# install dependencies
|
||||
RUN pip install --upgrade pip
|
||||
|
||||
+19
-18
@@ -69,7 +69,7 @@ INSTALLED_APPS = [
|
||||
"dbbackup",
|
||||
"rest_framework",
|
||||
"tinymce",
|
||||
'django_unused_media',
|
||||
"django_unused_media",
|
||||
]
|
||||
|
||||
MIDDLEWARE = [
|
||||
@@ -112,12 +112,11 @@ WSGI_APPLICATION = "rad.wsgi.application"
|
||||
DATABASES = {
|
||||
"default": {
|
||||
"ENGINE": "django.db.backends.postgresql",
|
||||
"NAME": "rad",
|
||||
"USER": "django",
|
||||
"PASSWORD": "f7bf31dc9bda1256ea827953480d1917",
|
||||
# "HOST": "xkjq.uk",
|
||||
"HOST": "161.35.163.87",
|
||||
"PORT": "5432",
|
||||
"NAME": os.environ.get("DB_NAME", "rad"),
|
||||
"USER": os.environ.get("DB_USER", "django"),
|
||||
"PASSWORD": os.environ.get("DB_PASSWORD", "f7bf31dc9bda1256ea827953480d1917"),
|
||||
"HOST": os.environ.get("DB_HOST", "161.35.163.87"),
|
||||
"PORT": os.environ.get("DB_PORT", "5432"),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -259,21 +258,23 @@ DEFAULT_AUTO_FIELD = "django.db.models.AutoField"
|
||||
|
||||
EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
|
||||
|
||||
#SENDGRID_API_KEY = os.getenv('SENDGRID_API_KEY')
|
||||
SENDGRID_API_KEY = "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"
|
||||
# SENDGRID_API_KEY = os.getenv('SENDGRID_API_KEY')
|
||||
SENDGRID_API_KEY = (
|
||||
"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"
|
||||
)
|
||||
|
||||
EMAIL_HOST = 'smtp.sendgrid.net'
|
||||
EMAIL_HOST_USER = 'apikey' # this is exactly the value 'apikey'
|
||||
EMAIL_HOST = "smtp.sendgrid.net"
|
||||
EMAIL_HOST_USER = "apikey" # this is exactly the value 'apikey'
|
||||
EMAIL_HOST_PASSWORD = SENDGRID_API_KEY
|
||||
EMAIL_PORT = 587
|
||||
EMAIL_USE_TLS = True
|
||||
#EMAIL_HOST = "smtp.office365.com "
|
||||
#EMAIL_HOST_USER = "Penra.courses@nhs.net"
|
||||
#EMAIL_HOST_PASSWORD = '"got3<}%o"~\J",\Di3<'
|
||||
#EMAIL_PORT = 587
|
||||
#EMAIL_USE_TLS = True
|
||||
#EMAIL_USE_SSl = False
|
||||
#DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
|
||||
# EMAIL_HOST = "smtp.office365.com "
|
||||
# EMAIL_HOST_USER = "Penra.courses@nhs.net"
|
||||
# EMAIL_HOST_PASSWORD = '"got3<}%o"~\J",\Di3<'
|
||||
# EMAIL_PORT = 587
|
||||
# EMAIL_USE_TLS = True
|
||||
# EMAIL_USE_SSl = False
|
||||
# DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
|
||||
|
||||
try:
|
||||
from .settings_local import *
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
# Generated by Django 3.2.13 on 2022-05-18 18:30
|
||||
|
||||
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),
|
||||
('rapids', '0052_rapidimage_filename'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='ciduseranswer',
|
||||
name='user',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
|
||||
),
|
||||
]
|
||||
+12
-24
@@ -708,6 +708,11 @@ class CidUserAnswer(models.Model):
|
||||
help_text="Candidate ID (limitied by BigIntegerField size)",
|
||||
)
|
||||
|
||||
user = models.ForeignKey(
|
||||
settings.AUTH_USER_MODEL, on_delete=models.CASCADE, blank=True, null=True
|
||||
)
|
||||
|
||||
|
||||
# Each user answer is associated with a particular exam
|
||||
exam = models.ForeignKey(
|
||||
Exam, related_name="cid_user_answers", on_delete=models.CASCADE, null=True
|
||||
@@ -724,12 +729,17 @@ class CidUserAnswer(models.Model):
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
|
||||
name = self.cid
|
||||
if self.user is not None:
|
||||
name = self.user.username
|
||||
|
||||
try:
|
||||
exam = self.exam
|
||||
except (Exam.DoesNotExist, KeyError) as e:
|
||||
exam = "None"
|
||||
return "{}/{}/{}: {}".format(
|
||||
exam, self.cid, self.question.get_primary_answer(), self.answer
|
||||
exam, name, self.question.get_primary_answer(), self.answer
|
||||
)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
@@ -815,26 +825,4 @@ class CidUserAnswer(models.Model):
|
||||
elif marked_ans.status == Answer.MarkOptions.INCORRECT:
|
||||
mark = 0
|
||||
|
||||
return mark
|
||||
|
||||
if (
|
||||
q.answers.filter(
|
||||
answer_compare__iexact=ans, status=Answer.MarkOptions.CORRECT
|
||||
).first()
|
||||
is not None
|
||||
):
|
||||
mark = 1
|
||||
elif (
|
||||
q.answers.filter(
|
||||
answer_compare__iexact=ans, status=Answer.MarkOptions.HALF_MARK
|
||||
).first()
|
||||
is not None
|
||||
):
|
||||
mark = 0.5
|
||||
elif q.answers.filter(
|
||||
answer_compare__iexact=ans, status=Answer.MarkOptions.INCORRECT
|
||||
).first():
|
||||
mark = 0
|
||||
else:
|
||||
mark = "unmarked"
|
||||
return mark
|
||||
return mark
|
||||
Reference in New Issue
Block a user