summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/resume/urls.py36
-rw-r--r--app/resume/views.py20
-rw-r--r--config/base_urls.py2
-rw-r--r--design/templates/details/resume.html6
4 files changed, 33 insertions, 31 deletions
diff --git a/app/resume/urls.py b/app/resume/urls.py
index 0f74c70..0086a2b 100644
--- a/app/resume/urls.py
+++ b/app/resume/urls.py
@@ -7,12 +7,30 @@ app_name = "resume"
urlpatterns = [
path(
+ r'',
+ views.PageView.as_view(),
+ {'path': 'work', 'slug': 'profile'},
+ name="pages"
+ ),
+ path(
+ r'<str:slug>/',
+ views.PageView.as_view(),
+ {'path': 'work'},
+ name="pages"
+ ),
+ path(
r'pubs/<str:page>/',
views.PublisherListView.as_view(),
name='list',
),
path(
- r'pubs/<str:publisher>/<str:page>/',
+ r'pubs/',
+ views.PublisherListView.as_view(),
+ {'page': 1},
+ name="list"
+ ),
+ path(
+ r'pubs/<str:publisher>/<int:page>/',
views.ByPublisherListView.as_view(),
name='list_by_publisher',
),
@@ -21,25 +39,9 @@ urlpatterns = [
views.PubItemDetailView.as_view(),
name='detail',
),
- # redirect /slug/ to /slug/1/ for live server
path(
r'pubs/(?P<publisher>[-\w]+)/$',
RedirectView.as_view(url="/resume/pubs/%(publisher)s/1/", permanent=False),
name="live_publisher_redirect"
),
- path(
- r'pubs',
- RedirectView.as_view(url="/resume/pubs/1/", permanent=False),
- name="live_redirect"
- ),
- path(
- r'<str:path>/<str:slug>',
- views.PageView.as_view(),
- name="pages"
- ),
- path(
- r'<str:slug>',
- views.ResumeView.as_view(),
- name='resume',
- ),
]
diff --git a/app/resume/views.py b/app/resume/views.py
index 9cdd8e7..b4b6762 100644
--- a/app/resume/views.py
+++ b/app/resume/views.py
@@ -1,5 +1,6 @@
from django.views.generic.detail import DetailView
from django.views.generic.base import TemplateView
+from django.shortcuts import get_object_or_404
from utils.views import PaginatedListView
from .models import PubItem, Publisher, Resume
@@ -43,17 +44,16 @@ class PageView(DetailView):
model = Page
slug_field = "slug"
- def get_queryset(self):
- try:
- return Page.objects.get(path__startswith=self.kwargs['path'])
- except:
- return Page.objects.get(path__startswith=self.kwargs['path'],slug=self.kwargs['slug'])
-
+ def get_object(self, **kwargs):
+ print("calling page view")
+ return get_object_or_404(Page, path=self.kwargs['path'], slug=self.kwargs['slug'])
def get_template_names(self):
return ["details/%s.html" % self.object.slug, 'details/page.html']
-
-class ResumeView(DetailView):
- model = Resume
- template_name = "details/resume.html"
+ def get_context_data(self, **kwargs):
+ # Call the base implementation first to get a context
+ context = super(PageView, self).get_context_data(**kwargs)
+ if self.kwargs['slug'] == 'resume':
+ context['resume'] = Resume.objects.get(title='base')
+ return context
diff --git a/config/base_urls.py b/config/base_urls.py
index 7b8e75b..e212e29 100644
--- a/config/base_urls.py
+++ b/config/base_urls.py
@@ -54,7 +54,7 @@ urlpatterns = [
path(r'field-notes/', include('sketches.urls', namespace='sketches')),
path(r'src/', include('src.urls', namespace='src')),
path(r'figments/', include('figments.urls', namespace='figments')),
- path(r'resume/', include('resume.urls', namespace='resume')),
+ path(r'work/', include('resume.urls', namespace='resume')),
path(r'map', include('locations.urls', namespace='map')),
path(r'map/', include('locations.urls', namespace='map')),
path(r'', HomepageList.as_view(), name="homepage"),
diff --git a/design/templates/details/resume.html b/design/templates/details/resume.html
index eaff2db..860b03b 100644
--- a/design/templates/details/resume.html
+++ b/design/templates/details/resume.html
@@ -51,17 +51,17 @@
</div>
<div class="profile">
<h3>Profile</h3>
- <p class="p-summary">{{object.profile_html|smartypants|widont|safe}}</p>
+ <p class="p-summary">{{resume.profile_html|smartypants|widont|safe}}</p>
</div>
<div id="skills">
<h3>Skills</h3>
- {{object.skills_html|smartypants|widont|safe}}
+ {{resume.skills_html|smartypants|widont|safe}}
</div>
<div class="h-calendar" id="experience">
- <h3>Experience</h3>{% for job in object.jobs.all %}
+ <h3>Experience</h3>{% for job in resume.jobs.all %}
<div class="p-experience h-event">
<h2 class="p-name">{{job.title}}</h2>
<ul class="meta">