From dab05345925e5f97aa7509611082a9ed36ffc793 Mon Sep 17 00:00:00 2001 From: rushilwiz Date: Tue, 16 Jun 2020 18:24:16 -0400 Subject: [PATCH] Fixed some fields and started more work on forms --- Website/api/models.py | 4 ++-- Website/skoolos/forms.py | 25 +++++++++---------------- Website/skoolos/views.py | 15 +++++++-------- 3 files changed, 18 insertions(+), 26 deletions(-) diff --git a/Website/api/models.py b/Website/api/models.py index d62f9dc..37364a1 100644 --- a/Website/api/models.py +++ b/Website/api/models.py @@ -61,7 +61,7 @@ class Class(models.Model): return super(Class, self).save(*args, **kwargs) def __str__(self): - return f"{self.user.first_name} {self.user.last_name} ({self.user.username})" + return f"{self.name}" class Teacher(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) @@ -70,7 +70,7 @@ class Teacher(models.Model): ion_user=models.CharField(primary_key=True, max_length=100) def __str__(self): - return f"{self.user.username}'s Profile" + return f"{self.user.first_name} {self.user.last_name} ({self.user.username})" def save(self, *args, **kwargs): super(Teacher, self).save(*args, **kwargs) diff --git a/Website/skoolos/forms.py b/Website/skoolos/forms.py index e249d96..2f498c0 100644 --- a/Website/skoolos/forms.py +++ b/Website/skoolos/forms.py @@ -54,23 +54,16 @@ class ClassCreationForm (forms.ModelForm): 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, commit=True): - # Get the unsave Pizza instance - instance = forms.ModelForm.save(self, False) + def save(self, username=""): + cleaned_data = self.cleaned_data + print(self) - # Prepare a 'save_m2m' method for the form, - old_save_m2m = self.save_m2m - def save_m2m(): - old_save_m2m() - # This is where we actually link the pizza with toppings - instance.topping_set.clear() - instance.topping_set.add(*self.cleaned_data['unconfirmed']) - self.save_m2m = save_m2m - - # Do we need to save all changes now? - if commit: - instance.save() - self.save_m2m() + # 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 diff --git a/Website/skoolos/views.py b/Website/skoolos/views.py index c364365..ff00036 100644 --- a/Website/skoolos/views.py +++ b/Website/skoolos/views.py @@ -139,14 +139,13 @@ def createClassHelper(request): teacher = request.user.teacher if request.method == "POST": - userForm = UserUpdateForm(request.POST, instance=request.user) - profileForm = TeacherUpdateForm(request.POST, - instance=request.user.teacher) - if userForm.is_valid() and profileForm.is_valid(): - userForm.save() - profileForm.save() - messages.success(request, "Your account has been updated!") - return redirect('profile') + classForm = ClassCreationForm(request.POST) + if classForm.is_valid(): + cleaned_data = classForm.clean() + print(cleaned_data) + classForm.save(username=teacher.user.username) + messages.success(request, cleaned_data['subject'].capitalize() + " has been created!") + return redirect('home') else: classForm = ClassCreationForm()