11from __future__ import unicode_literals
22
33from django .core .exceptions import PermissionDenied
4- try :
5- from django .conf .urls import patterns , url
6- except ImportError :
7- from django .conf .urls .defaults import patterns , url
4+ from django .conf .urls import patterns , url
85from django .contrib import admin
96from django .contrib .admin import helpers
107from django .contrib .contenttypes .models import ContentType
@@ -78,18 +75,14 @@ def history_view(self, request, object_id, extra_context=None):
7875 dictionary = context , current_app = self .admin_site .name )
7976
8077 def history_form_view (self , request , object_id , version_id ):
81- original_model = self .model
82- original_opts = original_model ._meta
83- history = getattr (self .model ,
84- self .model ._meta .simple_history_manager_attribute )
85- model = history .model
86- opts = model ._meta
87- pk_name = original_opts .pk .attname
88- record = get_object_or_404 (model , ** {
89- pk_name : object_id ,
78+ original_opts = self .model ._meta
79+ model = getattr (
80+ self .model ,
81+ self .model ._meta .simple_history_manager_attribute ).model
82+ obj = get_object_or_404 (model , ** {
83+ original_opts .pk .attname : object_id ,
9084 'history_id' : version_id ,
91- })
92- obj = record .instance
85+ }).instance
9386 obj ._state .adding = False
9487
9588 if not self .has_change_permission (request , obj ):
@@ -100,19 +93,13 @@ def history_form_view(self, request, object_id, version_id):
10093 if request .method == 'POST' :
10194 form = form_class (request .POST , request .FILES , instance = obj )
10295 if form .is_valid ():
103- form_validated = True
10496 new_object = self .save_form (request , form , change = True )
105- else :
106- form_validated = False
107- new_object = obj
108-
109- if form_validated :
11097 self .save_model (request , new_object , form , change = True )
11198 form .save_m2m ()
11299
113- change_message = self .construct_change_message (request , form ,
114- formsets )
115- self . log_change ( request , new_object , change_message )
100+ self .log_change (request , new_object ,
101+ self . construct_change_message (
102+ request , form , formsets ) )
116103 return self .response_change (request , new_object )
117104
118105 else :
@@ -125,23 +112,21 @@ def history_form_view(self, request, object_id, version_id):
125112 self .get_readonly_fields (request , obj ),
126113 model_admin = self ,
127114 )
128- media = self .media + admin_form .media
129115
130116 try :
131- model_name = original_opts .module_name
132- except AttributeError :
133117 model_name = original_opts .model_name
118+ except AttributeError :
119+ model_name = original_opts .module_name
134120 url_triplet = self .admin_site .name , original_opts .app_label , model_name
135- content_type_id = ContentType .objects .get_for_model (self .model ).id
136121 context = {
137122 'title' : _ ('Revert %s' ) % force_text (obj ),
138123 'adminform' : admin_form ,
139124 'object_id' : object_id ,
140125 'original' : obj ,
141126 'is_popup' : False ,
142- 'media' : mark_safe (media ),
127+ 'media' : mark_safe (self . media + admin_form . media ),
143128 'errors' : helpers .AdminErrorList (form , formsets ),
144- 'app_label' : opts .app_label ,
129+ 'app_label' : model . _meta .app_label ,
145130 'original_opts' : original_opts ,
146131 'changelist_url' : reverse ('%s:%s_%s_changelist' % url_triplet ),
147132 'change_url' : reverse ('%s:%s_%s_change' % url_triplet ,
@@ -157,8 +142,8 @@ def history_form_view(self, request, object_id, version_id):
157142 'has_file_field' : True ,
158143 'has_absolute_url' : False ,
159144 'form_url' : '' ,
160- 'opts' : opts ,
161- 'content_type_id' : content_type_id ,
145+ 'opts' : model . _meta ,
146+ 'content_type_id' : ContentType . objects . get_for_model ( self . model ). id ,
162147 'save_as' : self .save_as ,
163148 'save_on_top' : self .save_on_top ,
164149 'root_path' : getattr (self .admin_site , 'root_path' , None ),
0 commit comments