ADD avancement sur les trolls, partie d'administration terminé
authorGreg Burri <greg.burri@gmail.com>
Wed, 14 May 2008 22:27:07 +0000 (22:27 +0000)
committerGreg Burri <greg.burri@gmail.com>
Wed, 14 May 2008 22:27:07 +0000 (22:27 +0000)
FIX il était possible d'enregistrer plusieurs fois le même login

css/1/pageAdmin.css
doc/TODO.txt
js/euphorik.js
js/pageAdmin.js
modules/erl/euphorik_bd.erl

index 91a0961..2d656a2 100644 (file)
@@ -9,7 +9,7 @@
        margin-top: 10px
 }
 
-#page.admin .troll .content {
+#page.admin .troll span.content {
        padding: 2px;
        border: 1px solid;
        border-color: #253f18;
        margin-left: 10px
 }
 
-#page.admin .troll .editTroll {
+#page.admin .troll .editTroll,
+#page.admin .troll .delTroll,
+#page.admin .troll .modifier,
+#page.admin .troll .annuler
+{
        margin-left: 10px;
        font-size: 9px;
        border: 1px solid;
        cursor: pointer
 }
 
-#page.admin .troll .delTroll {
-       margin-left: 10px;
-       font-size: 9px;
-       border: 1px solid;
-       cursor: pointer
-}
index f6b6b16..da163ae 100755 (executable)
@@ -1,6 +1,8 @@
 == TODO ==\r
 \r
-=== v1.0 ===\r
+=== v1.0 ===
+
+* Est-ce que client.dernierMessageErreur est vraiment utile ??\r
 [80%] Un statut "EK" avec plein de privilège à la con. (avoir une petite étoile à coté de son nick ou le nick d'une certaine couleur)\r
    * Une page "admin" avec :\r
       * Trolls : La liste des trolls proposés. L'admin peut éditer ses propres trolls.\r
index d040dc3..4b56fa3 100755 (executable)
@@ -642,8 +642,11 @@ Client.prototype.enregistrement = function(login, password)
       this.login = login
       this.password = password
       if(this.flush())
+      {
          this.setStatut(statutType.auth_registered)
-      return true
+         return true
+      }
+      return false
    }
    else\r
    {
@@ -675,7 +678,7 @@ Client.prototype.connexion = function(messageJson)
 \r
 Client.prototype.deconnexion = function()\r
 {
-   this.flush()
+   this.flush(true)
    this.delCookie()\r
    this.setStatut(statutType.deconnected) // deconnexion\r
    this.resetDonneesPersonnelles()\r
@@ -718,12 +721,14 @@ Client.prototype.chargerDonnees = function(data)
 Client.prototype.flush = function(async)
 {
    if (async == undefined)
-      async = true
+      async = false
       
    if (!this.authentifie())
       return false
 
    thisClient = this
+   var ok = true
+   
    ;;; dumpObj(this.getJSONProfile())
    jQuery.ajax(
       {
@@ -735,12 +740,17 @@ Client.prototype.flush = function(async)
          success:
             function(data)
             {
-               //thisClient.util.log(thisClient.util.serializer.serializeToString(data))   
+               ;;; dumpObj(data)
+               if (data["reply"] == "error")
+               {
+                  thisClient.dernierMessageErreur = data["error_message"]
+                  ok = false
+               }
             }
       }
    )
-   // TODO : retourner false si un problème est survenu lors de l'update du profile
-   return true
+   
+   return ok
 }
 
 Client.prototype.majMenu = function()
@@ -930,7 +940,7 @@ $(document).ready(
       initialiserListeStyles(client)
 
       // TODO : pourquoi $(document).unload ne fonctionne pas ?
-      $(window).unload(function(){client.flush(false)})
+      $(window).unload(function(){client.flush()})
       
       $("#menu .minichat").click(function(){ pages.afficherPage("minichat") })
       $("#menu .admin").click(function(){ pages.afficherPage("admin") })
index 9be3ca1..4c34f58 100644 (file)
@@ -208,14 +208,14 @@ Trolls.prototype.rafraichirTrolls = function()
                         {
                            $("span", troll).css("display", "none")
                            $(troll).append(
-                              '<form><p><input class="content" type="text" size="50" maxlength="500" value="' + $(".content", troll).html() + '"></input><button class="modifier">modifier</button><button class="annuler">annuler</button></p></form>'
+                              '<form><p><input class="content" type="text" size="50" maxlength="500" value="' + $(".content", troll).html() + '"></input><span class="modifier">modifier</span><span class="annuler">annuler</span></p></form>'
                            )
                            var virerLeFormulaire = function()
                            {
                               $("form", troll).remove()
                               $("span", troll).css("display", "inline")
                            }
-                           $("button.modifier", troll).click(
+                           $("span.modifier", troll).click(
                               function()
                               {
                                  var content = $("form input.content", troll).val()
@@ -223,7 +223,7 @@ Trolls.prototype.rafraichirTrolls = function()
                                  thisTrolls.modifier(id, content)
                               }
                            )
-                           $("button.annuler", troll).click( virerLeFormulaire )
+                           $("span.annuler", troll).click( virerLeFormulaire )
                            $("form", troll).submit(function(){ return false})
                         }  
                      )
index 28267f0..e10ef2a 100755 (executable)
@@ -167,9 +167,9 @@ set_profile(Cookie, Login, Password, Pseudo, Email, Css, Nick_format, Page_princ
                case user_by_cookie(Cookie) of
                   {ok, User} ->               
                      case user_by_login(Login) of
-                        {ok, U} when User#user.login =/= [], U#user.id =/= User#user.id ->
+                        {ok, U} when Login =/= [], U#user.id =/= User#user.id ->
                            login_deja_pris;
-                        _ ->               
+                        _ ->
                            User_modifie = User#user{
                               % TODO : pourquoi ne pas tester avec la valeur "undefined" plutôt qu'avec "is_list" ?
                               % TODO : validation plus strict des données (pas de page négative dans les conv par exemple)
@@ -248,8 +248,7 @@ users() ->
 user_by_cookie(Cookie) ->
    resultat_transaction(mnesia:transaction(
       fun() ->
-         Users = qlc:e(qlc:q([E || E <- mnesia:table(user), E#user.cookie =:= Cookie])),
-         case Users of
+         case qlc:e(qlc:q([E || E <- mnesia:table(user), E#user.cookie =:= Cookie])) of
             [User] -> {ok, User};
             _ -> erreur
          end
@@ -296,9 +295,8 @@ toggle_ek_master(User_id) ->
 user_by_login_password(Login, Password) ->
    resultat_transaction(mnesia:transaction(
       fun() ->
-         Users = qlc:e(qlc:q([E || E <- mnesia:table(user), E#user.login =:= Login, E#user.password =:= Password])),
-         case Users of
-            [User] -> {ok, User};
+         case qlc:e(qlc:q([E || E <- mnesia:table(user), E#user.login =:= Login, E#user.password =:= Password])) of
+            [User | _] -> {ok, User};
             _ -> erreur
          end
       end
@@ -310,7 +308,7 @@ user_by_mess(Id) ->
    resultat_transaction(mnesia:transaction(
       fun() ->
          case qlc:e(qlc:q([U || U <- mnesia:table(user), M <- mnesia:table(minichat), M#minichat.id =:= Id, M#minichat.auteur_id =:= U#user.id])) of
-            [User] -> {ok, User};
+            [User | _] -> {ok, User};
             _ -> erreur
          end
       end