segunda-feira, 16 de julho de 2007

Pylons: conhecendo aplicando

Tomei a coragem de escrever um post sobre Pylons, mas ao contrário do que disse numa outra oportunidade, não vou fazer o exemplo do livro de receitas. Tomo por base para este post e outros, uma aplicação de gestão de férias de empregados. Algumas coisas me influenciaram a escolher esse tipo de sistema, mas o principal é a raridade de encontrar exemplo parecido.

Outra diferença importante será o fato de não expor o código completo nos posts. Gostaria de colocar somente os mais importantes. O código-fonte está disponível aqui.

Análise de Requisitos

Queremos que o empregado possa acessar a aplicação via navegador web para solicitar suas férias. Ele pode marcá-las para no mínimo 20 dias após o pedido. Ainda pode sugerir duas datas para que o seu chefe imediato possa escolher a mais adequada. Essas datas precisam ter uma distância de pelo menos 15 dias corridos.

O empregado tem a opção de informar se deseja vender um terço das férias ou toda ela para receber em troca o bônus pecuniário.

As férias podem ser parceladas na seguinte forma: duas parcelas de 15 dias ou uma de 10 mais outra de 20 dias. Caso venda parte de suas férias não haverá parcelamento.

O parcelamento também é uma sugestão do empregado. O seu gerente é quem toma a decisão final.

Uma solicitação só pode ser aceita caso não haja uma anterior pendente. O sistema deve avisar com antecedência de um mês para o gerente do empregado que uma solicitação está a um mês para alcançar a data do início do período de férias mais próximo que o usuário pediu. Quando esta data chegar o sistema avisará novamente quando aproximar-se a segunda sugestão.

O gerente quando for atender uma solicitação deve ter em conta quais empregados já possuem férias para serem gozadas nas datas sugeridas pelo empregado. O sistema deve mostrar isso.

Após haver a possibilidade de férias em uma das datas, o próximo passo será verificar a possibilidade de compra das férias. Caso haja e se for total, essa opção será marcada. O empregado receberá seu abono na folha de pagamento seguinte à primeira data de sugestão. Caso seja a terça parte, o sistema registrará a data de início e fim em 20 dias corridos.

Não havendo possibilidade de venda ou o gerente não querendo comprar, resta saber se haverá parcelamento ou não. Fica a critério do gerente usar as datas sugeridas para parcelar ou somente uma delas.

Ao fechar o pedido de solicitação do empregado, estas férias estarão em estado de espera de gozo. O empregado não poderá fazer uma nova solicitação até o proximo ano ou até que tenha gozado. Além do mais, a nova solicitação será para o período de seguinte.

O sistema ainda poderá informar ao empregado, ao logar-se no sistema, que estará a ponto de acumular três férias sem gozar. Caso ocorra essa acumulação, automaticamente o período de férias mais antigo será prescrevido.

O projeto

O projeto será construído usando o framework Pylons e por isso dei o nome para ele de Ferlons, uma junção de férias e Pylons. Os formulários serão simples porém escolherei um template visualmente agradável na web para animar as coisas.

Pré-requisitos

Saber um pouquinho de Python, possuir a versão 2.4 ou 2.5 da linguagem instalada na máquina e a biblioteca do SQLite (claro, você poder usar o MySQL ou o PostgreSQL). Os comandos abaixo instalam o Pylons e o SQLAlchemy.


easy_install Pylons SQLAlchemy


Caso não tenha o easy_install na sua máquina acesse a página de downloads do Pylons para explicações.

Acompanhem os próximos posts onde cuidarei de mostrar um pouco mais. Possivelmente o uso do AuthKit.
blog comments powered by Disqus