Olá pessoal, tudo bem?
 
Segui a dica do Jean Rodrigo Ferri, sobre como criar um portlet para a exibição de aniversariantes do mês, no forum do Tchezope.org http://www.tchezope.org/foruns/plone/494868177059 ), consegui criar o portlet de aniversariantes sem problemas.
 

Atualmente, ele mostra TODOS os aniversariantes do mês e como eu tenho uma quantidade de membros bastante grande, às vezes ele mostra mais de 30 membros no portlet e o portlet fica muito grande.

Queria saber como eu faço pra que mostre no Portlet, somente os membros que fizeram aniversário ontem, os que estão fazendo hoje e os que farão amanhã.

É possível fazer isso?

Estou usando exatamente o Page Template e o Script (Python) que ele disponibilizou no forum para download, mas como não entendo muito de python talvez alguem possa me ajudar a fazer isso.

Os dois arquivos estão em anexo, o Page Template e do Script (Python).

 

Se alguem puder me ajudar, eu agradeço muito mesmo!!

Muito Obrigado!

__._,_.___

Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]




Yahoo! Grupos, um serviço oferecido por:
PUBLICIDADE


Links do Yahoo! Grupos

__,_._,___
url:http://intranet.hyck.com/portal_skins/custom/getAniversariantes
meta_type:Script (Python)
title:
auth:Basic d2VibWFzdGVyOndlYm1hc3RlckAjdGkh
cookie:areYourCookiesEnabled=; __ac="d2VibWFzdGVyOndlYm1hc3RlckAjdGkh"

## Script (Python) "getAniversariantes"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=data_inicial=None, limite=None
##title=
##
from DateTime import DateTime

members_tool = context.portal_membership
portal_members = members_tool.listMembers()
resultado = []

for usuario in portal_members:
    dicionario = {}

    dicionario['username'] = usuario.getUserName()
    dicionario['fullname'] = usuario.getProperty('fullname')
    dicionario['email'] = usuario.getProperty('email')

    data_nascimento = usuario.getProperty('data_nascimento')
    data_aniversario = DateTime(data_nascimento).strftime('%m/%d')
    dicionario['data_aniversario'] = data_aniversario
    dicionario['mes_aniversario'] = data_aniversario[0:2]

    resultado.append(dicionario)

resultado.sort(lambda a,b:cmp(a['data_aniversario'],b['data_aniversario']))

# Retorna somente os aniversariantes a partir da data_inicial
if data_inicial is not None:
    resultado_parcial = []
    if len(data_inicial) == 2:
        for item in resultado:
            if item['mes_aniversario'] == data_inicial:
                resultado_parcial.append(item)
    else:
        for item in resultado:
            if item['data_aniversario'] >= data_inicial:
                resultado_parcial.append(item)

    if limite is None:
        return resultado_parcial
    else:
        return resultado_parcial[0:limite]

if limite is None:
    return resultado
else:
    return resultado[0:limite]
url:http://intranet.hyck.com/portal_skins/custom/portlet_aniversariantes meta_type:Page Template title: content_type:text/html auth:Basic d2VibWFzdGVyOndlYm1hc3RlckAjdGkh cookie:areYourCookiesEnabled=; __ac="d2VibWFzdGVyOndlYm1hc3RlckAjdGkh"
Aniversariantes

Responder a