[cpif] r383 - in trunk: . backend frontend-web
svn at argo.es
svn at argo.es
Thu Oct 11 18:07:25 CEST 2007
Author: jcea
Date: Thu Oct 11 18:07:25 2007
New Revision: 383
Log:
Flecos en los mensajes privados
Modified:
trunk/TODO
trunk/backend/database.py
trunk/frontend-web/url_INVALIDA.py
trunk/frontend-web/url_hilo.py
trunk/frontend-web/url_nuevo_post_POST.py
Modified: trunk/TODO
==============================================================================
--- trunk/TODO (original)
+++ trunk/TODO Thu Oct 11 18:07:25 2007
@@ -429,4 +429,7 @@
los metatags del hilo para mostrar exclusivamente el enlace al metatag al que
tenemos acceso. Eso es lento. Revisarlo.
+- 20071011: Si hilo esta en varios metatags, y un usuario tiene acceso a mas
+ de uno de ellos, la toma de decision de si tiene acceso al hilo o no depende
+ del primer metatag que se encuentre con acceso.
Modified: trunk/backend/database.py
==============================================================================
--- trunk/backend/database.py (original)
+++ trunk/backend/database.py Thu Oct 11 18:07:25 2007
@@ -707,8 +707,21 @@
def user_has_metatag_access(conn,usuario,metatag,write=False) :
usuario=conn.get_root()["usuarios"]["usuarios"][normaliza_nick(usuario)]
- if write and (metatag==usuario["metatag_privado"]) : return False # De momento no permitimos mensajes privados
+ if write and (metatag==usuario["metatag_privado"]) : return False # Los mensajes privados no se escriben directamente en el metatag
return metatag in usuario["punto de lectura no leidos"]
+
+def user_has_thread_access(conn,usuario,thread,write=False) :
+ root=conn.get_root()
+ u=root["usuarios"]["usuarios"][normaliza_nick(usuario)]
+ plnl=u["punto de lectura no leidos"]
+ thread=root["hilos"]["hilos"].get(thread)
+ if thread==None : return False
+ for metatag in thread["metatags"] :
+ if metatag in plnl :
+ if metatag==u["metatag_privado"] :
+ return globales.allow_private_messages
+ return True
+ return False
def get_metatags(conn,usuario) :
metatags=[]
Modified: trunk/frontend-web/url_INVALIDA.py
==============================================================================
--- trunk/frontend-web/url_INVALIDA.py (original)
+++ trunk/frontend-web/url_INVALIDA.py Thu Oct 11 18:07:25 2007
@@ -6,6 +6,6 @@
import skins
pagina = skins.Skin(['error'], usuario)
d = {"page_title": "cpif - ERROR",
- "generic_message": "<h2>ERROR<H2>\r\nLa pagina que buscas no existe, pichón</h2>"}
+ "generic_message": "<h2>ERROR<H2>\r\nLa pagina que buscas no existe, o no tienes acceso a ella</h2>"}
pagina.load_dict(d)
return (pagina.web(404))
Modified: trunk/frontend-web/url_hilo.py
==============================================================================
--- trunk/frontend-web/url_hilo.py (original)
+++ trunk/frontend-web/url_hilo.py Thu Oct 11 18:07:25 2007
@@ -29,7 +29,7 @@
else :
mts=conn.get_root()["usuarios"]["usuarios"][database.normaliza_nick(usuario)]["punto de lectura no leidos"]
for metatag in metatags :
- if metatag in mts : break # Siempre hay al menos uno
+ if metatag[0] in mts : break # Siempre hay al menos uno
import skins
pagina = skins.Skin(path,usuario,handler.headers)
Modified: trunk/frontend-web/url_nuevo_post_POST.py
==============================================================================
--- trunk/frontend-web/url_nuevo_post_POST.py (original)
+++ trunk/frontend-web/url_nuevo_post_POST.py Thu Oct 11 18:07:25 2007
@@ -24,7 +24,8 @@
if not usuario : # Acceso anonimo
return (302,{"Location":"/LOGIN/hilo/%d" % hilo}, "")
import database
- if not database.user_has_metatag_access(conn,usuario,metatag,write=True) :
+ if not database.user_has_thread_access(conn,usuario,metatag,write=True) :
+ print "XXX"
return None
if database.thread_is_readonly(conn,hilo) :
More information about the cpif
mailing list