~ubuntu-branches/ubuntu/jaunty/python-django/jaunty-backports

« back to all changes in this revision

Viewing changes to django/contrib/admin/options.py

  • Committer: Bazaar Package Importer
  • Author(s): Scott James Remnant
  • Date: 2008-11-15 19:15:33 UTC
  • mfrom: (1.1.6 upstream)
  • Revision ID: james.westby@ubuntu.com-20081115191533-xbt1ut2xf4fvwtvc
Tags: 1.0.1-0ubuntu1
* New upstream release:
  - Bug fixes.

* The tests/ sub-directory appaers to have been dropped upstream, so pull
  our patch to workaround the tests and modify the rules.

Show diffs side-by-side

added added

removed removed

Lines of Context:
266
266
        if self.exclude is None:
267
267
            exclude = []
268
268
        else:
269
 
            exclude = self.exclude
 
269
            exclude = list(self.exclude)
270
270
        defaults = {
271
271
            "form": self.form,
272
272
            "fields": fields,
342
342
                for added_object in formset.new_objects:
343
343
                    change_message.append(_('Added %(name)s "%(object)s".')
344
344
                                          % {'name': added_object._meta.verbose_name,
345
 
                                             'object': added_object})
 
345
                                             'object': force_unicode(added_object)})
346
346
                for changed_object, changed_fields in formset.changed_objects:
347
347
                    change_message.append(_('Changed %(list)s for %(name)s "%(object)s".')
348
348
                                          % {'list': get_text_list(changed_fields, _('and')),
349
349
                                             'name': changed_object._meta.verbose_name,
350
 
                                             'object': changed_object})
 
350
                                             'object': force_unicode(changed_object)})
351
351
                for deleted_object in formset.deleted_objects:
352
352
                    change_message.append(_('Deleted %(name)s "%(object)s".')
353
353
                                          % {'name': deleted_object._meta.verbose_name,
354
 
                                             'object': deleted_object})
 
354
                                             'object': force_unicode(deleted_object)})
355
355
        change_message = ' '.join(change_message)
356
356
        return change_message or _('No fields changed.')
357
357
    
471
471
        "The 'add' admin view for this model."
472
472
        model = self.model
473
473
        opts = model._meta
474
 
        app_label = opts.app_label
475
474
 
476
475
        if not self.has_add_permission(request):
477
476
            raise PermissionDenied
478
477
 
479
 
        if self.has_change_permission(request, None):
480
 
            # redirect to list view
481
 
            post_url = '../'
482
 
        else:
483
 
            # Object list will give 'Permission Denied', so go back to admin home
484
 
            post_url = '../../../'
485
 
 
486
478
        ModelForm = self.get_form(request)
487
479
        formsets = []
488
480
        if request.method == 'POST':
541
533
            'inline_admin_formsets': inline_admin_formsets,
542
534
            'errors': helpers.AdminErrorList(form, formsets),
543
535
            'root_path': self.admin_site.root_path,
544
 
            'app_label': app_label,
 
536
            'app_label': opts.app_label,
545
537
        }
546
538
        context.update(extra_context or {})
547
539
        return self.render_change_form(request, context, add=True)
551
543
        "The 'change' admin view for this model."
552
544
        model = self.model
553
545
        opts = model._meta
554
 
        app_label = opts.app_label
555
546
 
556
547
        try:
557
548
            obj = model._default_manager.get(pk=object_id)
565
556
            raise PermissionDenied
566
557
 
567
558
        if obj is None:
568
 
            raise Http404('%s object with primary key %r does not exist.' % (force_unicode(opts.verbose_name), escape(object_id)))
 
559
            raise Http404(_('%(name)s object with primary key %(key)r does not exist.') % {'name': force_unicode(opts.verbose_name), 'key': escape(object_id)})
569
560
 
570
 
        if request.POST and request.POST.has_key("_saveasnew"):
 
561
        if request.method == 'POST' and request.POST.has_key("_saveasnew"):
571
562
            return self.add_view(request, form_url='../../add/')
572
563
 
573
564
        ModelForm = self.get_form(request, obj)
594
585
                change_message = self.construct_change_message(request, form, formsets)
595
586
                self.log_change(request, new_object, change_message)
596
587
                return self.response_change(request, new_object)
 
588
                
597
589
        else:
598
590
            form = ModelForm(instance=obj)
599
591
            for FormSet in self.get_formsets(request, obj):
609
601
            inline_admin_formset = helpers.InlineAdminFormSet(inline, formset, fieldsets)
610
602
            inline_admin_formsets.append(inline_admin_formset)
611
603
            media = media + inline_admin_formset.media
612
 
 
 
604
        
613
605
        context = {
614
606
            'title': _('Change %s') % force_unicode(opts.verbose_name),
615
607
            'adminform': adminForm,
620
612
            'inline_admin_formsets': inline_admin_formsets,
621
613
            'errors': helpers.AdminErrorList(form, formsets),
622
614
            'root_path': self.admin_site.root_path,
623
 
            'app_label': app_label,
 
615
            'app_label': opts.app_label,
624
616
        }
625
617
        context.update(extra_context or {})
626
618
        return self.render_change_form(request, context, change=True, obj=obj)
678
670
            raise PermissionDenied
679
671
 
680
672
        if obj is None:
681
 
            raise Http404('%s object with primary key %r does not exist.' % (force_unicode(opts.verbose_name), escape(object_id)))
 
673
            raise Http404(_('%(name)s object with primary key %(key)r does not exist.') % {'name': force_unicode(opts.verbose_name), 'key': escape(object_id)})
682
674
 
683
675
        # Populate deleted_objects, a data structure of all related objects that
684
676
        # will also be deleted.
689
681
        if request.POST: # The user has already confirmed the deletion.
690
682
            if perms_needed:
691
683
                raise PermissionDenied
692
 
            obj_display = str(obj)
 
684
            obj_display = force_unicode(obj)
693
685
            obj.delete()
694
686
            
695
687
            self.log_deletion(request, obj, obj_display)
738
730
        }
739
731
        context.update(extra_context or {})
740
732
        return render_to_response(self.object_history_template or [
741
 
            "admin/%s/%s/object_history.html" % (opts.app_label, opts.object_name.lower()),
742
 
            "admin/%s/object_history.html" % opts.app_label,
 
733
            "admin/%s/%s/object_history.html" % (app_label, opts.object_name.lower()),
 
734
            "admin/%s/object_history.html" % app_label,
743
735
            "admin/object_history.html"
744
736
        ], context, context_instance=template.RequestContext(request))
745
737
 
789
781
        if self.exclude is None:
790
782
            exclude = []
791
783
        else:
792
 
            exclude = self.exclude
 
784
            exclude = list(self.exclude)
793
785
        defaults = {
794
786
            "form": self.form,
795
787
            "formset": self.formset,