ADD Avancement sur la page d'administration (trolls)
authorGreg Burri <greg.burri@gmail.com>
Mon, 12 May 2008 21:53:05 +0000 (21:53 +0000)
committerGreg Burri <greg.burri@gmail.com>
Mon, 12 May 2008 21:53:05 +0000 (21:53 +0000)
doc/protocole3.txt
js/pageAdmin.js
modules/Makefile
modules/erl/euphorik_bd.erl
modules/include/euphorik_defines.hrl

index e553133..1a91d33 100644 (file)
@@ -204,7 +204,6 @@ c -> s
       "action" : "wait_event",
       "page" : "admin",
       "last_troll" : 5
-      ]
    }
    
 s -> c
index 1611ecc..75f55a8 100644 (file)
@@ -24,17 +24,47 @@ PageAdmin.prototype.charger = function()
       
    var thisPage = this
    
+   this.trolls = new Trolls(this.util)
+   this.trolls.rafraichirTrolls()
+   
    $("#page form#nouveauTroll button.return").click(
       function()
       {         
-      
       }
    )
 }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-function Trolls()
+function Trolls(util)
 {
+   this.util = util
+   this.dernierTroll = 0
+   this.pageEvent = new PageEvent("admin", this.util)
+}
 
+Trolls.prototype.rafraichirTrolls = function()
+{
+   var thisTrolls = this
+         
+   this.pageEvent.waitEvent(
+      function() { return { "last_troll" : thisTrolls.dernierTroll }},
+      function(data)
+      {
+         switch (data["reply"]) {
+            case "troll_added" :
+               var XHTML = ""
+               for (var i = 0; i < data["trolls"].length; i++)
+               {
+                  thisTrolls.dernierTroll = data["trolls"][i]["troll_id"]
+                  XHTML += '<p id="troll' + data["trolls"][i]["troll_id"] + '">' + data["trolls"][i]["content"] + '</p>'
+               }
+               $("#trolls").append(XHTML)
+               break
+            case "troll_modified" :
+               $("#trolls #troll"+data["troll_id"]).html(data["content"])
+               break
+         }
+      }
+   )
 }
\ No newline at end of file
index bd7d763..642c5ab 100755 (executable)
@@ -17,7 +17,7 @@ $(rep_ebin)/euphorik_requests.beam \
 $(rep_ebin)/euphorik_protocole.beam \
 \r
 # Module pour la gestion des données persistante la BD\r
-$(rep_ebin)/euphorik_bd.beam: $(rep_erl)/euphorik_bd.erl $(rep_include)/euphorik_bd.hrl\r
+$(rep_ebin)/euphorik_bd.beam: $(rep_erl)/euphorik_bd.erl $(rep_include)/euphorik_bd.hrl $(rep_include)/euphorik_defines.hrl\r
        erlc $(erlc_params)\r
 
 # Module permettant l'extraction des conversations du minichat
@@ -29,7 +29,7 @@ $(rep_ebin)/euphorik_requests.beam: $(rep_erl)/euphorik_requests.erl
        erlc $(erlc_params)\r
        \r
 # Module interpretant les messages XML du client\r
-$(rep_ebin)/euphorik_protocole.beam: $(rep_erl)/euphorik_protocole.erl\r
+$(rep_ebin)/euphorik_protocole.beam: $(rep_erl)/euphorik_protocole.erl $(rep_include)/euphorik_defines.hrl\r
        erlc $(erlc_params)
    
 # Module pour la génération du captcha\r
index 7a9b582..8875973 100755 (executable)
@@ -587,7 +587,7 @@ can_register(IP) ->
 trolls() ->
    resultat_transaction(mnesia:transaction(
       fun() ->
-         qlc:e(qlc:q([T || T <- mnesia:table(troll)]))
+         qlc:e(qlc:q([T || T <- qlc:keysort(2, mnesia:table(troll))]))
       end
    )).
    
@@ -605,7 +605,7 @@ trolls(Last_id) ->
       _ ->
          case resultat_transaction(mnesia:transaction(
                fun() ->
-                  qlc:e(qlc:q([T || T <- mnesia:table(troll), T#troll.id > Last_id, T#troll.date_post =:= undefined]))
+                  qlc:e(qlc:q([T || T <- qlc:keysort(2, mnesia:table(troll)), T#troll.id > Last_id, T#troll.date_post =:= undefined]))
                end
             )) of
                [] -> % pas de trolls
index 779a175..9be2226 100755 (executable)
@@ -19,4 +19,4 @@
 % le nombre max de troll qui peuvent être en attente d'être posté (tous les utilisateurs réunis)
 -define(NB_MAX_TROLL_WAITING, 10).
 % chaque admin peut proposer 1 seul troll à la fois
--define(NB_MAX_TROLL_WAITING_BY_USER, 1).
+-define(NB_MAX_TROLL_WAITING_BY_USER, 2).