Added facilitator form

This commit is contained in:
Ceferino Patino 2022-09-07 16:46:17 -05:00
commit b815899101
10 changed files with 119 additions and 4 deletions

View file

@ -2,7 +2,7 @@ name: Test build
on:
push:
branches: [main, dev]
branches: [main]
pull_request:
workflow_dispatch:

View file

@ -0,0 +1,15 @@
from django.contrib import admin
from housewars.models import Facilitator
@admin.register(Facilitator)
class FacilitatorAdmin(admin.ModelAdmin):
list_display = ('first_name', 'last_name', 'activity')
fieldsets = [
('Personal Information', {'fields': [
'first_name', 'last_name']}),
('House Wars Information', {
'fields': ['activity']}),
]

View file

@ -1,4 +1,5 @@
from .Activity import ActivityAdmin
from .Facilitator import Facilitator
from .House import House
from .PointsEntry import PointsEntry
from .Teacher import Teacher

View file

@ -0,0 +1,26 @@
from django.forms import ModelForm, ModelChoiceField, Select, CharField, TextInput
from housewars.models import Activity, Facilitator
class FacilitatorForm(ModelForm):
class Meta:
model = Facilitator
fields = '__all__'
widgets = {
'first_name': TextInput(attrs={
'class': "form-control",
'id': 'first-name',
'placeholder': 'First Name'
}),
'last_name': TextInput(attrs={
'class': 'form-control',
'id': 'first-name',
'placeholder': 'Last Name',
}),
'activity': Select(attrs={
'class': 'form-select',
'id': 'activity',
'placeholder': 'activity'
}),
}

View file

@ -1,3 +1,4 @@
from .ActivityForm import ActivityForm
from .FacilitatorForm import FacilitatorForm
from .PointsEntryForm import PointsEntryForm
from .UserEntryForm import UserEntryForm

View file

@ -0,0 +1,23 @@
# Generated by Django 4.0.4 on 2022-09-07 21:22
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('housewars', '0005_activity_room_number_alter_teacher_grade'),
]
operations = [
migrations.CreateModel(
name='Facilitator',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('first_name', models.CharField(max_length=100)),
('last_name', models.CharField(max_length=100)),
('activity', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='housewars.activity')),
],
),
]

View file

@ -0,0 +1,13 @@
from django.db import models
from . import Activity
class Facilitator(models.Model):
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
activity = models.ForeignKey(
Activity, on_delete=models.CASCADE, blank=True, null=True)
def save(self, *args, **kwargs):
self.full_clean()
return super().save(*args, **kwargs)

View file

@ -1,5 +1,6 @@
from .Activity import Activity
from .Award import Award
from .Facilitator import Facilitator
from .House import House
from .PointsEntry import PointsEntry
from .Quota import Quota

View file

@ -21,5 +21,6 @@ from . import views
app_name = 'housewars'
urlpatterns = [
path('', views.EntryCreateView.as_view(), name='signup'),
path('points/', views.PointsEntryCreateView.as_view(), name='add_points')
path('points/', views.PointsEntryCreateView.as_view(), name='add_points'),
path('facilitator/', views.FacilitatorCreateView.as_view(), name='facilitator')
]

View file

@ -6,8 +6,8 @@ from django.urls import reverse
from django.views.generic import CreateView
from formtools.wizard.views import SessionWizardView
from .forms import ActivityForm, PointsEntryForm, UserEntryForm
from .models import Activity, Quota, PointsEntry, UserEntry
from housewars.forms import ActivityForm, PointsEntryForm, UserEntryForm, FacilitatorForm
from housewars.models import Activity, Quota, PointsEntry, UserEntry, Facilitator
FORMS = [("user", UserEntryForm),
("activity", ActivityForm)]
@ -84,10 +84,17 @@ class EntryCreateView(SessionWizardView):
def get_success_url(self):
return reverse('housewars:signup')
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['title'] = 'Signup'
context['formtitle'] = 'House Wars Signup'
return context
class PointsEntryCreateView(CreateView):
model = PointsEntry
form_class = PointsEntryForm
template_name = 'housewars/general_form.html'
def form_valid(self, form):
messages.success(self.request, 'Your points entry has been submitted.')
@ -96,3 +103,30 @@ class PointsEntryCreateView(CreateView):
def get_success_url(self):
return reverse('housewars:add_points')
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['title'] = 'Add Points'
context['formtitle'] = 'Add House Points'
return context
class FacilitatorCreateView(CreateView):
model = Facilitator
form_class = FacilitatorForm
template_name = 'housewars/general_form.html'
def form_valid(self, form):
messages.success(
self.request, 'Your facilitator signup has been submitted.')
return super().form_valid(form)
def get_success_url(self):
return reverse('housewars:add_points')
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['title'] = 'Facilitator'
context['formtitle'] = 'Facilitator Signup'
return context