Skip to content
Snippets Groups Projects
Commit b5f00227 authored by Jan Maximilian Michal's avatar Jan Maximilian Michal
Browse files

Added core app, .editorconfig and defined models

parent 8c2016da
No related branches found
No related tags found
No related merge requests found
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
# Python specific settigs
[*.py]
indent_style = space
indent_size = 4
charset = utf-8
# Tab indentation (no size specified)
[Makefile]
indent_style = tab
# Matches the exact files either package.json or .travis.yml
[{package.json,.travis.yml}]
indent_style = space
indent_size = 2
from django.contrib import admin
from .models import SubmissionType, Feedback, Student, Submission
# Register your models here.
admin.site.register(SubmissionType)
admin.site.register(Feedback)
admin.site.register(Student)
admin.site.register(Submission)
from django.apps import AppConfig
class CoreConfig(AppConfig):
name = 'core'
# -*- coding: utf-8 -*-
# Generated by Django 1.10.6 on 2017-03-03 15:39
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='SubmissionType',
fields=[
('type_id', models.CharField(max_length=20, primary_key=True, serialize=False)),
('name', models.CharField(max_length=50)),
('correct_solution', models.TextField()),
('correction_guideline', models.TextField()),
],
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.10.6 on 2017-03-03 18:37
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),
('core', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='Feedback',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('score', models.PositiveIntegerField(default=0)),
('text', models.TextField()),
('of_reviewer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='reviewd_submissions', to=settings.AUTH_USER_MODEL)),
],
options={
'verbose_name': 'Feedback',
'verbose_name_plural': 'Feedbacks',
},
),
migrations.CreateModel(
name='Student',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('matrikel_no', models.PositiveIntegerField(default=0, unique=True)),
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
migrations.CreateModel(
name='Submission',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('pre_corrections', models.TextField()),
('student', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='core.Student')),
],
options={
'verbose_name': 'Submission',
'verbose_name_plural': 'Submissions',
},
),
migrations.AlterModelOptions(
name='submissiontype',
options={'verbose_name': 'SubmissionType', 'verbose_name_plural': 'SubmissionTypes'},
),
migrations.AddField(
model_name='submissiontype',
name='full_score',
field=models.PositiveIntegerField(default=0),
),
migrations.AddField(
model_name='submission',
name='submission_type',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='submissions', to='core.SubmissionType'),
),
migrations.AddField(
model_name='feedback',
name='of_submission',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.Submission'),
),
migrations.AddField(
model_name='feedback',
name='of_tutor',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='corrected_submissions', to=settings.AUTH_USER_MODEL),
),
]
from django.db import models
from django.contrib.auth.models import User
# Create your models here.
class SubmissionType(models.Model):
# Fields
type_id = models.CharField(primary_key=True, max_length=20)
name = models.CharField(max_length=50)
full_score = models.PositiveIntegerField(default=0)
correct_solution = models.TextField()
correction_guideline = models.TextField()
class Meta:
verbose_name = "SubmissionType"
verbose_name_plural = "SubmissionTypes"
def __str__(self):
return self.name
class Student(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
matrikel_no = models.PositiveIntegerField(unique=True, default=0)
class Meta:
verbose_name = "Student"
verbose_name_plural = "Students"
class Submission(models.Model):
# Fields
pre_corrections = models.TextField()
submission_type = models.ForeignKey(SubmissionType, related_name='submissions')
student = models.OneToOneField(Student)
class Meta:
verbose_name = "Submission"
verbose_name_plural = "Submissions"
def __str__(self):
pass
class Feedback(models.Model):
# fields
score = models.PositiveIntegerField(default=0)
text = models.TextField()
of_submission = models.ForeignKey(Submission)
of_tutor = models.ForeignKey(User, related_name='corrected_submissions')
of_reviewer = models.ForeignKey(User, related_name='reviewd_submissions')
class Meta:
verbose_name = "Feedback"
verbose_name_plural = "Feedback Set"
def __str__(self):
pass
def is_full_score(self):
return of_submission.full_score == score
from django.test import TestCase
# Create your tests here.
from django.shortcuts import render
# Create your views here.
...@@ -37,6 +37,7 @@ INSTALLED_APPS = [ ...@@ -37,6 +37,7 @@ INSTALLED_APPS = [
'django.contrib.sessions', 'django.contrib.sessions',
'django.contrib.messages', 'django.contrib.messages',
'django.contrib.staticfiles', 'django.contrib.staticfiles',
'core',
] ]
MIDDLEWARE = [ MIDDLEWARE = [
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment