From 54c5370b5dd8be89c4e40d1209fd58dbf93e9b1e Mon Sep 17 00:00:00 2001 From: Th3NiKo Date: Wed, 15 Jan 2020 16:47:34 +0100 Subject: [PATCH] BES-6 Delete note --- bestnotes/models.py | 6 +++--- bestnotes/templates/note.html | 5 ++++- bestnotes/urls.py | 3 ++- bestnotes/views.py | 26 +++++++++++++++++++++++++- db.sqlite3 | Bin 192512 -> 192512 bytes 5 files changed, 34 insertions(+), 6 deletions(-) diff --git a/bestnotes/models.py b/bestnotes/models.py index 880ef0e..8c5bba7 100644 --- a/bestnotes/models.py +++ b/bestnotes/models.py @@ -39,17 +39,17 @@ def save_studentprofile(sender, instance, **kwargs): class Subject(models.Model): - name = models.CharField(max_length=30) + name = models.CharField(max_length=40) student = models.ForeignKey(StudentProfile, on_delete=models.CASCADE) class Topic(models.Model): - name = models.CharField(max_length=30) + name = models.CharField(max_length=40) subject = models.ForeignKey(Subject, on_delete=models.CASCADE) add_date = models.DateField() class Note(models.Model): - name = models.CharField(max_length=30) + name = models.CharField(max_length=60) content = tinymce_models.HTMLField("Content") text = models.TextField(blank=False) topic = models.ForeignKey(Topic, on_delete=models.SET_NULL, null=True) diff --git a/bestnotes/templates/note.html b/bestnotes/templates/note.html index 3eb80f0..38b6551 100644 --- a/bestnotes/templates/note.html +++ b/bestnotes/templates/note.html @@ -11,7 +11,10 @@ {% if note.user.user.id == user.id %}
-
+
+
+
+
{% endif %} diff --git a/bestnotes/urls.py b/bestnotes/urls.py index 7718acf..f63da4c 100644 --- a/bestnotes/urls.py +++ b/bestnotes/urls.py @@ -14,5 +14,6 @@ urlpatterns = [ path('addnote/', views.add, name="add"), path('notes/', views.notes_all, name="notes"), path('notes/', views.notes_name, name="notes_id"), - path('create/', views.create_note, name="create_note") + path('create/', views.create_note, name="create_note"), + path('delete_note/', views.delete_note, name="delete_note") ] diff --git a/bestnotes/views.py b/bestnotes/views.py index 40af1c9..436c439 100644 --- a/bestnotes/views.py +++ b/bestnotes/views.py @@ -123,4 +123,28 @@ def create_note(request): add_date=date.today()) note.save() url = reverse('subject') - return HttpResponseRedirect(url) \ No newline at end of file + return HttpResponseRedirect(url) + +def delete_note(request, note_id): + #Get values + note = Note.objects.get(pk=note_id) + student = StudentProfile.objects.get(user=request.user.id) + #Check if student has possibility do delete this note + if note.user.id == student.id: + note.delete() + delete_empty_categories() + #Redirect + url = reverse('subject') + return HttpResponseRedirect(url) + +def delete_empty_categories(): + #Get all topics + topics = Topic.objects.all() + for topic in topics: + if not topic.note_set.all().exists(): + topic.delete() + #Same for subjects + subjects = Subject.objects.all() + for subject in subjects: + if not subject.topic_set.all().exists(): + subject.delete() diff --git a/db.sqlite3 b/db.sqlite3 index 6ff44dfc6ca512053bba07782be1b8948d94a49f..05e3bab215f41d98a9ab5e77c30d839adf553352 100644 GIT binary patch delta 361 zcmZp8z}@hGdxA9M#)&e{j2ky5Y}M1{7ZzaFW=u*gF3HO;NiB{q$uG!E<`v~<)<+U7 zE=|fxO)lYXcGBPOq|bQd1IG^r{vZ6$_@8a(Q((HyuPnuY0@%1&82A|znRtPsjQnpI z_}}uM-p*sdbcmnPbfTl2q989T1HU3;qLG1-fv$m}uAwP67g*^p2L50C@A%(s=W}3s z%r7kjGnJK@k&y{m&6n*w0Zgy?MR^z)Kyuu?Ncw?t2_QK(h#W5;s$2n3juR@!#J8=1 ziB*A<{|*EH9sX_nzc)JyOlI7^a3PZoFALD^%99-hZZN7%oT#Lt#K*zFFRsYQD4Xb- cTToJoa62!PO@UpajeddMcE$}%|LqwW0KJ1&QUCw| delta 601 zcmZp8z}@hGdxA9M+=(*IjB__8Y}M1{78YREW=u*gF3HO;NiB{q$uG!E<`U&+)<+U7 zE=|fxO)lYRcGBPOq|bQd1IIT8{%`zK`KNB@Q((HyKQVw;jDv%PL7355TbqfOfq{XM z{~iPXJ-#>Fc?_5i@lRYJV4%Ro%Al*r7?7V*T#{H`sgQMKW>sZ&qLG1-fv$m}uAvbJ z7g*mf2L50Cclqyb=W}3s3^bWjh?SXZVl+_*w;rS(yA)U^1+EK8RSLp}VhR N?Tj0k{@XJ$0027Qq%i;h