--- a/src/jocondelab/views.py Wed Jul 10 18:16:59 2013 +0200
+++ b/src/jocondelab/views.py Thu Jul 04 17:57:26 2013 +0200
@@ -60,7 +60,7 @@
class TermEditView(DetailView, MultipleObjectMixin):
- queryset = Term.objects.select_related()
+ queryset = Term.objects.select_related() # @UndefinedVariable
pk_url_kwarg = "term_id"
context_object_name = "term"
template_name = "jocondelab/term_edit.html"
@@ -106,6 +106,7 @@
context = DetailView.get_context_data(self, **kwargs)
context['notices'] = self.object.notices.select_related().all().prefetch_related('images')[:10]
+ context['ancestors'] = self.object.get_ancestors(ascending=True)
context['filter_form'] = self.get_filter_form()
context['link_semantic_level_choice'] = TERM_WK_LINK_SEMANTIC_LEVEL_CHOICES
@@ -143,21 +144,24 @@
object_list_ids = [obj.id for obj in list(page.object_list)]
- current_index = object_list_ids.index(self.object.id)
+
+ if self.object.id in object_list_ids:
+ current_index = object_list_ids.index(self.object.id)
- if current_index > 0:
- prev_id = object_list_ids[current_index-1]
- prev_page = page.number
- elif page.has_previous():
- prev_page = page.previous_page_number()
- prev_id = page.paginator.object_list[page.start_index() - 2].id
-
- if current_index < (len(page)-1):
- next_id = object_list_ids[current_index+1]
- next_page = page.number
- elif page.has_next():
- next_page = page.next_page_number()
- next_id = page.paginator.object_list[page.end_index()].id
+ if current_index > 0:
+ prev_id = object_list_ids[current_index-1]
+ prev_page = page.number
+ elif page.has_previous():
+ prev_page = page.previous_page_number()
+ prev_id = page.paginator.object_list[page.start_index() - 2].id
+
+ if current_index < (len(page)-1):
+ next_id = object_list_ids[current_index+1]
+ next_page = page.number
+ elif page.has_next():
+ next_page = page.next_page_number()
+ next_id = page.paginator.object_list[page.end_index()].id
+
context.update({
'prev_id': prev_id,
@@ -165,6 +169,7 @@
'next_id': next_id,
'next_page': next_page
})
+
return context
@@ -189,8 +194,8 @@
self.form_values = self.form.cleaned_data
try:
- self.term = Term.objects.get(id=self.form_values['term_id'])
- except Term.DoesNotExist:
+ self.term = Term.objects.get(id=self.form_values['term_id']) # @UndefinedVariable
+ except Term.DoesNotExist: # @UndefinedVariable
return HttpResponse("Term %d not found" % self.form_values['term_id'],status=404)
return self.process_term(request)