[cpif] r145 - in trunk: . frontend-web frontend-web/skins/default

svn at argo.es svn at argo.es
Tue Jun 12 03:11:22 CEST 2007


Author: alvaro
Date: Tue Jun 12 03:11:21 2007
New Revision: 145

Log:
Corregido para que no muestre el formulario para aniadir
un nuevo hilo, y para que nos obligue a hacer login antes de
escribir una respuesta


Added:
   trunk/frontend-web/skins/default/body_threadlist_anonymous.html
      - copied, changed from r143, /trunk/frontend-web/skins/default/body_threadlist.html
Modified:
   trunk/TODO
   trunk/frontend-web/skins.py
   trunk/frontend-web/skins/default/body_show_thread.html
   trunk/frontend-web/skins/default/body_threadlist.html
   trunk/frontend-web/url_LOGIN.py
   trunk/frontend-web/url_nuevo_hilo_POST.py
   trunk/frontend-web/url_nuevo_post_POST.py

Modified: trunk/TODO
==============================================================================
--- trunk/TODO	(original)
+++ trunk/TODO	Tue Jun 12 03:11:21 2007
@@ -55,8 +55,6 @@
   de bases de datos, no hara falta que guardemos un backup
   de los usuarios.
 
-- 20070524: FRONTAL WEB: Meter el login en HTML.
-
 - 20070524: En realidad no necesitamos que el marcador
   de hilos no leidos apunte al primer mensaje no leido.
   Basta con que deje constancia de que ese hilo tiene
@@ -100,11 +98,8 @@
   idea modificar el proceso de escribir un mensaje nuevo
   para no volver a pasar por el metatag.
 
-- 20070609: Ahora que permitimos acceso anonimo, hay que
-  cambiar el skin para que permita hacer login si no estamos
-  autentificados, y que no salga la opcion de escribir
-  un hilo/mensaje nuevo si no estamos autentificados.
-
-  Para ello lo mas simple es pasar al SKIN el nombre del
-  usuario, algo que de todas formas necesitaria.
-
+- 20070612: Ahora el Skin diferencia entre usuarios autenticados o no.
+  Falta por hacer que cuando no se esta autenticado y se hace un POST
+  (para por ejemplo poner una respuesta), se haga login, y si este es
+  bueno publique el texto; ahora solo redirige a una pantalla de login
+  y la información enviada se pierde.

Modified: trunk/frontend-web/skins.py
==============================================================================
--- trunk/frontend-web/skins.py	(original)
+++ trunk/frontend-web/skins.py	Tue Jun 12 03:11:21 2007
@@ -16,10 +16,10 @@
     'new_user':       'body_new_user.html',
     'generic':        'body_generic.html',
     'body':           'body_threadlist.html',
+    'body_anonymous': 'body_threadlist_anonymous.html',
     'body_metatags':  'body_metatags.html',
     'metatag':        'body_metatags_metatag.html',
     'metatag_unread': 'body_metatags_metatag_unread.html',
-#    'body_previous':  'body_threadlist_prev.html', 
     'thread_unread':  'body_threadlist_thread_unread.html',
     'thread':         'body_threadlist_thread.html',
     'group_date':     'body_threadlist_group.html',
@@ -35,6 +35,7 @@
     '/hilo':                ['thread_entries'],
     '/nuevo_usuario':       ['new_user'],
     '/login':               ['login'],
+    '/LOGIN':               ['login'],
     '/error':               [],
     '/stop':                [],
     '/nuevo_usuario_POST':  []
@@ -65,9 +66,11 @@
     self._tz = pytz.timezone("Europe/Madrid")
     self._skin = "default"
     self._path = url
+    print url
     self._url = "/%s" % url[0]
     self._style = ["odd","even"]
     self._text = []
+    self._user = user
     self._dict = {
         "version": globales.version,
         "page_title": "cpif",
@@ -75,8 +78,8 @@
         "generic_message": "Algo va mal",
         "calendar":""
         }
-    if user:
-      self._dict["auth"] = available_skins[self._skin]["link_logout"] % { "link_auth": "/logout", "user":user }
+    if self._user:
+      self._dict["auth"] = available_skins[self._skin]["link_logout"] % { "link_auth": "/logout", "user": self._user }
     else:
       self._dict["auth"] = available_skins[self._skin]["link_login"] % { "link_auth": "/login/%s" % "/".join(self._path) if self._path else "/login" }
 
@@ -163,19 +166,17 @@
     if "metatags" in urls[self._url]:
       self.list_metatags()
       aux = available_skins[self._skin]['body_metatags']
-#    elif "previous_threads" in urls[self._url]:
-#      self.list_threads()
-#      self._dict["link_mark_as_read"] = "/todo_leido/%d" % metatag
-#      self._dict["link_new_thread"] = "/nuevo_hilo_POST/%d" % metatag
-#      aux = available_skins[self._skin]['body_previous']
     elif "threads" in urls[self._url]:
       self.list_threads()
       self._dict["link_mark_as_read"] = "/todo_leido/%d" % metatag
-      self._dict["link_new_thread"] = "/nuevo_hilo_POST/%d" % metatag
-      aux = available_skins[self._skin]['body']
+      if self._user:
+        self._dict["link_form_new_thread"] = "/nuevo_hilo_POST/%d" % metatag
+        aux = available_skins[self._skin]['body']
+      else:
+        aux = available_skins[self._skin]['body_anonymous']
     elif "thread_entries" in urls[self._url]:
       self.show_thread()
-      self._dict["link_new_post"] = "/nuevo_post_POST/%d/%d" %(metatag,self._dict["msg_num"])
+      self._dict["link_form_new_post"] = "/nuevo_post_POST/%d/%d" %(metatag,self._dict["msg_num"])
       self._dict["link_metatag"] = "/indice/%d" % metatag
       aux = available_skins[self._skin]['body_thread']
     elif "login" in urls[self._url]:

Modified: trunk/frontend-web/skins/default/body_show_thread.html
==============================================================================
--- trunk/frontend-web/skins/default/body_show_thread.html	(original)
+++ trunk/frontend-web/skins/default/body_show_thread.html	Tue Jun 12 03:11:21 2007
@@ -3,7 +3,7 @@
     <h3>Iniciado por %(thread_author)s</h3>
     %(body)s
     <hr>
-    <p><form action="%(link_new_post)s" method="post" enctype="multipart/form-data">
+    <p><form action="%(link_form_new_post)s" method="post" enctype="multipart/form-data">
       <table>
         <tr><td>Texto:</td><td><br><textarea name="texto" rows="10" cols="60"></textarea></td></tr>
         <tr><td colspan=2 align=right><input class="form-element" type="submit" name="submit" value="Publicar nuevo mensaje"/></td></tr>

Modified: trunk/frontend-web/skins/default/body_threadlist.html
==============================================================================
--- trunk/frontend-web/skins/default/body_threadlist.html	(original)
+++ trunk/frontend-web/skins/default/body_threadlist.html	Tue Jun 12 03:11:21 2007
@@ -5,7 +5,7 @@
     <p>Calendario:</p>
     %(calendar)s
     <hr>
-    <form action="%(link_new_thread)s" method="post" enctype="multipart/form-data">
+    <form action="%(link_form_new_thread)s" method="post" enctype="multipart/form-data">
       <table>
         <tr><td>T&iacute;tulo:</td><td><input type="text" name="titulo" size="60" value="" /></td></tr>
         <tr><td>Texto:</td><td><br><textarea name="texto" rows="10" cols="60"></textarea></td></tr>

Copied: trunk/frontend-web/skins/default/body_threadlist_anonymous.html (from r143, /trunk/frontend-web/skins/default/body_threadlist.html)
==============================================================================
--- /trunk/frontend-web/skins/default/body_threadlist.html	(original)
+++ trunk/frontend-web/skins/default/body_threadlist_anonymous.html	Tue Jun 12 03:11:21 2007
@@ -5,11 +5,4 @@
     <p>Calendario:</p>
     %(calendar)s
     <hr>
-    <form action="%(link_new_thread)s" method="post" enctype="multipart/form-data">
-      <table>
-        <tr><td>T&iacute;tulo:</td><td><input type="text" name="titulo" size="60" value="" /></td></tr>
-        <tr><td>Texto:</td><td><br><textarea name="texto" rows="10" cols="60"></textarea></td></tr>
-        <tr><td colspan=2 align=right><input class="form-element" type="submit" name="submit" value="Publicar nuevo hilo"/></td></tr>
-      </table>
-    </form>
     <p><a href="/">Pagina principal</a></a>

Modified: trunk/frontend-web/url_LOGIN.py
==============================================================================
--- trunk/frontend-web/url_LOGIN.py	(original)
+++ trunk/frontend-web/url_LOGIN.py	Tue Jun 12 03:11:21 2007
@@ -21,16 +21,6 @@
           cookie="cpif_auth=%s; path=/;" %cookie
         return (302,{"Set-Cookie":cookie,"Location":"/"+"/".join(path)},"")
 
-  return (200,{"Content-Type":"text/html; charset=utf-8"},
-"""
-<html><head></head>
-<body>
-<form action="/LOGIN/%s" method="post" enctype="multipart/form-data">
-<table>
-<tr><td>Usuario:</td><td><input type="text" name="usuario" size="25" value="" /></td></tr>
-<tr><td>Clave:</td><td><input type="password" name="clave" size="25" value="" /></td></tr>
-<tr><td colspan=2 align=right><input class="form-element" type="submit" name="submit" value="Log In"/></td></tr>
-</table>
-</form>
-</body></html>""" % ("/".join(path)) )
-
+  import skins
+  pagina = skins.Skin(["login"] + path,usuario)
+  return (pagina.web())

Modified: trunk/frontend-web/url_nuevo_hilo_POST.py
==============================================================================
--- trunk/frontend-web/url_nuevo_hilo_POST.py	(original)
+++ trunk/frontend-web/url_nuevo_hilo_POST.py	Tue Jun 12 03:11:21 2007
@@ -4,9 +4,6 @@
 
 @monitor
 def gestiona_url(conn,handler,path,usuario) :
-  if not usuario : # Acceso anonimo
-    import url_LOGIN
-    return url_LOGIN.gestiona_url(handler,path,usuario)
 
   import database
   if len(path)!=2 : return None
@@ -14,6 +11,8 @@
     metatag=int(path[1])
   except :
     return None
+  if not usuario : # Acceso anonimo
+    return (302,{"Location":"/login/indice/%d" % metatag},"")
   if not database.user_has_metatag_access(conn,usuario,metatag) :
     return None
 

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	Tue Jun 12 03:11:21 2007
@@ -4,9 +4,6 @@
 
 @monitor
 def gestiona_url(conn,handler,path,usuario) :
-  if not usuario : # Acceso anonimo
-    import url_LOGIN
-    return url_LOGIN.gestiona_url(handler,path,usuario)
 
   if len(path)!=3 : return None
   try :
@@ -14,6 +11,8 @@
     hilo=int(path[2])
   except :
     return None
+  if not usuario : # Acceso anonimo
+    return (302,{"Location":"/login/hilo/%d" % hilo}, "")
   import database
   if not database.user_has_metatag_access(conn,usuario,metatag) :
     return None



More information about the cpif mailing list