[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> </td><td> </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