mirror of
https://github.com/Rushilwiz/SkoolOS.git
synced 2025-04-16 02:10:19 -04:00
added ClassCreationForm to teacher view
This commit is contained in:
parent
4123423dab
commit
699dd72b24
|
@ -53,20 +53,6 @@ class ClassCreationForm (forms.ModelForm):
|
|||
# a list of primary key for the selected data.
|
||||
initial['unconfirmed'] = [t.pk for t in kwargs['instance'].unconfirmed.all()]
|
||||
|
||||
# Overriding save allows us to process the value of 'unconfirmed' field
|
||||
def save(self, username=""):
|
||||
cleaned_data = self.cleaned_data
|
||||
print(self)
|
||||
|
||||
# Get the unsave Class instance
|
||||
instance = forms.ModelForm.save(self)
|
||||
instance.unconfirmed.clear()
|
||||
instance.unconfirmed.add(*cleaned_data['unconfirmed'])
|
||||
instance.name = cleaned_data['subject'] + str(cleaned_data['period']) + "_" + username
|
||||
print("Class name: " + instance.name)
|
||||
|
||||
return instance
|
||||
|
||||
class Meta:
|
||||
model = Class
|
||||
fields = ['subject', 'period', 'description', 'unconfirmed']
|
||||
|
|
|
@ -92,3 +92,13 @@ a.article-title:hover {
|
|||
.account-heading {
|
||||
font-size: 2.5rem;
|
||||
}
|
||||
|
||||
.class-card {
|
||||
text-decoration: none;
|
||||
color: gray;
|
||||
}
|
||||
|
||||
.class-card:hover {
|
||||
text-decoration: none;
|
||||
color: black;
|
||||
}
|
||||
|
|
|
@ -35,7 +35,6 @@
|
|||
<div class="navbar-nav">
|
||||
{% if user.is_authenticated %}
|
||||
{% if isTeacher %}
|
||||
<a class="nav-item nav-link" href="{% url 'create-assignment' %}">Create Assignment</a>
|
||||
<a class="nav-item nav-link" href="{% url 'create-class' %}">Create Class</a>
|
||||
{% else %}
|
||||
|
||||
|
|
|
@ -3,9 +3,15 @@
|
|||
<div class="content-section">
|
||||
{% for class in classes %}
|
||||
<div class="card-columns">
|
||||
<a class="card" href="/class/{{ class.id }}" style="text-decoration: none;">
|
||||
<a class="card class-card" href="/class/{{ class.id }}" style="">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">{{ class.name }}</h5>
|
||||
<h5 class="card-title">{{ class.subject }}</h5>
|
||||
{% if class.period != 0 %}
|
||||
<small>Period: {{ class.period }}<br></small>
|
||||
{% endif %}
|
||||
{% if class.name %}
|
||||
<small style="font-size:.75em"><i>{{ class.name }}</i></small>
|
||||
{% endif %}
|
||||
<p class="card-text">{{ class.description }}</p>
|
||||
</div>
|
||||
</a>
|
||||
|
|
|
@ -8,5 +8,4 @@ urlpatterns = [
|
|||
path('profile/', views.profile, name='profile'),
|
||||
path("class/<str:id>", views.classDetail, name="class"),
|
||||
path("create-class/", views.createClass, name="create-class"),
|
||||
path("create-assignment/", views.createAssignment, name="create-assignment"),
|
||||
]
|
||||
|
|
|
@ -143,8 +143,15 @@ def createClassHelper(request):
|
|||
if classForm.is_valid():
|
||||
cleaned_data = classForm.clean()
|
||||
print(cleaned_data)
|
||||
classForm.save(username=teacher.user.username)
|
||||
newClass = classForm.save(commit=False)
|
||||
newClass.owner = request.user
|
||||
newClass.teacher = request.user.username
|
||||
newClass.name = cleaned_data['subject'].replace(' ', '')[:8].lower() + str(cleaned_data['period']) + "_" + teacher.user.username.lower()
|
||||
newClass.save()
|
||||
classObj = classForm.save_m2m()
|
||||
messages.success(request, cleaned_data['subject'].capitalize() + " has been created!")
|
||||
print (newClass)
|
||||
teacher.classes.add(newClass)
|
||||
return redirect('home')
|
||||
else:
|
||||
classForm = ClassCreationForm()
|
||||
|
@ -157,7 +164,3 @@ def createClassHelper(request):
|
|||
}
|
||||
|
||||
return render(request, "skoolos/createClass.html", context)
|
||||
|
||||
@login_required()
|
||||
def createAssignment (request):
|
||||
pass
|
||||
|
|
Loading…
Reference in New Issue
Block a user