]> git.agnieray.net Git - galette.git/blob - galette/templates/default/voir_adherent.tpl
Factorize, autoload missing deps groups and dues instead of fail
[galette.git] / galette / templates / default / voir_adherent.tpl
1 {extends file="page.tpl"}
2
3 {block name="content"}
4 {if isset($navigate) and $navigate|@count != 0}
5 <nav>
6 <a href="{if isset($navigate.prev)}{path_for name="member" data=["id" => $navigate.prev]}{else}#{/if}" class="button{if !isset($navigate.prev)} disabled{/if}">
7 <i class="fas fa-step-backward"></i>
8 {_T string="Previous"}
9 </a>
10 {$navigate.pos}/{$navigate.count}
11 <a href="{if isset($navigate.next)}{path_for name="member" data=["id" => $navigate.next]}{else}#{/if}" class="button{if !isset($navigate.next)} disabled{/if}">
12 {_T string="Next"}
13 <i class="fas fa-step-forward"></i>
14 </a>
15 </nav>
16 {/if}
17 <div class="bigtable">
18 <div id="member_stateofdue" class="{$member->getRowClass()}">{$member->getDues()}</div>
19 <ul id="details_menu">
20 {if ($pref_card_self eq 1) or ($login->isAdmin() or $login->isStaff())}
21 <li>
22 <a
23 href="{if $member->isUp2Date()}{path_for name="pdf-members-cards" data=['id_adh' => $member->id]}{else}#{/if}"
24 title="{_T string="Generate members's card"}"
25 class="button bigbutton{if !$member->isUp2Date()} disabled{/if} tooltip"
26 >
27 <i class="fas fa-id-badge fa-fw fa-2x"></i>
28 {_T string="Generate Member Card"}
29 </a>
30 </li>
31 <li>
32 <a
33 href="{path_for name="adhesionForm" data=["id_adh" => $member->id]}"
34 class="button bigbutton tooltip"
35 >
36 <i class="fas fa-id-card fa-fw fa-2x"></i>
37 {_T string="Adhesion form"}
38 </a>
39 </li>
40 {if $pref_mail_method neq constant('Galette\Core\GaletteMail::METHOD_DISABLED') && ($login->isAdmin() || $login->isStaff())}
41 <li>
42 <a
43 href="{path_for name="retrieve-pass" data=["id_adh" => $member->id]}"
44 id="btn_lostpassword"
45 title="{_T string="Send member a link to generate a new passord, as if had used the 'lost password' functionnality."}"
46 class="button bigbutton tooltip"
47 >
48 <i class="fas fa-unlock fa-fw fa-2x"></i>
49 {_T string="New password"}
50 </a>
51 </li>
52 {/if}
53 {/if}
54 <li>
55 <a
56 href="{path_for name="editMember" data=["id" => $member->id]}"
57 class="button bigbutton tooltip"
58 title="{_T string="Edit member"}"
59 >
60 <i class="fas fa-user-edit fa-fw fa-2x"></i>
61 {_T string="Modification"}
62 </a>
63 </li>
64 {if $login->isAdmin() or $login->isStaff() || $login->id eq $member->id || ($member->hasParent() and $member->parent->id eq $login->id)}
65 <li>
66 <a
67 href="{path_for name="contributions" data=["type" => "contributions", "option" => "member", "value" => $member->id]}"
68 title="{_T string="View member's contributions"}"
69 class="button bigbutton tooltip"
70 >
71 <i class="fas fa-cookie fa-fw fa-2x"></i>
72 {_T string="View contributions"}
73 </a>
74 </li>
75 {/if}
76 {if $login->isAdmin() or $login->isStaff()}
77 <li>
78 <a
79 href="{path_for name="addContribution" data=["type" => constant('Galette\Entity\Contribution::TYPE_FEE')]}?id_adh={$member->id}"
80 class="button bigbutton tooltip"
81 >
82 <i class="fas fa-user-check fa-fw fa-2x"></i>
83 {_T string="Add a membership fee"}
84 </a>
85 </li>
86 <li>
87 <a
88 href="{path_for name="addContribution" data=["type" => constant('Galette\Entity\Contribution::TYPE_DONATION')]}?id_adh={$member->id}"
89 class="button bigbutton tooltip"
90 >
91 <i class="fas fa-gift fa-fw fa-2x"></i>
92 {_T string="Add a donation"}
93 </a>
94 </li>
95 <li>
96 <a
97 href="{path_for name="duplicateMember" data=["id_adh" => $member->id]}"
98 title="{_T string="Create a new member with %name information." pattern="/%name/" replace=$member->sfullname}"
99 class="button bigbutton tooltip"
100 >
101 <i class="fas fa-clone fa-fw fa-2x" aria-hidden="true"></i>
102 {_T string="Duplicate"}
103 </a>
104 </li>
105 {/if}
106 {* If some additionnals actions should be added from plugins, we load the relevant template file
107 We have to use a template file, so Smarty will do its work (like replacing variables). *}
108 {if $plugin_detailled_actions|@count != 0}
109 {foreach from=$plugin_detailled_actions key=plugin_name item=action}
110 {include file=$action module_id=$plugin_name|replace:'det_actions_':''}
111 {/foreach}
112 {/if}
113
114 </ul>
115 {if $member->hasParent() or $member->hasChildren()}
116 <table class="details">
117 <caption class="ui-state-active ui-corner-top">{_T string="Family"}</caption>
118 {if $member->hasParent()}
119 <tr>
120 <th>{_T string="Attached to:"}</th>
121 <td><a href="{path_for name="member" data=["id" => $member->parent->id]}">{$member->parent->sfullname}</a></td>
122 </tr>
123 {/if}
124 {if $member->hasChildren()}
125 <tr>
126 <th>{_T string="Parent of:"}</th>
127 <td>
128 {foreach from=$member->children item=child}
129 <a href="{path_for name="member" data=["id" => $child->id]}">{$child->sfullname}</a>{if not $child@last}, {/if}
130 {/foreach}
131 </td>
132 </tr>
133 {/if}
134
135 {/if}
136 {foreach from=$display_elements item=display_element}
137 {assign var="elements" value=$display_element->elements}
138 <table class="details">
139 <caption class="ui-state-active ui-corner-top">{_T string=$display_element->label}</caption>
140 {foreach from=$elements item=element}
141 {if $element->field_id eq 'parent_id'}
142 {continue}
143 {/if}
144 {assign var="propname" value=$element->propname}
145
146 {assign var="propvalue" value=$member->$propname}
147 {if $propvalue}
148 {assign var=value value=$propvalue|escape}
149 {else}
150 {assign var=value value=$propvalue}
151 {/if}
152
153 {if $element->field_id eq 'nom_adh'}
154 {assign var="value" value=$member->sfullname}
155 {elseif $element->field_id eq 'pref_lang'}
156 {assign var="value" value=$pref_lang}
157 {elseif $element->field_id eq 'adresse_adh'}
158 {assign var="value" value=$member->saddress|escape|nl2br}
159 {elseif $element->field_id eq 'bool_display_info'}
160 {assign var="value" value=$member->sappears_in_list}
161 {elseif $element->field_id eq 'activite_adh'}
162 {assign var="value" value=$member->sactive}
163 {elseif $element->field_id eq 'id_statut'}
164 {assign var="value" value=$member->sstatus}
165 {elseif $element->field_id eq 'bool_admin_adh'}
166 {assign var="value" value=$member->sadmin}
167 {elseif $element->field_id eq 'bool_exempt_adh'}
168 {assign var="value" value=$member->sdue_free}
169 {elseif $element->field_id eq 'info_adh'}
170 {assign var="value" value=$member->others_infos_admin|escape|nl2br}
171 {elseif $element->field_id eq 'info_public_adh'}
172 {assign var="value" value=$member->others_infos|escape|nl2br}
173 {/if}
174 <tr>
175 <th>{$element->label}</th>
176 <td>
177 {if $element->field_id eq 'nom_adh'}
178 {if $member->isCompany()}
179 <i class="fas fa-industry fa-fw"></i>
180 {elseif $member->isMan()}
181 <i class="fas fa-mars fa-fw"></i>
182 {elseif $member->isWoman()}
183 <i class="fas fa-venus fa-fw"></i>
184 {/if}
185 {/if}
186 {if $element->field_id eq 'email_adh'}
187 <a href="mailto:{$value}">{$value}</a>
188 {elseif $element->field_id eq 'tel_adh' or $element->field_id eq 'gsm_adh'}
189 <a href="tel:{$value}">{$value}</a>
190 {elseif $element->field_id eq 'ddn_adh'}
191 {$value} {$member->getAge()}
192 {else}
193 {$value}
194 {/if}
195 </td>
196 {if $display_element@first and $element@first}
197 {assign var="mid" value=$member->id}
198 <td rowspan="{$elements|count}" style="width:{$member->picture->getOptimalWidth()}px;">
199 <img
200 src="{path_for name="photo" data=["id" => $mid, "rand" => $time]}"
201 width="{$member->picture->getOptimalWidth()}"
202 height="{$member->picture->getOptimalHeight()}"
203 alt="{_T string="Picture"}"
204 {if $login->isAdmin() or $login->isStaff() or $login->login eq $member->login} title="{_T string="You can drop new image here to get photo changed"}" class="tooltip"{/if}
205 id="photo_adh"/>
206 </td>
207 {/if}
208 </tr>
209 {if $display_element@last and $element@last and ($member->getGroups()|@count != 0 || $member->getManagedGroups()|@count != 0)}
210 <tr>
211 <th>{_T string="Groups:"}</th>
212 <td>
213 {foreach from=$groups item=group key=kgroup}
214 {if $member->isGroupMember($group) or $member->isGroupManager($group)}
215 <a href="{if $login->isGroupManager($kgroup)}{path_for name="groups" data=["id" => $kgroup]}{else}#{/if}" class="button {if not $login->isGroupManager($kgroup)} notmanaged{/if}">
216 {$group}
217 {if $member->isGroupMember($group)}
218 <i class="fas fa-user fa-w" title="{_T string="Member of group"}"></i>
219 {/if}
220 {if $member->isGroupManager($group)}
221 <i class="fas fa-user-tie fa-w" title="{_T string="Group manager"}"></i>
222 {/if}
223 </a>
224 {/if}
225 {/foreach}
226 </td>
227 </tr>
228 {/if}
229 {/foreach}
230 </table>
231 {/foreach}
232
233 {include file="display_dynamic_fields.tpl" object=$member}
234 {include file="display_socials.tpl" socials=$member->socials}
235
236 <a href="#" id="back2top">{_T string="Back to top"}</a>
237 </div>
238 {/block}
239 {block name="javascripts"}
240 {if $login->isAdmin() or $login->isStaff() or $login->login eq $member->login}
241 <script type="text/javascript">
242 $(function() {
243 {include file="photo_dnd.tpl"}
244
245 $('.notmanaged').click(function(){
246 var _el = $('<div id="not_managed_group" title="{_T string="Not managed group" escape="js"}">{_T string="You are not part of managers for the requested group." escape="js"}</div>');
247 _el.appendTo('body').dialog({
248 modal: true,
249 buttons: {
250 "{_T string="Ok" escape="js"}": function() {
251 $( this ).dialog( "close" );
252 }
253 },
254 close: function(event, ui){
255 _el.remove();
256 }
257 });
258 return false;
259 });
260 });
261 </script>
262 {/if}
263 {/block}