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 6ff44df..05e3bab 100644
Binary files a/db.sqlite3 and b/db.sqlite3 differ