22from collections import OrderedDict
33from urllib .parse import urlparse
44
5+ from cms .models import PageContent
6+ from cms .utils import get_language_from_request
7+ from cms .utils .conf import get_cms_setting
8+ from cms .utils .urlutils import add_url_parameters , static_with_version
59from django .contrib import admin , messages
610from django .contrib .admin .options import IncorrectLookupParameters
711from django .contrib .admin .utils import unquote
1923from django .utils .html import format_html , format_html_join
2024from django .utils .translation import gettext_lazy as _
2125
22- from cms .models import PageContent
23- from cms .utils import get_language_from_request
24- from cms .utils .conf import get_cms_setting
25- from cms .utils .urlutils import add_url_parameters , static_with_version
26-
2726from . import versionables
2827from .conf import USERNAME_FIELD
2928from .constants import DRAFT , INDICATOR_DESCRIPTIONS , PUBLISHED
@@ -173,16 +172,16 @@ def indicator(obj):
173172 "description" : INDICATOR_DESCRIPTIONS .get (status , _ ("Empty" )),
174173 "menu_template" : "admin/cms/page/tree/indicator_menu.html" ,
175174 "menu" : json .dumps (render_to_string ("admin/cms/page/tree/indicator_menu.html" ,
176- dict ( indicator_menu_items = menu ) )) if menu else None ,
175+ { " indicator_menu_items" : menu } )) if menu else None ,
177176 }
178177 )
179178 indicator .short_description = self .indicator_column_label
180179 return indicator
181180
182181 def state_indicator (self , obj ):
183182 raise ValueError (
184- " ModelAdmin.display_list contains \ " state_indicator\ " as a placeholder for status indicators. "
185- " Status indicators, however, are not loaded. If you implement \ " get_list_display\ " make "
183+ ' ModelAdmin.display_list contains "state_indicator" as a placeholder for status indicators. '
184+ ' Status indicators, however, are not loaded. If you implement "get_list_display" make '
186185 "sure it calls super().get_list_display."
187186 ) # pragma: no cover
188187
@@ -392,8 +391,8 @@ def extend_list_display(self, request, modifier_dict, list_display):
392391 list_display [list_display .index (field )] = self ._get_field_modifier (request , modifier_dict , field )
393392 list_display = tuple (list_display )
394393 return list_display
395- except ValueError :
396- raise ImproperlyConfigured ("The target field does not exist in this context" )
394+ except ValueError as err :
395+ raise ImproperlyConfigured ("The target field does not exist in this context" ) from err
397396 return tuple (list_display )
398397
399398 def get_list_display (self , request ):
@@ -777,19 +776,19 @@ def archive_view(self, request, object_id):
777776 return redirect (version_list_url (version .content ))
778777
779778 if request .method != "POST" :
780- context = dict (
781- object_name = version .content ,
782- version_number = version .number ,
783- object_id = object_id ,
784- archive_url = reverse (
779+ context = {
780+ " object_name" : version .content ,
781+ " version_number" : version .number ,
782+ " object_id" : object_id ,
783+ " archive_url" : reverse (
785784 "admin:{app}_{model}_archive" .format (
786785 app = self .model ._meta .app_label ,
787786 model = self .model ._meta .model_name ,
788787 ),
789788 args = (version .content .pk ,),
790789 ),
791- back_url = self .back_link (request , version ),
792- )
790+ " back_url" : self .back_link (request , version ),
791+ }
793792 return render (
794793 request , "djangocms_versioning/admin/archive_confirmation.html" , context
795794 )
@@ -857,19 +856,19 @@ def unpublish_view(self, request, object_id):
857856 return redirect (version_list_url (version .content ))
858857
859858 if request .method != "POST" :
860- context = dict (
861- object_name = version .content ,
862- version_number = version .number ,
863- object_id = object_id ,
864- unpublish_url = reverse (
859+ context = {
860+ " object_name" : version .content ,
861+ " version_number" : version .number ,
862+ " object_id" : object_id ,
863+ " unpublish_url" : reverse (
865864 "admin:{app}_{model}_unpublish" .format (
866865 app = self .model ._meta .app_label ,
867866 model = self .model ._meta .model_name ,
868867 ),
869868 args = (version .content .pk ,),
870869 ),
871- back_url = self .back_link (request , version ),
872- )
870+ " back_url" : self .back_link (request , version ),
871+ }
873872 extra_context = OrderedDict (
874873 [
875874 (key , func (request , version ))
@@ -970,20 +969,20 @@ def revert_view(self, request, object_id):
970969 draft_version = drafts .first ()
971970
972971 if request .method != "POST" :
973- context = dict (
974- object_name = version .content ,
975- version_number = version .number ,
976- draft_version = draft_version ,
977- object_id = object_id ,
978- revert_url = reverse (
972+ context = {
973+ " object_name" : version .content ,
974+ " version_number" : version .number ,
975+ " draft_version" : draft_version ,
976+ " object_id" : object_id ,
977+ " revert_url" : reverse (
979978 "admin:{app}_{model}_revert" .format (
980979 app = self .model ._meta .app_label ,
981980 model = self .model ._meta .model_name ,
982981 ),
983982 args = (version .content .pk ,),
984983 ),
985- back_url = self .back_link (request , version ),
986- )
984+ " back_url" : self .back_link (request , version ),
985+ }
987986 return render (
988987 request , "djangocms_versioning/admin/revert_confirmation.html" , context
989988 )
@@ -1012,20 +1011,20 @@ def discard_view(self, request, object_id):
10121011 return redirect (version_list_url (version .content ))
10131012
10141013 if request .method != "POST" :
1015- context = dict (
1016- object_name = version .content ,
1017- version_number = version .number ,
1018- draft_version = version ,
1019- object_id = object_id ,
1020- revert_url = reverse (
1014+ context = {
1015+ " object_name" : version .content ,
1016+ " version_number" : version .number ,
1017+ " draft_version" : version ,
1018+ " object_id" : object_id ,
1019+ " revert_url" : reverse (
10211020 "admin:{app}_{model}_revert" .format (
10221021 app = self .model ._meta .app_label ,
10231022 model = self .model ._meta .model_name ,
10241023 ),
10251024 args = (version .content .pk ,),
10261025 ),
1027- back_url = self .back_link (request , version ),
1028- )
1026+ " back_url" : self .back_link (request , version ),
1027+ }
10291028 return render (
10301029 request , "djangocms_versioning/admin/discard_confirmation.html" , context
10311030 )
@@ -1034,9 +1033,9 @@ def discard_view(self, request, object_id):
10341033 if request .POST .get ("discard" ):
10351034 ModelClass = version .content .__class__
10361035 deleted = version .delete ()
1037- if deleted [1 ][' last' ]:
1038- version_url = get_admin_url (ModelClass , ' changelist' )
1039- self .message_user (request , _ (' The last version has been deleted' ))
1036+ if deleted [1 ][" last" ]:
1037+ version_url = get_admin_url (ModelClass , " changelist" )
1038+ self .message_user (request , _ (" The last version has been deleted" ))
10401039
10411040 return redirect (version_url )
10421041
@@ -1116,7 +1115,7 @@ def changelist_view(self, request, extra_context=None):
11161115 # redirect to grouper form when there's no GET parameters
11171116 opts = self .model ._meta
11181117 return redirect (
1119- reverse ("admin:{}_{}_grouper" . format ( opts .app_label , opts . model_name ) )
1118+ reverse (f "admin:{ opts . app_label } _{ opts .model_name } _grouper" )
11201119 )
11211120 extra_context = extra_context or {}
11221121 versionable = versionables .for_content (self .model ._source_model )
@@ -1134,7 +1133,7 @@ def changelist_view(self, request, extra_context=None):
11341133
11351134 if grouper :
11361135 # CAVEAT: as the breadcrumb trails expect a value for latest content in the template
1137- extra_context ["latest_content" ] = ({'pk' : None })
1136+ extra_context ["latest_content" ] = ({"pk" : None })
11381137
11391138 extra_context .update (
11401139 grouper = grouper ,
0 commit comments