e07d401bc65b15f3235a19b39d9145a56541ea91
[platal.git] / templates / xnetgrp / sync.tpl
1 {**************************************************************************}
2 {*                                                                        *}
3 {*  Copyright (C) 2003-2013 Polytechnique.org                             *}
4 {*  http://opensource.polytechnique.org/                                  *}
5 {*                                                                        *}
6 {*  This program is free software; you can redistribute it and/or modify  *}
7 {*  it under the terms of the GNU General Public License as published by  *}
8 {*  the Free Software Foundation; either version 2 of the License, or     *}
9 {*  (at your option) any later version.                                   *}
10 {*                                                                        *}
11 {*  This program is distributed in the hope that it will be useful,       *}
12 {*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *}
13 {*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *}
14 {*  GNU General Public License for more details.                          *}
15 {*                                                                        *}
16 {*  You should have received a copy of the GNU General Public License     *}
17 {*  along with this program; if not, write to the Free Software           *}
18 {*  Foundation, Inc.,                                                     *}
19 {*  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA               *}
20 {*                                                                        *}
21 {**************************************************************************}
22
23 {if !($users|@count || $nonusers|@count)}
24 <p>Tous les inscrits aux listes de diffusions et alias du groupe sont déjà inscrits au groupe.</p>
25 {else}
26 <form action="{$platal->ns}directory/sync" method="post">
27   {xsrf_token_field}
28   <table cellspacing="2" cellpadding="0" class="tiny">
29     {if $users|@count}
30     <tr>
31       <th>Nom</th>
32       <th>
33         <a href="javascript:toggleAll('users')">{icon name="arrow_refresh" title="Tout (dé)cocher"}</a>
34       </th>
35     </tr>
36     {foreach from=$users item=user}
37     <tr>
38       <td class="checkboxToggle">{profile user=$user promo=true}</td>
39       <td class="checkboxToggle"><input type="checkbox" class="users moderate_email" name="add_users[{$user->id()}]" /></td>
40     </tr>
41     {/foreach}
42     {/if}
43     {if $nonusers|@count}
44     <tr>
45       <th>Email</th>
46       <th>
47         <a href="javascript:toggleAll('nonusers')">{icon name="arrow_refresh" title="Tout (dé)cocher"}</a>
48       </th>
49     </tr>
50     {foreach from=$nonusers item=nonuser}
51     <tr>
52       <td class="checkboxToggle">{$nonuser}</td>
53       <td class="checkboxToggle"><input type="checkbox" class="nonusers moderate_email" name="add_nonusers[{$nonuser}]" /></td>
54     </tr>
55     {/foreach}
56     {/if}
57     <tr>
58       <td colspan="2" class="center">
59         <input type="submit" value="Inscrire au groupe" />
60       </td>
61     </tr>
62   </table>
63
64   <script type="text/javascript">//<![CDATA[
65   {literal}
66   var toggleStateUsers = false;
67   var toggleStateNonUsers = false;
68   function toggleAll(type) {
69     if (type == 'users') {
70       toggleStateUsers = !toggleStateUsers;
71       var toggleState = toggleStateUsers;
72     } else if (type == 'nonusers') {
73       toggleStateNonUsers = !toggleStateNonUsers;
74       var toggleState = toggleStateNonUsers;
75     } else {
76       return;
77     }
78     var boxes = $(':checkbox.moderate_email.' + type);
79     if (toggleState) {
80       boxes.attr('checked', 'checked');
81     } else {
82       boxes.removeAttr('checked');
83     }
84   }
85
86   $('.checkboxToggle').click(function (event) {
87     // Don't uncheck the checkbox when clicking it
88     if (event.target.tagName === 'INPUT') {
89       return;
90     }
91
92     var checkbox = $(this).parent().find(':checkbox');
93     checkbox = checkbox.attr('checked', !checkbox.attr('checked'));
94     event.stopPropagation();
95   });
96   {/literal}
97   //]]></script>
98
99 </form>
100 {/if}
101
102 {* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}