Switch to generic notes

This commit is contained in:
Ross
2021-09-09 18:06:13 +01:00
parent d4180a48d3
commit f6f4407cf8
16 changed files with 4 additions and 171 deletions
+1
View File
@@ -143,6 +143,7 @@ class QuestionNote(models.Model):
return "{}: {} [{}] {} / {}".format(self.content_type, self.get_author_str(), self.created_on, self.note_type, self.note)
def get_absolute_url(self):
# TODO: return to question if logged in
return "/"
def get_object_url(self):
+1 -2
View File
@@ -1,5 +1,5 @@
from django.contrib import admin
from .models import Long, LongSeries, LongSeriesImage, Note, LongCreationDefault, Exam, CidUserAnswer
from .models import Long, LongSeries, LongSeriesImage, LongCreationDefault, Exam, CidUserAnswer
import tagulous.admin
@@ -16,7 +16,6 @@ from generic.models import Examination, Sign, Condition
# Register your models here.
# admin.site.register(Examination)
# admin.site.register(Site)
admin.site.register(Note)
admin.site.register(LongCreationDefault)
admin.site.register(LongSeriesImage)
admin.site.register(CidUserAnswer)
-8
View File
@@ -10,7 +10,6 @@ from django.forms import inlineformset_factory
from longs.models import (
#Examination,
Note,
Long,
LongSeries,
LongSeriesImage,
@@ -49,13 +48,6 @@ class ExaminationForm(ModelForm):
fields = ["examination"]
class NoteForm(ModelForm):
class Meta:
model = Note
fields = ["note"]
class LongCreationDefaultForm(ModelForm):
class Meta:
model = LongCreationDefault
-19
View File
@@ -550,25 +550,6 @@ class LongSeries(models.Model):
# image_tag.short_description = 'Image'
class Note(models.Model):
long = models.ForeignKey(
Long, related_name="long_notes", on_delete=models.CASCADE, null=True
)
# author = models.ForeignKey(User,
author = models.ForeignKey(
settings.AUTH_USER_MODEL, related_name="long_notes", on_delete=models.CASCADE
)
note = models.TextField()
created_on = models.DateTimeField(auto_now_add=True)
def get_absolute_url(self):
self.pk = self.long_id
return reverse("longs:question_detail", kwargs={"pk": self.pk})
def __str__(self):
return "{} [{}] {}".format(self.long, self.author, self.created_on)
class LongCreationDefault(models.Model):
# author = models.OneToOneField(User,
author = models.OneToOneField(
@@ -71,13 +71,6 @@
</div>
<div>
Notes:
<ul>
{% for note in question.long_notes.all %}
<li>
{{ note.created_on }} by {{ note.author }}: {{ note.note }}
</li>
{% endfor %}
</ul>
</div>
<div>
-12
View File
@@ -1,12 +0,0 @@
{% extends "longs/base.html" %}
{% block content %}
<h2>Add Note</h2>
<form action="" method="post">
{% csrf_token %}
<table>
{{ form.as_table }}
</table>
<input type="submit" value="Submit">
</form>
{% endblock %}
+1 -1
View File
@@ -8,7 +8,7 @@
<a href="{% url 'longs:long_update' pk=question.pk %}" title="Edit the Long">Edit</a>
<a href="{% url 'longs:long_clone' pk=question.pk %}" title="Clone the Long (duplicate everything but the images)">Clone</a>
<a href="{% url 'longs:long_delete' pk=question.pk %}" title="Delete the Rapid">Delete</a>
<a href="{% url 'longs:long_add_note' pk=question.pk %}"> Add Note</a>
<a href="{% url 'feedback_create' question_type='long' pk=question.pk %}"> Add Note</a>
{% if request.user.is_superuser %}
<a href="{% url 'admin:longs_long_change' question.id %}" title="Edit the Long using the admin interface">Admin Edit</a>
{% endif %}
-1
View File
@@ -168,7 +168,6 @@ urlpatterns = [
views.LongSeriesUpdate.as_view(),
name="long_series_update",
),
path("<int:pk>/add_note", views.AddNote.as_view(), name="long_add_note"),
path(
"user_answers/",
views.UserAnswerTableView.as_view(),
-36
View File
@@ -25,13 +25,11 @@ from .forms import (
LongSeriesForm, LongSeriesImageFormSet,
MarkLongQuestionForm,
SeriesFormSet,
NoteForm,
ExaminationForm,
ExamForm,
)
from .models import (
Long, LongSeries,
Note,
Examination,
Exam,
CidUserAnswer,
@@ -124,7 +122,6 @@ def question_detail(request, pk):
# if request.user not in long.author.all():
# raise PermissionDenied
# logging.debug(long.long_notes.first())
# logging.debug(long.subspecialty.first().name.all())
return render(request, "longs/question_detail.html", {"question": long})
@@ -136,7 +133,6 @@ def long_series_detail(request, pk):
# if request.user not in long.author.all():
# raise PermissionDenied
# logging.debug(long.long_notes.first())
# logging.debug(long.subspecialty.first().name.all())
return render(request, "longs/long_series.html", {"series": series})
@@ -174,7 +170,6 @@ def long_split(request, pk):
# if request.user not in long.author.all():
# raise PermissionDenied
# logging.debug(long.long_notes.first())
# logging.debug(long.subspecialty.first().name.all())
return render(request, "longs/question_detail.html", {"question": long})
@@ -236,37 +231,6 @@ class LongCreationDefaultView(LoginRequiredMixin, UpdateView):
# form.instance.author.add(self.request.user.id)
class AddNote(LoginRequiredMixin, CreateView):
model = Note
form_class = NoteForm
# fields = '__all__'
# #fields = [ 'condition' ]
# #initial = {'date_of_death': '05/01/2018'}
# exclude = [ 'created_date', 'published_date' ]
def dispatch(self, request, *args, **kwargs):
"""
Overridden so we can make sure the `Long` instance exists
before going any further.
"""
self.pk = get_object_or_404(Long, pk=kwargs["pk"])
return super().dispatch(request, *args, **kwargs)
def form_valid(self, form):
note = form.save(commit=False)
note.long = self.pk
note.author = self.request.user
note.save()
response = super().form_valid(form)
return response
# form.instance.author.add(self.request.user.id)
#@login_required
#@user_is_author_or_long_checker
#def long_delete(request, pk):
+1 -2
View File
@@ -1,5 +1,5 @@
from django.contrib import admin
from .models import Rapid, RapidImage, Examination, Site, Abnormality, Region, Note, RapidCreationDefault, Answer, Exam, CidUserAnswer
from .models import Rapid, RapidImage, Examination, Site, Abnormality, Region, RapidCreationDefault, Answer, Exam, CidUserAnswer
import tagulous.admin
@@ -13,7 +13,6 @@ admin.site.register(Examination)
#admin.site.register(Site)
admin.site.register(Abnormality)
admin.site.register(Region)
admin.site.register(Note)
admin.site.register(RapidCreationDefault)
admin.site.register(Answer)
-7
View File
@@ -11,7 +11,6 @@ from django.forms import inlineformset_factory
from rapids.models import (
Abnormality,
Examination,
Note,
Rapid,
RapidCreationDefault,
RapidImage,
@@ -44,12 +43,6 @@ class ExaminationForm(ModelForm):
fields = ["examination"]
class NoteForm(ModelForm):
class Meta:
model = Note
fields = ["note"]
class RegionForm(ModelForm):
class Meta:
model = Region
-20
View File
@@ -425,26 +425,6 @@ class RapidImage(models.Model):
image_tag.short_description = 'Image'
class Note(models.Model):
rapid = models.ForeignKey(Rapid,
related_name="rapid_notes",
on_delete=models.CASCADE,
null=True)
#author = models.ForeignKey(User,
author = models.ForeignKey( settings.AUTH_USER_MODEL,
related_name="rapid_notes",
on_delete=models.CASCADE)
note = models.TextField()
created_on = models.DateTimeField(auto_now_add=True)
def get_absolute_url(self):
self.pk = self.rapid_id
return reverse('rapids:question_detail', kwargs={'pk': self.pk})
def __str__(self):
return "{} [{}] {}".format(self.rapid, self.author, self.created_on)
class RapidCreationDefault(models.Model):
#author = models.OneToOneField(User,
author = models.OneToOneField(
-12
View File
@@ -1,12 +0,0 @@
{% extends "rapids/base.html" %}
{% block content %}
<h2>Add Note</h2>
<form action="" method="post">
{% csrf_token %}
<table>
{{ form.as_table }}
</table>
<input type="submit" value="Submit">
</form>
{% endblock %}
@@ -59,14 +59,6 @@
{% if view_feedback %}
Notes:
<ul>
{% for note in question.rapid_notes.all %}
<li>
{{ note.created_on }} by {{ note.author }}: {{ note.note }}
</li>
{% endfor %}
</ul>
Anon Notes:
<ul class="notes">
{% for note in question.anon_notes.all %}
<li {% if note.complete %}class='complete' {% endif %}>
-1
View File
@@ -121,7 +121,6 @@ urlpatterns = [
views.RapidUpdate.as_view(),
name="rapid_update",
),
path("<int:pk>/add_note", views.AddNote.as_view(), name="rapid_add_note"),
path(
"user_answers/",
views.UserAnswerTableView.as_view(),
-35
View File
@@ -23,7 +23,6 @@ from .forms import (
RapidForm,
MarkRapidQuestionForm,
ImageFormSet,
NoteForm,
RegionForm,
AbnormalityForm,
ExaminationForm,
@@ -33,7 +32,6 @@ from .forms import (
)
from .models import (
Rapid,
Note,
Abnormality,
Region,
Examination,
@@ -137,7 +135,6 @@ def question_detail(request, pk):
):
view_feedback = True
# logging.debug(rapid.rapid_notes.first())
# logging.debug(rapid.subspecialty.first().name.all())
return render(
request,
@@ -197,7 +194,6 @@ def rapid_split(request, pk):
# if request.user not in rapid.author.all():
# raise PermissionDenied
# logging.debug(rapid.rapid_notes.first())
# logging.debug(rapid.subspecialty.first().name.all())
return render(request, "rapids/question_detail.html", {"question": rapid})
@@ -257,37 +253,6 @@ class RapidCreationDefaultView(LoginRequiredMixin, UpdateView):
# form.instance.author.add(self.request.user.id)
class AddNote(LoginRequiredMixin, CreateView):
model = Note
form_class = NoteForm
# fields = '__all__'
# #fields = [ 'condition' ]
# #initial = {'date_of_death': '05/01/2018'}
# exclude = [ 'created_date', 'published_date' ]
def dispatch(self, request, *args, **kwargs):
"""
Overridden so we can make sure the `Rapid` instance exists
before going any further.
"""
self.pk = get_object_or_404(Rapid, pk=kwargs["pk"])
return super().dispatch(request, *args, **kwargs)
def form_valid(self, form):
note = form.save(commit=False)
note.rapid = self.pk
note.author = self.request.user
note.save()
response = super().form_valid(form)
return response
# form.instance.author.add(self.request.user.id)
@login_required
def rapid_clone(request, pk):