[cpif] r238 - in trunk: backend frontend-web

svn at argo.es svn at argo.es
Wed Jul 4 00:02:14 CEST 2007


Author: jcea
Date: Wed Jul  4 00:02:13 2007
New Revision: 238

Log:
Edicion de moderadores

Modified:
   trunk/backend/database.py
   trunk/backend/upgrade.py
   trunk/frontend-web/url_edit_metatags.py
   trunk/frontend-web/url_edit_metatags_POST.py

Modified: trunk/backend/database.py
==============================================================================
--- trunk/backend/database.py	(original)
+++ trunk/backend/database.py	Wed Jul  4 00:02:13 2007
@@ -1,7 +1,7 @@
 # $Id$
 
 
-VERSION_DB="2007070202"
+VERSION_DB="2007070401"
 
 from globales import thread_len
 
@@ -220,7 +220,7 @@
   else :
     return OpenID+"/" in OpenIDs
 
-def metatag_add(conn,nombre) :
+def metatag_add(conn,nombre,moderadores=[]) :
   from durus.btree import BTree
   from durus.persistent_dict import PersistentDict
 
@@ -228,7 +228,11 @@
   metatags=root["metatags"]
   num_mt=metatags["num_metatags"]
   metatags["num_metatags"]+=1
-  metatags["metatags"][num_mt]=PersistentDict({"nombre":nombre,"num_hilos":0,"TS2hilo":BTree()})
+  metatags["metatags"][num_mt]=PersistentDict({"nombre":nombre,
+                                               "num_hilos":0,
+                                               "TS2hilo":BTree(),
+                                               "moderadores":moderadores,
+                                              })
 
   for usuario in root["usuarios"]["usuarios"].itervalues() :
     usuario["punto de lectura no leidos"][num_mt]=BTree()

Modified: trunk/backend/upgrade.py
==============================================================================
--- trunk/backend/upgrade.py	(original)
+++ trunk/backend/upgrade.py	Wed Jul  4 00:02:13 2007
@@ -124,3 +124,10 @@
       usuario["avatar"]=None
     conn.commit()
 
+  if root["version del foro"]=="2007070202" :
+    print "Actualizando la base de datos: 2007070202 -> 2007070401"
+    root["version del foro"]="2007070401"
+    for metatag in root["metatags"]["metatags"].values() :
+      metatag["moderadores"]=[]
+    conn.commit()
+

Modified: trunk/frontend-web/url_edit_metatags.py
==============================================================================
--- trunk/frontend-web/url_edit_metatags.py	(original)
+++ trunk/frontend-web/url_edit_metatags.py	Wed Jul  4 00:02:13 2007
@@ -16,9 +16,13 @@
 
   root=conn.get_root()
 
-  texto=['<tr><th colspan="2">Cambiar los nombres de los metatags</th></tr>']
+  texto=['<tr><th colspan="2">Cambiar los nombres de los metatags</th><td>Moderadores</td></tr>']
   for i in root["metatags"]["metatags"].items() :
-    texto.append('<tr><td>%s</td><td><input type="text" name="metatag%d" size="60" value="" /></td></tr>' % (i[1]["nombre"],i[0]))
+    nombre=i[1]["nombre"]
+    moderadores=",".join(i[1]["moderadores"])
+    texto.append('<tr><td>%s</td><td><input type="text" name="metatag%d" size="60" value="" /></td> \
+                      <td><input type="text" name="moderators%d" size="40" value="%s" /></td></tr>'
+                      % (nombre,i[0],i[0],moderadores))
 
   texto.append('<tr><td>&nbsp;</td><td>&nbsp;</td></tr>')
 

Modified: trunk/frontend-web/url_edit_metatags_POST.py
==============================================================================
--- trunk/frontend-web/url_edit_metatags_POST.py	(original)
+++ trunk/frontend-web/url_edit_metatags_POST.py	Wed Jul  4 00:02:13 2007
@@ -15,13 +15,27 @@
   ctype,pdict=cgi.parse_header(handler.headers.getheader('content-type'))
   cuerpo=cgi.FieldStorage(fp=handler.rfile,headers=handler.headers,environ={'REQUEST_METHOD':'POST'},keep_blank_values=1)
 
+  usuarios=conn.get_root()["usuarios"]["usuarios"]
   metatags=conn.get_root()["metatags"]["metatags"]
   for n,metatag in metatags.items() :
     metatag_nuevo_nombre=cuerpo.getfirst("metatag%d" %n)
-    if metatag_nuevo_nombre==None : return None
+    metatag_nuevos_moderadores=cuerpo.getfirst("moderators%d" %n)
+    if metatag_nuevo_nombre==None or metatag_nuevos_moderadores==None : return None
     metatag_nuevo_nombre=metatag_nuevo_nombre.strip()
     if metatag_nuevo_nombre :
       metatag["nombre"]=metatag_nuevo_nombre
+    if metatag_nuevos_moderadores :
+      metatag_nuevos_moderadores=metatag_nuevos_moderadores.split(",")
+    else :
+      metatag_nuevos_moderadores=[]
+    if metatag_nuevos_moderadores!=metatag["moderadores"] :
+      for i in metatag_nuevos_moderadores :
+        i2=i.strip()
+        if i2=="" : i2=" <NO VALID> " # No puedes poner como moderador al usuario anonimo...
+        else : i2=database.normaliza_nick(i)
+        if i2 not in usuarios :
+            return (200, {"Content-Type":"text/html; charset=utf-8"},"El usuario '%s' no existe en el sistema" %i)
+      metatag["moderadores"]=metatag_nuevos_moderadores
     
   metatag_nuevo=cuerpo.getfirst("metatag_new")
   if metatag_nuevo== None : return None



More information about the cpif mailing list