if has_add_forge_now_permission(request.user):
requests = AddForgeNowRequestSerializer(page.object_list, many=True).data
for item in page.object_list:
history = AddForgeNowRequestHistory.objects.filter(request=item ).filter(actor_role = "MODERATOR").order_by(
"id"
)
for request in requests:
last_item = history[len(history) - 1]item.__dict__["actor_role"] = "SUBMITTER"
if request["id"] == last_item.__dict__["request_id"]:
request["actor_role"] = last_item.__dict__["actor_role"]
if request["actor_role"] == "MODERATOR":item.__dict__["actor"] = item.submitter_name
request["actor"] = last_item.__dict__["last_modified_date"] = item.__dict__["actor"]submission_date
request["last_modified_date"] = last_item.__dict__["date"]for history_item in history:
else:item.__dict__["actor_role"] = history_item.__dict__["actor_role"]
requestitem.__dict__["actor"] = "No action taken yet"history_item.__dict__["actor"]
item.__dict__["last_modified_date"] = history_item.__dict__["date"]
request["last_modified_date"] = request["submission_date"]s = AddForgeNowRequestSerializer(page.object_list, many=True).data
else:
requests = AddForgeNowRequestPublicSerializer(page.object_list, many=True).data
results = [dict(request) for request in requests]
table_data["recordsFiltered"] = add_forge_requests.count()
table_data["data"] = results
return JsonResponse(table_data)