1
1
from dataclasses import dataclass
2
2
from typing import IO
3
3
4
- from django .utils import timezone
5
4
from django .utils .translation import gettext as _
6
5
7
6
import xlsxwriter
8
7
from glom import glom
9
8
from timeline_logger .models import TimelineLog
10
9
from xlsxwriter .worksheet import Worksheet
11
10
12
- from openarchiefbeheer .logging .logevent import (
13
- destruction_list_reviewed ,
14
- get_event_template ,
15
- )
11
+ from openarchiefbeheer .accounts .utils import format_user , format_user_groups
12
+ from openarchiefbeheer .logging .logevent import destruction_list_reviewed
13
+ from openarchiefbeheer .logging .utils import get_event_template , get_readable_timestamp
16
14
from openarchiefbeheer .zaken .api .constants import ZAAK_METADATA_FIELDS_MAPPINGS
17
15
18
16
from .constants import InternalStatus
@@ -34,20 +32,16 @@ def add_review_process_table(
34
32
]
35
33
worksheet .write_row (start_row , 0 , column_names )
36
34
37
- logs = TimelineLog .objects .for_object (self ).filter (
35
+ logs = TimelineLog .objects .for_object (self . destruction_list ).filter (
38
36
template = get_event_template (destruction_list_reviewed ),
39
37
extra_data__approved = True ,
40
38
)
41
39
for row_count , log in enumerate (logs ):
42
- user_data = log .extra_data ["user" ]
43
40
# Not using the FK because the user might have been deleted in the mean time
44
- formatted_user = f"{ user_data ["first_name" ]} { user_data ["last_name" ]} ({ user_data ["username" ]} )"
45
41
data = [
46
- ", " .join (log .extra_data ["user_groups" ]),
47
- formatted_user ,
48
- log .timestamp .astimezone (tz = timezone .get_default_timezone ()).isoformat (
49
- sep = " " , timespec = "minutes"
50
- ),
42
+ format_user_groups (log .extra_data ["user_groups" ]),
43
+ format_user (log .extra_data ["user" ]),
44
+ get_readable_timestamp (log ),
51
45
# This column is not useful, since we are filtering on approved reviews.
52
46
# But it was specifically requested.
53
47
_ ("Has approved" ),
0 commit comments