2
2
3
3
from django .contrib import admin , messages
4
4
5
- from representatives .models import RepresentativeSet , Representative , Election , Candidate , app_settings
5
+ from representatives .models import Candidate , Election , Representative , RepresentativeSet , app_settings
6
6
7
7
8
+ @admin .register (RepresentativeSet )
8
9
class RepresentativeSetAdmin (admin .ModelAdmin ):
9
10
actions = ['update_from_data_source' ]
10
11
list_display = ['name' , 'last_import_time' , 'last_import_successful' , 'enabled' ]
11
12
list_filter = ['last_import_successful' , 'enabled' ]
12
13
14
+ @admin .action (
15
+ description = "Update from data source"
16
+ )
13
17
def update_from_data_source (self , request , queryset ):
14
18
for individual_set in queryset :
15
19
try :
16
20
count = individual_set .update_from_data_source ()
17
21
except Exception :
18
- messages .error (request , "Couldn't update individuals in %s: %s" % ( individual_set , traceback .format_exc ()) )
22
+ messages .error (request , f "Couldn't update individuals in { individual_set } : { traceback .format_exc ()} " )
19
23
continue
20
24
if count is False :
21
- messages .error (request , "Couldn't update individuals in %s." % individual_set )
25
+ messages .error (request , f "Couldn't update individuals in { individual_set } ." )
22
26
else :
23
- message = "Updated %s individuals in %s." % ( count , individual_set )
27
+ message = f "Updated { count } individuals in { individual_set } ."
24
28
no_boundaries = individual_set .individuals .filter (boundary = '' ).values_list ('name' , flat = True )
25
29
if no_boundaries :
26
- messages .warning (request , message + " %d match no boundary (%s)." % (len (no_boundaries ), ', ' .join (no_boundaries )))
30
+ messages .warning (
31
+ request , message + f" { len (no_boundaries )} match no boundary ({ ', ' .join (no_boundaries )} )."
32
+ )
27
33
else :
28
34
messages .success (request , message )
29
- update_from_data_source .short_description = "Update from data source"
30
35
31
36
37
+ @admin .register (Representative )
32
38
class RepresentativeAdmin (admin .ModelAdmin ):
33
39
list_display = ['name' , 'representative_set' , 'district_name' , 'elected_office' , 'boundary' ]
34
40
list_filter = ['representative_set' ]
@@ -41,8 +47,6 @@ class CandidateAdmin(admin.ModelAdmin):
41
47
search_fields = ['name' , 'district_name' , 'elected_office' ]
42
48
43
49
44
- admin .site .register (RepresentativeSet , RepresentativeSetAdmin )
45
- admin .site .register (Representative , RepresentativeAdmin )
46
50
if app_settings .ENABLE_CANDIDATES :
47
51
admin .site .register (Election , RepresentativeSetAdmin )
48
52
admin .site .register (Candidate , CandidateAdmin )
0 commit comments