From: x2003bruneau
Date: Mon, 30 Oct 2006 00:53:49 +0000 (+0000)
Subject: Allows to moderate the lists directly on the lists main page (use a bit of Ajax in...
X-Git-Tag: xorg/0.9.12~155
X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=7743e0e58199e7d59177ab8a6bac8a6310456c86;p=platal.git
Allows to moderate the lists directly on the lists main page (use a bit of Ajax in order to limit the calls to the RPC)
git-svn-id: svn+ssh://murphy/home/svn/platal/trunk@1036 839d8a87-29fc-0310-9880-83ba4fa771e5
---
diff --git a/bin/lists.rpc.py b/bin/lists.rpc.py
index 7f5a5f0..62188ed 100755
--- a/bin/lists.rpc.py
+++ b/bin/lists.rpc.py
@@ -938,6 +938,7 @@ server = FastXMLRPCServer(("localhost", 4949), BasicAuthXMLRPCRequestHandler)
# index.php
server.register_function(get_lists)
+server.register_function(get_list_info)
server.register_function(subscribe)
server.register_function(unsubscribe)
# members.php
diff --git a/htdocs/images/icons/magnifier.gif b/htdocs/images/icons/magnifier.gif
new file mode 100644
index 0000000..203174e
Binary files /dev/null and b/htdocs/images/icons/magnifier.gif differ
diff --git a/htdocs/javascript/ajax.js b/htdocs/javascript/ajax.js
new file mode 100644
index 0000000..ec485a7
--- /dev/null
+++ b/htdocs/javascript/ajax.js
@@ -0,0 +1,62 @@
+/***************************************************************************
+ * Copyright (C) 2003-2006 Polytechnique.org *
+ * http://opensource.polytechnique.org/ *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the Free Software *
+ * Foundation, Inc., *
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+ ***************************************************************************/
+
+Ajax = {
+ xml_client: null,
+ init: false,
+
+ prepare_client: function()
+ {
+ if (!Ajax.init) {
+ if (window.XMLHttpRequest) {
+ Ajax.xml_client = new XMLHttpRequest();
+ } else if (window.ActiveXObject) {
+ try {
+ Ajax.xml_client = new ActiveXObject("Msxml2.XMLHTTP");
+ } catch (e) {
+ Ajax.xml_client = new ActiveXObject("Microsoft.XMLHTTP");
+ }
+ }
+ if (Ajax.xml_client == null) {
+ alert("Ton client ne supporte pas Ajax, nécessaire pour certaines fonctionalités de cette page");
+ }
+ }
+ Ajax.init = true;
+ },
+
+ update_html: function(obj, src)
+ {
+ Ajax.prepare_client();
+ if (Ajax.xml_client == null) {
+ return true;
+ }
+ Ajax.xml_client.onreadystatechange =
+ function()
+ {
+ if(Ajax.xml_client.readyState == 4) {
+ document.getElementById(obj).innerHTML = Ajax.xml_client.responseText;
+ }
+ };
+ Ajax.xml_client.open ('GET', src, true);
+ Ajax.xml_client.send (null);
+ return false;
+ }
+}
+
diff --git a/templates/listes/index.tpl b/templates/listes/index.tpl
index 3bde13d..f884eef 100644
--- a/templates/listes/index.tpl
+++ b/templates/listes/index.tpl
@@ -26,21 +26,19 @@
L'inscription à une liste de diffusion
-
-Pour t'inscrire à une liste il suffit de cliquer sur l'icone
-{icon name=add} située en fin de ligne.
-
-
-
-Certaines listes sont à inscription modérée, l'inscription n'y est pas
-immédiate. Il faut en effet l'action d'un modérateur de la liste pour valider
-(ou éventuellement refuser) ta candidature. Ces listes apparaissent avec l'icone
-{icon name=flag_orange title="en cours"}.
-
+
+ - Pour demander ton inscription à une liste de diffusion, il suffit
+ de cliquer sur l'icône {icon name=add} située en fin de ligne
+ - Si la liste est à inscription modérée, l'icône {icon name=flag_orange title="en cours"}
+ apparaîtra tant que ton inscription n'aura pas été validée par un modérateur
+ - Pour te désinscrire d'une liste dont tu es membre, il suffit de cliquer sur la croix
+ {icon name=cross title="désinscription"} située en fin de ligne
+
-
-Pour se désinscrire, il suffit de la même manière de cliquer sur l'icone
-{icon name=cross title="désinscription"}.
+
Attention : Lorsqu'une liste à laquelle tu es abonné est
+ privée, l'icône {icon name=weather_cloudy} est affichée en début de ligne.
+ Si tu t'en désinscrits, il ne te sera pas possible de t'y abonner de nouveau
+ sans l'action d'un modérateur
La diffusion sur une liste de diffusion
@@ -48,53 +46,53 @@ Pour se d
La diffusion a trois niveaux de modération. La diffusion peut être :
- - libre : tout le monde peut y envoyer des mails, la diffusion y est
+
- libre : tout le monde peut y envoyer des mails, la diffusion y est
immédiate;
- - restreinte : les membres de la liste peuvent envoyer librement des mails,
+
- restreinte : les membres de la liste peuvent envoyer librement des mails,
les extérieurs sont modérés;
- - modérée: l'envoi d'un mail à la liste est alors filtré par des
+
- modérée: l'envoi d'un mail à la liste est alors filtré par des
modérateurs, eux seuls peuvent accepter un message envoyé à la liste.
-{icon name=wrench title="Modérateur"} indique que tu es modérateur de la liste.
-Les modérateurs jouent également le rôle de gestionnaire.
+{icon name=wrench title="Modérateur"} indique que tu es modérateur de la liste, les modérateurs jouent également le rôle de gestionnaire.
+{icon name=error title="Modérateur mais non-membre"} indque que tu es modérateur de la liste, mais que tu n'en es pas membre.
-Demander la création d'une liste de diffusion
+Demander la création d'une liste de diffusion
Nos listes ont pour but de réunir des X autour de thèmes ou centres d'intérêt communs. C'est un
moyen pratique et efficace de rassembler plusieurs personnes autour d'un projet commun ou d'une
thématique particulière.
-
+
+
Tu peux demander la création
d'une liste de diffusion sur le thème de ton choix.
+{if $owner|@count}
+Listes dont tu es modérateur
-
- Listes de diffusion publiques
-
-
-
-Les listes de diffusion publiques sont visibles par tous les X inscrits à Polytechnique.org.
-
+{include file='listes/listes.inc.tpl' lists=$owner}
+{/if}
+{if $member|@count}
+Listes dont tu es membre
-{include file='listes/listes.inc.tpl' priv=0}
-
-
- Listes de diffusion privées (et de promo)
-
+{include file='listes/listes.inc.tpl' lists=$member}
+{/if}
+Listes de diffusion publiques auxquelles tu peux t'inscrire
-Si tu te désinscris de ces listes, tu ne seras plus capable de t'y réinscrire par toi-même !
+Les listes de diffusion publiques sont visibles par tous les X inscrits à Polytechnique.org.
-{include file='listes/listes.inc.tpl' priv=1}
+{if $public|@count}
+{include file='listes/listes.inc.tpl' lists=$public}
+{/if}