SushantGautam commited on
Commit
3bd1ac2
·
1 Parent(s): 463d0f7

Add views and templates for managing domains, fields, subfields, and topics

Browse files
core/templates/base.html CHANGED
@@ -20,9 +20,8 @@
20
  </button>
21
  <div class="collapse navbar-collapse" id="navbarNav">
22
  <ul class="navbar-nav me-auto">
23
- <li class="nav-item"><a class="nav-link" href="/">Home</a></li>
24
- <li class="nav-item"><a class="nav-link" href="#">About</a></li>
25
- <li class="nav-item"><a class="nav-link" href="#">Contact</a></li>
26
  </ul>
27
  <ul class="navbar-nav">
28
  {% if user.is_authenticated %}
 
20
  </button>
21
  <div class="collapse navbar-collapse" id="navbarNav">
22
  <ul class="navbar-nav me-auto">
23
+ <li class="nav-item"><a class="nav-link" href="{% url 'domain_list' %}">Domains</a></li>
24
+ {# <li class="nav-item"><a class="nav-link" href="#">Contact</a></li> #}
 
25
  </ul>
26
  <ul class="navbar-nav">
27
  {% if user.is_authenticated %}
core/templates/domain/detail.html ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {% extends "base.html" %}
2
+ {% block title %}{{ item.name }}{% endblock %}
3
+ {% block content %}
4
+ <h2>Domain: {{ item.name }}</h2>
5
+ <p>ID: {{ item.id }}</p>
6
+ {% endblock %}
core/templates/domain/list.html ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {% extends "base.html" %}
2
+ {% block title %}Domains{% endblock %}
3
+ {% block content %}
4
+ <h2>Domains</h2>
5
+ <ul>
6
+ {% for item in items %}
7
+ <li><a href="{% url 'domain_detail' item.id %}">{{ item.name }}</a></li>
8
+ {% endfor %}
9
+ </ul>
10
+ {% endblock %}
core/templates/field/detail.html ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {% extends "base.html" %}
2
+ {% block title %}{{ item.name }}{% endblock %}
3
+ {% block content %}
4
+ <h2>Field: {{ item.name }}</h2>
5
+ <p>ID: {{ item.id }}</p>
6
+ {% endblock %}
core/templates/field/list.html ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {% extends "base.html" %}
2
+ {% block title %}Fields{% endblock %}
3
+ {% block content %}
4
+ <h2>Fields</h2>
5
+ <ul>
6
+ {% for item in items %}
7
+ <li><a href="{% url 'field_detail' item.id %}">{{ item.name }}</a></li>
8
+ {% endfor %}
9
+ </ul>
10
+ {% endblock %}
core/templates/subfield/detail.html ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {% extends "base.html" %}
2
+ {% block title %}{{ item.name }}{% endblock %}
3
+ {% block content %}
4
+ <h2>Subfield: {{ item.name }}</h2>
5
+ <p>ID: {{ item.id }}</p>
6
+ {% endblock %}
core/templates/subfield/list.html ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {% extends "base.html" %}
2
+ {% block title %}Subfields{% endblock %}
3
+ {% block content %}
4
+ <h2>Subfields</h2>
5
+ <ul>
6
+ {% for item in items %}
7
+ <li><a href="{% url 'subfield_detail' item.id %}">{{ item.name }}</a></li>
8
+ {% endfor %}
9
+ </ul>
10
+ {% endblock %}
core/templates/topic/detail.html ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {% extends "base.html" %}
2
+ {% block title %}{{ item.name }}{% endblock %}
3
+ {% block content %}
4
+ <h2>Topic: {{ item.name }}</h2>
5
+ <p>ID: {{ item.id }}</p>
6
+ {% endblock %}
core/templates/topic/list.html ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {% extends "base.html" %}
2
+ {% block title %}Topics{% endblock %}
3
+ {% block content %}
4
+ <h2>Topics</h2>
5
+ <ul>
6
+ {% for item in items %}
7
+ <li><a href="{% url 'topic_detail' item.id %}">{{ item.name }}</a></li>
8
+ {% endfor %}
9
+ </ul>
10
+ {% endblock %}
core/urls.py CHANGED
@@ -1,8 +1,23 @@
1
  from django.urls import path
2
- from .views import home_page, search_hierarchy, refresh_author_db_view
 
 
 
3
 
4
  urlpatterns = [
5
  path('', home_page, name='home'),
6
  path("api/search/", search_hierarchy, name="search-hierarchy"),
7
- path("refresh_author_db", refresh_author_db_view, name="refresh-author-db")
 
 
 
 
 
 
 
 
 
 
 
 
8
  ]
 
1
  from django.urls import path
2
+ from .views import home_page, search_hierarchy, refresh_author_db_view, domain_list, domain_detail
3
+ from .views import field_list, field_detail, subfield_list, subfield_detail
4
+ from .views import topic_list, topic_detail
5
+
6
 
7
  urlpatterns = [
8
  path('', home_page, name='home'),
9
  path("api/search/", search_hierarchy, name="search-hierarchy"),
10
+ path("refresh_author_db", refresh_author_db_view, name="refresh-author-db"),
11
+
12
+ path('domain/', domain_list, name='domain_list'),
13
+ path('domain/<str:pk>/', domain_detail, name='domain_detail'),
14
+
15
+ path('field/', field_list, name='field_list'),
16
+ path('field/<str:pk>/', field_detail, name='field_detail'),
17
+
18
+ path('subfield/', subfield_list, name='subfield_list'),
19
+ path('subfield/<str:pk>/', subfield_detail, name='subfield_detail'),
20
+
21
+ path('topic/', topic_list, name='topic_list'),
22
+ path('topic/<str:pk>/', topic_detail, name='topic_detail'),
23
  ]
core/views.py CHANGED
@@ -1,3 +1,4 @@
 
1
  from .models import Domain, Field, Subfield, Topic
2
  from django.http import JsonResponse, HttpResponse
3
  from django.shortcuts import render
@@ -37,3 +38,54 @@ def search_hierarchy(request):
37
  for t in Topic.objects.select_related("subfield__field__domain").filter(name__icontains=q)]
38
 
39
  return JsonResponse({"results": sorted(results, key=lambda x: x["text"].lower())[:10]})
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from django.shortcuts import render, get_object_or_404
2
  from .models import Domain, Field, Subfield, Topic
3
  from django.http import JsonResponse, HttpResponse
4
  from django.shortcuts import render
 
38
  for t in Topic.objects.select_related("subfield__field__domain").filter(name__icontains=q)]
39
 
40
  return JsonResponse({"results": sorted(results, key=lambda x: x["text"].lower())[:10]})
41
+
42
+
43
+ # Domain views
44
+
45
+
46
+ def domain_list(request):
47
+ domains = Domain.objects.all()
48
+ return render(request, "domain/list.html", {"items": domains})
49
+
50
+
51
+ def domain_detail(request, pk):
52
+ domain = get_object_or_404(Domain, pk=pk)
53
+ return render(request, "domain/detail.html", {"item": domain})
54
+
55
+ # Field views
56
+
57
+
58
+ def field_list(request):
59
+ fields = Field.objects.select_related("domain").all()
60
+ return render(request, "field/list.html", {"items": fields})
61
+
62
+
63
+ def field_detail(request, pk):
64
+ field = get_object_or_404(Field.objects.select_related("domain"), pk=pk)
65
+ return render(request, "field/detail.html", {"item": field})
66
+
67
+ # Subfield views
68
+
69
+
70
+ def subfield_list(request):
71
+ subfields = Subfield.objects.select_related("field__domain").all()
72
+ return render(request, "subfield/list.html", {"items": subfields})
73
+
74
+
75
+ def subfield_detail(request, pk):
76
+ subfield = get_object_or_404(
77
+ Subfield.objects.select_related("field__domain"), pk=pk)
78
+ return render(request, "subfield/detail.html", {"item": subfield})
79
+
80
+ # Topic views
81
+
82
+
83
+ def topic_list(request):
84
+ topics = Topic.objects.select_related("subfield__field__domain").all()
85
+ return render(request, "topic/list.html", {"items": topics})
86
+
87
+
88
+ def topic_detail(request, pk):
89
+ topic = get_object_or_404(Topic.objects.select_related(
90
+ "subfield__field__domain"), pk=pk)
91
+ return render(request, "topic/detail.html", {"item": topic})