Created CustomUser and tweaked backend models.
This commit is contained in:
		
							parent
							
								
									5175646e51
								
							
						
					
					
						commit
						bd1bf44059
					
				
					 12 changed files with 59 additions and 138 deletions
				
			
		|  | @ -1,126 +0,0 @@ | ||||||
| # Generated by Django 2.1.4 on 2019-01-20 22:35 |  | ||||||
| 
 |  | ||||||
| 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='DataBool', |  | ||||||
|             fields=[ |  | ||||||
|                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |  | ||||||
|                 ('data', models.BooleanField()), |  | ||||||
|             ], |  | ||||||
|         ), |  | ||||||
|         migrations.CreateModel( |  | ||||||
|             name='DataDate', |  | ||||||
|             fields=[ |  | ||||||
|                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |  | ||||||
|                 ('data', models.DateField()), |  | ||||||
|             ], |  | ||||||
|         ), |  | ||||||
|         migrations.CreateModel( |  | ||||||
|             name='DataDecimal', |  | ||||||
|             fields=[ |  | ||||||
|                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |  | ||||||
|                 ('data', models.DecimalField(decimal_places=2, max_digits=9)), |  | ||||||
|             ], |  | ||||||
|         ), |  | ||||||
|         migrations.CreateModel( |  | ||||||
|             name='DataFile', |  | ||||||
|             fields=[ |  | ||||||
|                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |  | ||||||
|                 ('data', models.FileField(upload_to='')), |  | ||||||
|             ], |  | ||||||
|         ), |  | ||||||
|         migrations.CreateModel( |  | ||||||
|             name='DataInteger', |  | ||||||
|             fields=[ |  | ||||||
|                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |  | ||||||
|                 ('data', models.IntegerField()), |  | ||||||
|             ], |  | ||||||
|         ), |  | ||||||
|         migrations.CreateModel( |  | ||||||
|             name='DataString', |  | ||||||
|             fields=[ |  | ||||||
|                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |  | ||||||
|                 ('data', models.TextField()), |  | ||||||
|             ], |  | ||||||
|         ), |  | ||||||
|         migrations.CreateModel( |  | ||||||
|             name='Field', |  | ||||||
|             fields=[ |  | ||||||
|                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |  | ||||||
|                 ('label', models.CharField(max_length=256)), |  | ||||||
|                 ('number', models.IntegerField()), |  | ||||||
|                 ('type', models.CharField(max_length=128)), |  | ||||||
|                 ('completed', models.BooleanField()), |  | ||||||
|             ], |  | ||||||
|         ), |  | ||||||
|         migrations.CreateModel( |  | ||||||
|             name='Report', |  | ||||||
|             fields=[ |  | ||||||
|                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |  | ||||||
|                 ('title', models.CharField(max_length=128)), |  | ||||||
|                 ('date_created', models.DateTimeField(verbose_name='date created')), |  | ||||||
|                 ('date_submitted', models.DateTimeField(verbose_name='date submitted')), |  | ||||||
|                 ('submitted', models.BooleanField()), |  | ||||||
|                 ('user_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), |  | ||||||
|             ], |  | ||||||
|         ), |  | ||||||
|         migrations.CreateModel( |  | ||||||
|             name='Section', |  | ||||||
|             fields=[ |  | ||||||
|                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |  | ||||||
|                 ('completed', models.BooleanField()), |  | ||||||
|                 ('title', models.CharField(max_length=256)), |  | ||||||
|                 ('html_description', models.TextField()), |  | ||||||
|                 ('number', models.IntegerField()), |  | ||||||
|                 ('report_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.Report')), |  | ||||||
|             ], |  | ||||||
|         ), |  | ||||||
|         migrations.AddField( |  | ||||||
|             model_name='field', |  | ||||||
|             name='section_id', |  | ||||||
|             field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.Section'), |  | ||||||
|         ), |  | ||||||
|         migrations.AddField( |  | ||||||
|             model_name='datastring', |  | ||||||
|             name='field_id', |  | ||||||
|             field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.Field'), |  | ||||||
|         ), |  | ||||||
|         migrations.AddField( |  | ||||||
|             model_name='datainteger', |  | ||||||
|             name='field_id', |  | ||||||
|             field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.Field'), |  | ||||||
|         ), |  | ||||||
|         migrations.AddField( |  | ||||||
|             model_name='datafile', |  | ||||||
|             name='field_id', |  | ||||||
|             field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.Field'), |  | ||||||
|         ), |  | ||||||
|         migrations.AddField( |  | ||||||
|             model_name='datadecimal', |  | ||||||
|             name='field_id', |  | ||||||
|             field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.Field'), |  | ||||||
|         ), |  | ||||||
|         migrations.AddField( |  | ||||||
|             model_name='datadate', |  | ||||||
|             name='field_id', |  | ||||||
|             field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.Field'), |  | ||||||
|         ), |  | ||||||
|         migrations.AddField( |  | ||||||
|             model_name='databool', |  | ||||||
|             name='field_id', |  | ||||||
|             field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.Field'), |  | ||||||
|         ), |  | ||||||
|     ] |  | ||||||
|  | @ -1,12 +1,12 @@ | ||||||
| from django.db import models | from django.db import models | ||||||
| from django.contrib.auth.models import User | from django.conf import settings | ||||||
| 
 | 
 | ||||||
| class Report(models.Model): | class Report(models.Model): | ||||||
|     user_id = models.ForeignKey(User, on_delete=models.CASCADE) |     user_id = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) | ||||||
|     title = models.CharField(max_length=128) |     title = models.CharField(max_length=128) | ||||||
|     date_created = models.DateTimeField('date created') |     date_created = models.DateTimeField('date created') | ||||||
|     date_submitted = models.DateTimeField('date submitted') |     date_submitted = models.DateTimeField('date submitted', null=True, blank=True) | ||||||
|     submitted = models.BooleanField() |     submitted = models.BooleanField(default=False) | ||||||
| 
 | 
 | ||||||
| class Section(models.Model): | class Section(models.Model): | ||||||
|     report_id = models.ForeignKey(Report, on_delete=models.CASCADE) |     report_id = models.ForeignKey(Report, on_delete=models.CASCADE) | ||||||
|  | @ -20,28 +20,28 @@ class Field(models.Model): | ||||||
|     label = models.CharField(max_length=256) |     label = models.CharField(max_length=256) | ||||||
|     number = models.IntegerField() |     number = models.IntegerField() | ||||||
|     type = models.CharField(max_length=128) |     type = models.CharField(max_length=128) | ||||||
|     completed = models.BooleanField() |     completed = models.BooleanField(default=False) | ||||||
| 
 | 
 | ||||||
| class DataBool(models.Model): | class DataBool(models.Model): | ||||||
|     field_id = models.ForeignKey(Field, on_delete=models.CASCADE) |     field_id = models.ForeignKey(Field, on_delete=models.CASCADE) | ||||||
|     data = models.BooleanField() |     data = models.BooleanField(default=False) | ||||||
| 
 | 
 | ||||||
| class DataDecimal(models.Model): | class DataDecimal(models.Model): | ||||||
|     field_id = models.ForeignKey(Field, on_delete=models.CASCADE) |     field_id = models.ForeignKey(Field, on_delete=models.CASCADE) | ||||||
|     data = models.DecimalField(max_digits=9,decimal_places=2) |     data = models.DecimalField(max_digits=9,decimal_places=2, null=True, blank=True) | ||||||
| 
 | 
 | ||||||
| class DataDate(models.Model): | class DataDate(models.Model): | ||||||
|     field_id = models.ForeignKey(Field, on_delete=models.CASCADE) |     field_id = models.ForeignKey(Field, on_delete=models.CASCADE) | ||||||
|     data = models.DateField() |     data = models.DateField(null=True, blank=True) | ||||||
| 
 | 
 | ||||||
| class DataFile(models.Model): | class DataFile(models.Model): | ||||||
|     field_id = models.ForeignKey(Field, on_delete=models.CASCADE) |     field_id = models.ForeignKey(Field, on_delete=models.CASCADE) | ||||||
|     data = models.FileField() |     data = models.FileField(null=True, blank=True) | ||||||
| 
 |      | ||||||
| class DataString(models.Model): | class DataString(models.Model): | ||||||
|     field_id = models.ForeignKey(Field, on_delete=models.CASCADE) |     field_id = models.ForeignKey(Field, on_delete=models.CASCADE) | ||||||
|     data = models.TextField() |     data = models.TextField(default='') | ||||||
| 
 | 
 | ||||||
| class DataInteger(models.Model): | class DataInteger(models.Model): | ||||||
|     field_id = models.ForeignKey(Field, on_delete=models.CASCADE) |     field_id = models.ForeignKey(Field, on_delete=models.CASCADE) | ||||||
|     data = models.IntegerField() |     data = models.IntegerField(null=True, blank=True) | ||||||
|  |  | ||||||
							
								
								
									
										
											BIN
										
									
								
								back/db.sqlite3
									
										
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								back/db.sqlite3
									
										
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							|  | @ -39,6 +39,7 @@ INSTALLED_APPS = [ | ||||||
|     'django.contrib.messages', |     'django.contrib.messages', | ||||||
|     'django.contrib.staticfiles', |     'django.contrib.staticfiles', | ||||||
|     'backend', |     'backend', | ||||||
|  |     'users', | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| MIDDLEWARE = [ | MIDDLEWARE = [ | ||||||
|  | @ -82,6 +83,9 @@ DATABASES = { | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | # Authentication | ||||||
|  | 
 | ||||||
|  | AUTH_USER_MODEL = 'users.CustomUser' | ||||||
| 
 | 
 | ||||||
| # Password validation | # Password validation | ||||||
| # https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validators | # https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validators | ||||||
|  |  | ||||||
							
								
								
									
										0
									
								
								back/users/__init__.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								back/users/__init__.py
									
										
									
									
									
										Normal file
									
								
							
							
								
								
									
										12
									
								
								back/users/admin.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								back/users/admin.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,12 @@ | ||||||
|  | from django.contrib import admin | ||||||
|  | from django.contrib.auth.admin import UserAdmin | ||||||
|  | 
 | ||||||
|  | from .forms import CustomUserCreationForm, CustomUserChangeForm | ||||||
|  | from .models import CustomUser | ||||||
|  | 
 | ||||||
|  | class CustomUserAdmin(UserAdmin): | ||||||
|  |     add_form = CustomUserCreationForm | ||||||
|  |     form = CustomUserChangeForm | ||||||
|  |     model = CustomUser | ||||||
|  | 
 | ||||||
|  | admin.site.register(CustomUser, CustomUserAdmin) | ||||||
							
								
								
									
										5
									
								
								back/users/apps.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								back/users/apps.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | ||||||
|  | from django.apps import AppConfig | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class UsersConfig(AppConfig): | ||||||
|  |     name = 'users' | ||||||
							
								
								
									
										15
									
								
								back/users/forms.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								back/users/forms.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | ||||||
|  | from django import forms | ||||||
|  | from django.contrib.auth.forms import UserCreationForm, UserChangeForm | ||||||
|  | 
 | ||||||
|  | from .models import CustomUser | ||||||
|  | 
 | ||||||
|  | class CustomUserCreationForm(UserCreationForm): | ||||||
|  |     class Meta(UserCreationForm): | ||||||
|  |         model = CustomUser | ||||||
|  |         fields = UserCreationForm.Meta.fields + ('age',) | ||||||
|  | 
 | ||||||
|  | class CustomUserChangeForm(UserChangeForm): | ||||||
|  | 
 | ||||||
|  |     class Meta: | ||||||
|  |         model = CustomUser | ||||||
|  |         fields = UserChangeForm.Meta.fields | ||||||
							
								
								
									
										0
									
								
								back/users/migrations/__init__.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								back/users/migrations/__init__.py
									
										
									
									
									
										Normal file
									
								
							
							
								
								
									
										5
									
								
								back/users/models.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								back/users/models.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | ||||||
|  | from django.contrib.auth.models import AbstractUser | ||||||
|  | from django.db import models | ||||||
|  | 
 | ||||||
|  | class CustomUser(AbstractUser): | ||||||
|  |     age = models.PositiveIntegerField(null=True, blank=True) | ||||||
							
								
								
									
										3
									
								
								back/users/tests.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								back/users/tests.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | ||||||
|  | from django.test import TestCase | ||||||
|  | 
 | ||||||
|  | # Create your tests here. | ||||||
							
								
								
									
										3
									
								
								back/users/views.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								back/users/views.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | ||||||
|  | from django.shortcuts import render | ||||||
|  | 
 | ||||||
|  | # Create your views here. | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Daniel Dupriest
						Daniel Dupriest