Changeset 7627
- Timestamp:
- 06/12/08 15:58:56 (3 months ago)
- Files:
-
- django/branches/newforms-admin/django/contrib/admin/options.py (modified) (11 diffs)
- django/branches/newforms-admin/tests/regressiontests/admin_views/models.py (modified) (1 diff)
- django/branches/newforms-admin/tests/regressiontests/admin_views/tests.py (modified) (1 diff)
- django/branches/newforms-admin/tests/templates/admin (added)
- django/branches/newforms-admin/tests/templates/admin/admin_views (added)
- django/branches/newforms-admin/tests/templates/admin/admin_views/customarticle (added)
- django/branches/newforms-admin/tests/templates/admin/admin_views/customarticle/change_list.html (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/branches/newforms-admin/django/contrib/admin/options.py
r7626 r7627 456 456 app_label = opts.app_label 457 457 ordered_objects = opts.get_ordered_objects() 458 extra_context ={458 context.update({ 459 459 'add': add, 460 460 'change': change, … … 470 470 'save_as': self.save_as, 471 471 'save_on_top': self.save_on_top, 472 } 473 context.update(extra_context) 472 }) 474 473 return render_to_response([ 475 474 "admin/%s/%s/change_form.html" % (app_label, opts.object_name.lower()), 476 475 "admin/%s/change_form.html" % app_label, 477 "admin/change_form.html"], context_instance=context) 478 479 def add_view(self, request, form_url=''): 476 "admin/change_form.html" 477 ], context, context_instance=template.RequestContext(request)) 478 479 def add_view(self, request, form_url='', extra_context=None): 480 480 "The 'add' admin view for this model." 481 481 model = self.model … … 521 521 inline_admin_formsets.append(inline_admin_formset) 522 522 523 c = template.RequestContext(request,{523 context = { 524 524 'title': _('Add %s') % opts.verbose_name, 525 525 'adminform': adminForm, … … 528 528 'media': mark_safe(media), 529 529 'inline_admin_formsets': inline_admin_formsets, 530 }) 531 return self.render_change_form(request, model, c, add=True) 532 533 def change_view(self, request, object_id): 530 } 531 context.update(extra_context or {}) 532 return self.render_change_form(request, model, context, add=True) 533 534 def change_view(self, request, object_id, extra_context=None): 534 535 "The 'change' admin view for this model." 535 536 model = self.model … … 595 596 inline_admin_formsets.append(inline_admin_formset) 596 597 597 c = template.RequestContext(request,{598 context = { 598 599 'title': _('Change %s') % opts.verbose_name, 599 600 'adminform': adminForm, … … 603 604 'media': mark_safe(media), 604 605 'inline_admin_formsets': inline_admin_formsets, 605 }) 606 return self.render_change_form(request, model, c, change=True, obj=obj) 607 608 def changelist_view(self, request): 606 } 607 context.update(extra_context or {}) 608 return self.render_change_form(request, model, context, change=True, obj=obj) 609 610 def changelist_view(self, request, extra_context=None): 609 611 "The 'change list' admin view for this model." 610 612 from django.contrib.admin.views.main import ChangeList, ERROR_FLAG … … 625 627 return render_to_response('admin/invalid_setup.html', {'title': _('Database error')}) 626 628 return HttpResponseRedirect(request.path + '?' + ERROR_FLAG + '=1') 627 c = template.RequestContext(request,{629 context = { 628 630 'title': cl.title, 629 631 'is_popup': cl.is_popup, 630 632 'cl': cl, 631 }) 632 c.update({'has_add_permission': self.has_add_permission(request)}), 633 return render_to_response(['admin/%s/%s/change_list.html' % (app_label, opts.object_name.lower()), 634 'admin/%s/change_list.html' % app_label, 635 'admin/change_list.html'], context_instance=c) 636 637 def delete_view(self, request, object_id): 633 } 634 context.update({'has_add_permission': self.has_add_permission(request)}), 635 context.update(extra_context or {}) 636 return render_to_response([ 637 'admin/%s/%s/change_list.html' % (app_label, opts.object_name.lower()), 638 'admin/%s/change_list.html' % app_label, 639 'admin/change_list.html' 640 ], context, context_instance=template.RequestContext(request)) 641 642 def delete_view(self, request, object_id, extra_context=None): 638 643 "The 'delete' admin view for this model." 639 644 from django.contrib.contenttypes.models import ContentType … … 672 677 return HttpResponseRedirect("../../../../") 673 678 return HttpResponseRedirect("../../") 674 extra_context = {679 context = { 675 680 "title": _("Are you sure?"), 676 681 "object_name": opts.verbose_name, … … 680 685 "opts": opts, 681 686 } 682 return render_to_response(["admin/%s/%s/delete_confirmation.html" % (app_label, opts.object_name.lower() ), 683 "admin/%s/delete_confirmation.html" % app_label , 684 "admin/delete_confirmation.html"], extra_context, context_instance=template.RequestContext(request)) 685 686 def history_view(self, request, object_id): 687 context.update(extra_context or {}) 688 return render_to_response([ 689 "admin/%s/%s/delete_confirmation.html" % (app_label, opts.object_name.lower()), 690 "admin/%s/delete_confirmation.html" % app_label, 691 "admin/delete_confirmation.html" 692 ], context, context_instance=template.RequestContext(request)) 693 694 def history_view(self, request, object_id, extra_context=None): 687 695 "The 'history' admin view for this model." 688 696 from django.contrib.contenttypes.models import ContentType … … 694 702 # If no history was found, see whether this object even exists. 695 703 obj = get_object_or_404(model, pk=object_id) 696 extra_context = {704 context = { 697 705 'title': _('Change history: %s') % force_unicode(obj), 698 706 'action_list': action_list, … … 700 708 'object': obj, 701 709 } 702 template_list = [ 710 context.update(extra_context or {}) 711 return render_to_response([ 703 712 "admin/%s/%s/object_history.html" % (opts.app_label, opts.object_name.lower()), 704 713 "admin/%s/object_history.html" % opts.app_label, 705 714 "admin/object_history.html" 706 ] 707 return render_to_response(template_list, extra_context, context_instance=template.RequestContext(request)) 715 ], context, context_instance=template.RequestContext(request)) 708 716 709 717 class InlineModelAdmin(BaseModelAdmin): django/branches/newforms-admin/tests/regressiontests/admin_views/models.py
r7589 r7627 9 9 content = models.TextField() 10 10 date = models.DateTimeField() 11 12 11 13 12 class ArticleAdmin(admin.ModelAdmin): 14 13 list_display = ('content', 'date') 15 14 list_filter = ('date',) 15 16 def changelist_view(self, request): 17 "Test that extra_context works" 18 return super(ArticleAdmin, self).changelist_view(request, extra_context={ 19 'extra_var': 'Hello!' 20 }) 21 22 class CustomArticle(Article): 23 pass 24 25 class CustomArticleAdmin(admin.ModelAdmin): 26 def changelist_view(self, request): 27 "Test that extra_context works" 28 return super(CustomArticleAdmin, self).changelist_view(request, extra_context={ 29 'extra_var': 'Hello!' 30 }) 16 31 17 32 admin.site.register(Article, ArticleAdmin) 33 admin.site.register(CustomArticle, CustomArticleAdmin) django/branches/newforms-admin/tests/regressiontests/admin_views/tests.py
r7611 r7627 183 183 self.failUnlessEqual(Article.objects.get(pk=1).content, '<p>edited article</p>') 184 184 self.client.get('/test_admin/admin/logout/') 185 186 def testCustomChangelistView(self): 187 self.client.get('/test_admin/admin/') 188 self.client.post('/test_admin/admin/', self.super_login) 189 request = self.client.get('/test_admin/admin/admin_views/customarticle/') 190 self.failUnlessEqual(request.status_code, 200) 191 self.assert_("var hello = 'Hello!';" in request.content) 185 192 186 193 def testDeleteView(self):
