history_list.ftl
1 <link href="css/admin/plugins/identitymediation/timeline.css" rel="stylesheet" />
2 <#assign description>
3 <#if current_rule_code??>
4 <#list duplicate_rule_list as rule>
5 <#if rule.code == current_rule_code>
6 #i18n{identitymediation.search_history_ruleFilter} <strong>${rule.name}</strong><br>
7 <#if rule.duplicateCount gt 0>
8 <@pageColumnBtn class="mt-2" hideSize="xxl" title="${rule.duplicateCount} #i18n{identitymediation.search_duplicates.pageTitle}" idPageColumn="mediation-duplicate-list" />
9 </#if>
10 </#if>
11 </#list>
12 <#else>
13 #i18n{identitymediation.search_history_ruleFilter.all}
14 </#if>
15 </#assign>
16 <#if identity_history_date_list?size == 0>
17 <@pageColumn flush=true center=true class=" bg-secondary ">
18 <#if identity_list?? && identity_list?size gt 0 >
19 <@pageColumnBtn class="mb-3" hideSize="xxl" title="#i18n{identitymediation.search_duplicates.pageTitle}" idPageColumn="mediation-duplicate-list" />
20 </#if>
21 <@messages infos=infos />
22 <@messages errors=errors />
23 <@messages warnings=warnings />
24 <div class="jumbotron jumbotron-fluid text-center pb-4">
25 <div class="col-7 mt-5 mb-3 card bg-secondary p-5 rounded-5 shadow-none" style="margin:0 auto">
26 <i class="ti ti-activity-heartbeat fs-1"></i>
27 <h1 class="mt-3">#i18n{identitymediation.search_history.noActivity}</h1>
28 ${description}
29 </div>
30 </div>
31 </@pageColumn>
32 <#else>
33 <@pageColumn flush=true class=" bg-secondary ">
34 <div class="jumbotron jumbotron-fluid d-flex align-items-center justify-content-center text-center pb-3">
35 <div class="col-8 mt-5">
36 <#assign title><i class="ti ti-activity"></i> #i18n{identitymediation.search_history.pageTitle}</#assign>
37 <@pageHeader title=title description=description>
38 </@pageHeader>
39 <@messages infos=infos />
40 <@messages errors=errors />
41 <@messages warnings=warnings />
42 </div>
43 </div>
44 <ul class="timeline">
45 <#list identity_history_date_list as modificationDate, innerMap>
46 <#list innerMap as identityDto, attributeChanges>
47 <#assign familyNameAttr = identityDto.attributes?filter(a -> a.key == "family_name")?first />
48 <#assign firstNameAttr = identityDto.attributes?filter(a -> a.key == "first_name")?first />
49 <li>
50 <div class="timeline-time">
51 <span class="date">${(modificationDate?number_to_datetime)?string("d MMMM yyyy")}</span>
52 <span class="time">${(modificationDate?number_to_datetime)?string("HH:mm")}</span>
53 </div>
54 <div class="timeline-icon">
55 <a href="javascript:;"> </a>
56 </div>
57 <div class="card timeline-body shadow-lg mb-0 rounded-4">
58 <div class="timeline-content d-flex justify-content-between align-items-center">
59 <div class="text-start flex-grow-1">
60 <h3>
61 <#if familyNameAttr?has_content>
62 ${familyNameAttr.value} ${firstNameAttr.value}
63 <#else>N/A</#if>
64 </h3>
65 <p class="m-0">#i18n{identitymediation.search_history.modify} <strong>${attributeChanges[0].authorName!"N/A"}</strong> - #i18n{identitymediation.search_history.type} : <strong>${attributeChanges[0].authorType!"N/A"}</strong></p>
66 <div class="mt-3 mb-0">
67 <@tag color="success" class="mt-1">
68 <i class="ti ti-check"></i> Rapprochement
69 </@tag>
70 <#list attributeChanges as attributeChange>
71 <@tag color="primary" class="mt-1">
72 <i class="ti ti-forms"></i> ${getName(attributeChange.attributeKey)}
73 </@tag>
74 </#list>
75 </div>
76 </div>
77 </div>
78 </div>
79 </li>
80 </#list>
81 </#list>
82 </ul>
83 </@pageColumn>
84 </#if>