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.
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:
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.
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.