def get_extra_context(self, request): """ Returns a context containing the following useful variables: * ``verbose_name`` * ``verbose_name_plural`` * ``list_url`` * ``add_url`` * ``base_template`` * ``adding_allowed`` * ``search_form`` (if ``search_form_everywhere = True``) """ info = app_model_label(self.model) return { 'verbose_name': self.model._meta.verbose_name, 'verbose_name_plural': self.model._meta.verbose_name_plural, 'list_url': tryreverse('%s_%s_list' % info), 'add_url': tryreverse('%s_%s_add' % info), 'base_template': self.base_template, 'adding_allowed': self.adding_allowed(request), 'search_form': ( self.search_form(request.GET, request=request) if self.search_form_everywhere else None), 'request': request, # Something changed with Django 1.10's # context processors... }
def get_extra_context(self, request): """ Returns a context containing the following useful variables: * ``verbose_name`` * ``verbose_name_plural`` * ``list_url`` * ``add_url`` * ``base_template`` * ``adding_allowed`` * ``search_form`` (if ``search_form_everywhere = True``) """ info = self.model._meta.app_label, self.model._meta.module_name return { 'verbose_name': self.model._meta.verbose_name, 'verbose_name_plural': self.model._meta.verbose_name_plural, 'list_url': tryreverse('%s_%s_list' % info), 'add_url': tryreverse('%s_%s_add' % info), 'base_template': self.base_template, 'adding_allowed': self.adding_allowed(request), 'search_form': (self.search_form(request.GET, request=request) if self.search_form_everywhere else None), }
def handle_batch_form(self, request, ctx, queryset): """ May optionally return a HttpResponse which is directly returned to the browser """ if not self.batch_form: return form = self.batch_form(request, queryset) ctx['batch_form'] = form if form.should_process(): result = form.process() if isinstance(result, HttpResponse): return result elif hasattr(result, '__iter__'): messages.success( request, _('Processed the following items: <br>\n %s') % ( '<br>\n '.join( force_text(item) for item in result))) elif result is not None: # Not None, but cannot make sense of it either. raise TypeError('Return value %r of %s.process() invalid.' % ( result, form.__class__.__name__, )) url = tryreverse('%s_%s_list' % app_model_label(self.model)) return HttpResponseRedirect(url if url else '.')
def response_delete(self, request, instance): """ Return the response when an object has been successfully deleted """ self.add_message(request, 'object_deleted') url = tryreverse('%s_%s_list' % app_model_label(self.model)) return HttpResponseRedirect(url if url else '../../')
def response_adding_denied(self, request): """ Return the response when adding instances is denied """ self.add_message(request, 'adding_denied') url = tryreverse('%s_%s_list' % app_model_label(self.model)) return HttpResponseRedirect(url if url else '../../')
def response_delete(self, request, instance): """ Return the response when an object has been successfully deleted """ self.add_message(request, 'object_deleted') info = self.model._meta.app_label, self.model._meta.module_name url = tryreverse('%s_%s_list' % info) return HttpResponseRedirect(url if url else '../../')
def response_adding_denied(self, request): """ Return the response when adding instances is denied """ self.add_message(request, 'adding_denied') info = self.model._meta.app_label, self.model._meta.module_name url = tryreverse('%s_%s_list' % info) return HttpResponseRedirect(url if url else '../../')
def test_tryreverse(self): self.assertEqual(tryreverse("asdf42"), None) self.assertEqual(tryreverse("admin:index"), "/admin/")
def test_tryreverse(self): self.assertEqual(tryreverse('asdf42'), None) self.assertEqual(tryreverse('admin:index'), '/admin/')