'''
Created on 21/nov/2010
@author: placava
'''
from mod_python import psp
from mod_python.Session import Session
from piergiuseppe82.guestbook.model.Dedica import Dedica
from piergiuseppe82.guestbook.model.dao.DedicaDao import DedicaDao
import logging
__DEFAULT_CONTENT_TYPE__ = "text/html"
__MESSAGES__ = 'messages'
__NICKNAME__ = 'nickname'
__DEDICA__ = 'dedica'
__LISTA_DEDICHE__ = 'lista_dediche'
__NICKNAME_SESSION_KEY__ = 'nickname'
__NON_NICKNAME_MESSAGE__ = 'Torna alla home e inserisci prima il nickname.'
__CAMPI_MANCANTI_MESSAGE__ = 'devi completare i campi.'
logging.basicConfig(level=logging.DEBUG
,format='%(asctime)s [[%(levelname)s]] - %(module)s : %(lineno)d - %(message)s'
,datefmt='%d %b %y %H:%M'
,filename='/var/www/log/guestbook.log'
,filemode='a')
def index(req):
session = Session(req)
nickname = None
logging.debug("Chiamato index")
req.content_type = __DEFAULT_CONTENT_TYPE__
if req.form.has_key(__NICKNAME_SESSION_KEY__):
session[__NICKNAME_SESSION_KEY__] = req.form[__NICKNAME_SESSION_KEY__]
nickname = req.form['nickname']
else:
try:
nickname = session[__NICKNAME_SESSION_KEY__]
except:
pass
session.save()
template = psp.PSP(req, filename='psp/index.psp')
template.run({__NICKNAME__:nickname})
def nuova_dedica(req):
logging.debug("Chiamato nuova_dedica")
session = Session(req)
req.content_type = __DEFAULT_CONTENT_TYPE__
template = psp.PSP(req, filename='psp/newDedica.psp')
messages = None
nickname = None
try:
nickname = session[__NICKNAME_SESSION_KEY__]
except:
pass
if not nickname:
template = psp.PSP(req, filename='psp/messages.psp')
messages = __NON_NICKNAME_MESSAGE__
template.run({__NICKNAME__:nickname,__MESSAGES__:messages})
def salva_dedica(req,nickname,email,dedica):
logging.debug("Chiamato salva_dedica")
messages = None
dediche = None
session = Session(req)
req.content_type = __DEFAULT_CONTENT_TYPE__
template = psp.PSP(req, filename='psp/listaDediche.psp')
if not(nickname and email and dedica):
template = psp.PSP(req, filename='psp/messages.psp')
messages = __CAMPI_MANCANTI_MESSAGE__
else:
dedica = Dedica(nickname = nickname, email=email,messaggio=dedica)
dedicadao = DedicaDao()
dedicadao.insert(dedica);
dediche = dedicadao.findAll();
template.run({__LISTA_DEDICHE__:dediche,__NICKNAME__:session[__NICKNAME_SESSION_KEY__],__MESSAGES__:messages})
def nuovo_nick(req):
logging.debug("Chiamato nuovo_nick")
session = Session(req)
session.delete()
template = psp.PSP(req, filename='psp/index.psp')
req.content_type = __DEFAULT_CONTENT_TYPE__
template.run({__NICKNAME__:None})
def lista_dediche(req):
logging.debug("Chiamato lista_dedica")
dedicadao = DedicaDao()
dediche = dedicadao.findAll();
template = psp.PSP(req, filename='psp/listaDediche.psp')
req.content_type = __DEFAULT_CONTENT_TYPE__
template.run({__LISTA_DEDICHE__:dediche})
def elimina_dedica(req,id):
logging.debug("Chiamato elimina_dedica")
if id:
dedicadao = DedicaDao()
dedicadao.delete(int(id));
dediche = dedicadao.findAll()
template = psp.PSP(req, filename='psp/listaDediche.psp')
req.content_type = __DEFAULT_CONTENT_TYPE__
template.run({__LISTA_DEDICHE__:dediche})
def edit_dedica(req,id):
logging.debug("Chiamato edit_dedica")
dedicadao = DedicaDao()
req.content_type = __DEFAULT_CONTENT_TYPE__
if id:
dedicadao = DedicaDao()
dedica = dedicadao.findById(int(id));
template = psp.PSP(req, filename='psp/editDedica.psp')
template.run({__DEDICA__:dedica})
else:
dediche = dedicadao.findAll()
template = psp.PSP(req, filename='psp/listaDediche.psp')
req.content_type = __DEFAULT_CONTENT_TYPE__
template.run({__LISTA_DEDICHE__:dediche})
def aggiorna_dedica(req,id,nickname,email,dedica):
logging.debug("Chiamato salva_dedica")
messages = None
req.content_type = __DEFAULT_CONTENT_TYPE__
template = psp.PSP(req, filename='psp/listaDediche.psp')
if not(id and nickname and email and dedica):
template = psp.PSP(req, filename='psp/messages.psp')
messages = __CAMPI_MANCANTI_MESSAGE__
dedica = Dedica(id = int(id),nickname = nickname, email=email,messaggio=dedica)
dedicadao = DedicaDao()
dedicadao.update(dedica);
dediche = dedicadao.findAll();
template.run({__LISTA_DEDICHE__:dediche,__MESSAGES__:messages})