diff --git a/franklincce/explorer/models.py b/franklincce/explorer/models.py
index 29972c9..5f0f5ff 100644
--- a/franklincce/explorer/models.py
+++ b/franklincce/explorer/models.py
@@ -1,5 +1,6 @@
from django.db import models
from django.utils.translation import gettext_lazy as _
+from django.urls import reverse
from .leglib import HSYIG24, HSMUN23
import io
@@ -26,6 +27,10 @@ class School(models.Model):
def __str__(self):
return self.name
+ def get_absolute_url(self):
+ our_name = __class__.__name__
+ return reverse("{}.detail".format(our_name), kwargs={"model_id": self.id})
+
class Country(models.Model):
name = models.CharField(max_length=256)
@@ -35,6 +40,10 @@ class Country(models.Model):
def __str__(self):
return self.name
+ def get_absolute_url(self):
+ our_name = __class__.__name__
+ return reverse("{}.detail".format(our_name), kwargs={"model_id": self.id})
+
class LegislationBook(models.Model):
class Meta:
verbose_name = "Book"
diff --git a/franklincce/explorer/templates/explorer/base.html b/franklincce/explorer/templates/explorer/base.html
index ed192dc..c6061dc 100644
--- a/franklincce/explorer/templates/explorer/base.html
+++ b/franklincce/explorer/templates/explorer/base.html
@@ -18,7 +18,7 @@
diff --git a/franklincce/explorer/templates/explorer/by_group.html b/franklincce/explorer/templates/explorer/by_group.html
new file mode 100644
index 0000000..307f20a
--- /dev/null
+++ b/franklincce/explorer/templates/explorer/by_group.html
@@ -0,0 +1,14 @@
+{% extends "explorer/base.html" %}
+
+{% block content %}
+
+
+
+{% endblock content %}
\ No newline at end of file
diff --git a/franklincce/explorer/templates/explorer/listing.html b/franklincce/explorer/templates/explorer/listing.html
new file mode 100644
index 0000000..ec4e6e0
--- /dev/null
+++ b/franklincce/explorer/templates/explorer/listing.html
@@ -0,0 +1,15 @@
+{% extends "explorer/base.html" %}
+
+{% block content %}
+
+
+
+
{{ result_name }}
+
+
+
+{% endblock content %}
\ No newline at end of file
diff --git a/franklincce/explorer/urls.py b/franklincce/explorer/urls.py
index efa00ce..146f4f1 100644
--- a/franklincce/explorer/urls.py
+++ b/franklincce/explorer/urls.py
@@ -10,6 +10,11 @@ urlpatterns = [
path("conference//", views.view_conference, name="viewconf"),
path("topics//", views.get_all_classified_by_id, name="classificationview"),
path("topics/", views.get_all_classifications, name="classificationsview"),
- path("schools//", views.get_all_by_school, name="schoolview"),
- path("countries//", views.get_all_by_country, name="countryview"),
+
+ # these are named weirdly -- see models.py School and Country definitions
+ path("schools//", views.get_all_by_school, name="School.detail"),
+ path("countries//", views.get_all_by_country, name="Country.detail"),
+ path("schools/", views.get_all_schools, name="School"),
+ path("countries/", views.get_all_countries, name="Country"),
+ path("groups/", views.return_groups, name="Groups")
]
diff --git a/franklincce/explorer/views.py b/franklincce/explorer/views.py
index cdcc968..285eafe 100644
--- a/franklincce/explorer/views.py
+++ b/franklincce/explorer/views.py
@@ -91,5 +91,29 @@ def get_all_by_x(model):
return wrapped
+def get_all_xs(model):
+ def wrapper(request):
+ instances = model.objects.all()
+ try:
+ # what the heck, django?????
+ plural = model._meta.verbose_name_plural
+ except:
+ plural = model.__name__ + "s"
+
+ plural = plural.lower()
+
+ return render(request, "explorer/listing.html", {
+ "result_name": "All {}".format(plural),
+ "instances": instances,
+ })
+
+ return wrapper
+
+def return_groups(request):
+ return render(request, "explorer/by_group.html", {})
+
get_all_by_school = get_all_by_x(School)
-get_all_by_country = get_all_by_x(Country)
\ No newline at end of file
+get_all_by_country = get_all_by_x(Country)
+
+get_all_schools = get_all_xs(School)
+get_all_countries = get_all_xs(Country)
\ No newline at end of file