mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-17 13:32:15 +00:00
Created forms app and added initial models
This commit is contained in:
0
forms/__init__.py
Normal file
0
forms/__init__.py
Normal file
10
forms/admin.py
Normal file
10
forms/admin.py
Normal file
@@ -0,0 +1,10 @@
|
||||
from django.contrib import admin
|
||||
|
||||
from forms import models
|
||||
|
||||
import reversion
|
||||
|
||||
# Register your models here.
|
||||
admin.site.register(models.Type, reversion.VersionAdmin)
|
||||
admin.site.register(models.Schema, reversion.VersionAdmin)
|
||||
admin.site.register(models.Form, reversion.VersionAdmin)
|
||||
0
forms/migrations/__init__.py
Normal file
0
forms/migrations/__init__.py
Normal file
47
forms/models.py
Normal file
47
forms/models.py
Normal file
@@ -0,0 +1,47 @@
|
||||
from django.db import models
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
import reversion
|
||||
|
||||
from RIGS.models import RevisionMixin
|
||||
|
||||
|
||||
@reversion.register
|
||||
class Type(models.Model, RevisionMixin):
|
||||
name = models.CharField(max_length=255, blank=False, null=False)
|
||||
description = models.CharField(max_length=255, blank=True, null=True)
|
||||
active = models.BooleanField(default=True)
|
||||
|
||||
class SchemaManager(models.Manager):
|
||||
def current_schema(self, schemaType):
|
||||
return self.find_schema(schemaType, datetime.datetime.now())
|
||||
|
||||
def find_schema(self, schemaType, date):
|
||||
return self.filter(schema_type=schemaType, start_at__lte=date).latest()
|
||||
|
||||
@reversion.register
|
||||
@python_2_unicode_compatible
|
||||
class Schema(models.Model, RevisionMixin):
|
||||
schema_type = models.ForeignKey('Type', related_name='schemas', blank=False)
|
||||
|
||||
start_at = models.DateTimeField()
|
||||
|
||||
schema = models.TextField(blank=False, null=False, default="{}")
|
||||
layout = models.TextField(blank=False, null=False, default="{}")
|
||||
|
||||
comment = models.CharField(max_length=255)
|
||||
|
||||
objects = SchemaManager()
|
||||
|
||||
class Meta:
|
||||
ordering = ['-start_at']
|
||||
get_latest_by = 'start_at'
|
||||
|
||||
def __str__(self):
|
||||
return self.comment + " " + str(self.start_at) + " @ " + "%"
|
||||
|
||||
@reversion.register
|
||||
class Form(models.Model, RevisionMixin):
|
||||
event = models.ForeignKey('RIGS.Event', related_name='forms', blank=False)
|
||||
schema = models.ForeignKey('Schema', related_name='forms', blank=False)
|
||||
|
||||
data = models.TextField(blank=False, null=False, default="{}")
|
||||
3
forms/tests.py
Normal file
3
forms/tests.py
Normal file
@@ -0,0 +1,3 @@
|
||||
from django.test import TestCase
|
||||
|
||||
# Create your tests here.
|
||||
3
forms/views.py
Normal file
3
forms/views.py
Normal file
@@ -0,0 +1,3 @@
|
||||
from django.shortcuts import render
|
||||
|
||||
# Create your views here.
|
||||
Reference in New Issue
Block a user