Sistema de Ponto

A Colivre e a SaferNet Brasil utilizam o PHP Timeclock para gerir a carga horária (em sede) de seus membros.

Aqui disponibilizamos nossa solução e a melhoria que implementamos para que o ponto não seja mais uma chateação relegada ao esquecimento. wink

Primeiramente, o PHP Timeclock foi instalado conforme as orientações em seu site. Editamos as configurações para que a data fosse apresentada no formato europeu (é o que nós brasileiros usamos) e a senha fosse obrigatória (...não por desconfiança, já que tanto a Colivre quanto a SaferNet são compostas de hackers e nada além do senso ético nos impediria de mudar horários uns dos outros nesse sisteminha fuleiro), para que um não selecionasse o nome do outro por engano na entrada ou saida.

Em seguida os usuários foram criados no Timeclock, com o mesmo login do LTSP (...LTSP significa Linux Terminal Server Project. Ele permite que várias máquinas pébas (sem hd, pouca memória e processamento…) sejam usadas como terminais de um servidor mais parrudo, reduzindo custos administrativos e de maquinário. Quando digo "login no LTSP" quero dizer o nome de usuário no servidor LTSP, que é um usuário normal e válido para qualquer estação nos ambientes de trabalho das duas instituições.), para facilitar o registro automatizado no momento do login nas estações LTSP.

A intrface do PHP Timeclock é bem simples, e o ponto é marcado com o mínimo de burocracia. A idéia foi bem implementada, mas ainda exige a visita de uma página para registrar entradas e saídas:
PHP Timeclock

Para automatizar o registro do ponto foi criado o script ponto (em /usr/local/bin/ponto) que cria janelas Zenity para interagir amigavelmente com o usuário.

O script aceita 3 argumentos, todos opcionais, mas devem ser informados em ordem.
$ ponto [[[<usuário> [<opção> [<URL do Timeclock>]]]

Por exemplo, se Aurium não tiver registrado sua entrada, o comando
$ ponto aurium in
apresentará uma janela como esta pedindo a senha para registrar sua entrada:

O script assume os seguintes valores padrão:
  • usuário = $USER
  • URL = http://ponto

Se a opção não for informada uma janela extra permitirá que o usuário faça a escolha. Apenas com o comando $ ponto a primeira janela apresentada é esta:

Se o usuário tentar registrar uma nova entrada quando já estiver dentro ou uma saída sem ter registrado entrada o script previne o registro e dá o aviso:

O usuário pode marcar duas entradas sem saída diretamente pela interface oficial do Timeclock se realmente quiser.

Ok, e como isso ajuda o usuário a marcar seu ponto?

Adicione a linha abaixo no arquivo /etc/profile:
ponto $USER in &
Agora toda vez que um usuário logar no na máquina (...no caso do LTSP, isso vale para qualquer maquina cliente), lhe será apresentada a janela de senha para registrar sua entrada no Timeclock.

Agora ninguém esquece. wink

E para a saída?

Bem, não consegui uma solução mais direta, mas o que importa é que é igualmente simples para o usuário marcar sua saída no momento do logout. Para isso precisamos criar um pequeno script e editar o menu do XFCE.

Primeiramente, crie o script /usr/local/bin/xfce4-ponto-logout :
#!/bin/bash
ponto $USER out
xfce4-session-logout
Esse script já é válido para todos os usuáris da máquina.

Agora para cada usuário edite o menu do XFCE, marque a ação "Sair" original como oculta e crie uma nova com o comando xfce4-ponto-logout :

Com essa modificação quando o usuário clicar em "Sair" lhe será apresentada a janela para registrar sua saída no Timeclock antes da janela de confirmação do logout.

E para quem trabalha com seu próprio laptop?

Sem problema, baixe o script ponto e salve em seu /usr/local/bin/.

No contexto do laptop pessoal fica estranho chamar o script ponto no login e logout, tanto por seu uso doméstico quanto pelo fato de que preferimos hibernar a fazer logout. Sendo assim o melhor é criar um botão de atalho na barra do ambiente desktop. No caso do XFCE, clique com o botão direito na barra, clique em "Adicionar novo ítem" e crie um lançador:

…em sua configuração coloque o comando ponto sem argumentos caso seu usuário no laptop seja o mesmo do Timeclock:

Agora basta clicar no lançador sempre que quiser registrar sua entrada ou saída. Esse lançador é útil também para usuários do LTSP porque permite marcar saída para almoço, dentre outras opções uteis para quem gosta de ser detalhista.

Se for preciso informar seu usuário no Timeclock e uma URL diferente da padrão, use o seguinte comando:
ponto zezinho ” http://192.168.0.2/timeclock


É claro que o script ponto funciona com GNOME, KDE e etc, mas você mesmo pode fazer o tutorial para esses outros ambientes. wink
Topic revision: r1 - 05 Jul 2008, UnknownUser
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Wiki-Colivre? Send feedback