Home Tutoriais dotProject Personalizando o nome real do usuário nas atividades do dotProject
Personalizando o nome real do usuário nas atividades do dotProject PDF Imprimir E-mail


Por padrão o dotProject apresenta o login do usuário nas listas de tarefas , e muitos casos em que o login do usuário não identifica a real pessoa ( nome ) que está vinculado as tarefas do projetos dificultando a identificação dos gestores  dos projetos que administram grades equipes.

A flexibilidade do dotProject devido a seu modelo Open Source permite que personalizamos a visualização desta informação, em muitos casos nossos clientes, que são ambiente de grandes redes de usuários na sua maioria e rodam sistema de LDAP para integração de usuários e senha, e usam como login matrícula do funcionários ou outras numerações devido a quantidade de nomes iguais e semelhantes nos solicitaram que sejam visível na lista de tarefas a nome real do usuário e não o login.

Abaixo um exemplo de visualização com um ambiente de logins não representativos para os gestores de projetos:


Fazendo alguns ajuste podemos apresentar o campo que apresenta o primeiro nome do usuário.

Para fazer isso siga os passos a seguir:

  1. Acesso o local de sua instalação do dotProject o diretório /modules/tasks/
  2. Edite o arquivo tasks.php e procure a linha que tem o comando de montagem do SQL conforme abaixo:

    // pull tasks

    $select = ('distinct tasks.task_id, task_parent, task_name, task_start_date, task_end_date, '
    . 'task_dynamic, task_pinned, pin.user_id as pin_user, task_priority, '

    . 'task_percent_complete, task_duration, task_duration_type, task_project, '

    . 'task_description, task_owner, task_status, usernames.user_username, '

    . 'usernames.user_id, task_milestone, assignees.user_username as assignee_username, '

    . 'count(distinct assignees.user_id) as assignee_count, '

    . 'co.contact_first_name, co.contact_last_name, '

    . 'count(distinct files.file_task) as file_count, '
    . 'if (tlog.task_log_problem IS NULL, 0, tlog.task_log_problem) AS task_log_problem');


  3. Altere este trecho de código pelo bloco de código abaixo onde renomeamos o campo do usuário responsável pela tarefa para o primeiro nome do usuário "first_name"   e com isso não tendo que alterar nenhum outro local do dotProject, veja a alteração em destaque em negrito.

    $select = ('distinct tasks.task_id, task_parent, task_name, task_start_date, task_end_date, '
    . 'task_dynamic, task_pinned, pin.user_id as pin_user, task_priority, '
    . 'task_percent_complete, task_duration, task_duration_type, task_project, '
    . 'task_description, task_owner, task_status, co.contact_first_name as user_username, '
    . 'usernames.user_id, task_milestone, assignees.user_username as assignee_username, '
    . 'count(distinct assignees.user_id) as assignee_count, '
    . 'co.contact_first_name, co.contact_last_name, '
    . 'count(distinct files.file_task) as file_count, '
    . 'if (tlog.task_log_problem IS NULL, 0, tlog.task_log_problem) AS task_log_problem');

  4. Para alterar os usuário vinculados as tarefas do dotProject ( próxima coluna ) deve ser alterado outro bloco de montagem de SQL logo em seguida no mesmo arquivo. procure o bloco abaixo:

    //add information about assigned users into the page output
    $ausql = ('SELECT ut.user_id, u.user_username, contact_email, ut.perc_assignment, '
    . 'SUM(ut.perc_assignment) AS assign_extent, contact_first_name, contact_last_name '
    . 'FROM user_tasks ut LEFT JOIN users u ON u.user_id = ut.user_id '
    . 'LEFT JOIN contacts ON u.user_contact = contact_id '
    . 'WHERE ut.task_id=' . $row['task_id'] . ' GROUP BY ut.user_id '
    . 'ORDER BY ut.perc_assignment desc, u.user_username');


  5. Substitua o bloco de código pelo seguinte bloco , preste a atenção do item alterado em negrito :

        $ausql = ('SELECT ut.user_id,  contact_first_name  as user_username, contact_email, ut.perc_assignment, '
                  . 'SUM(ut.perc_assignment) AS assign_extent, contact_first_name, contact_last_name '
                  . 'FROM user_tasks ut LEFT JOIN users u ON u.user_id = ut.user_id '
                  . 'LEFT JOIN contacts ON u.user_contact = contact_id '
                  . 'WHERE ut.task_id=' . $row['task_id'] . ' GROUP BY ut.user_id '
                  . 'ORDER BY ut.perc_assignment desc, u.user_username');


  6. Salve o arquivo e teste a visualização de suas tarefas no projeto, deve vir algo conforme o exemplo abaixo, veja que agora diferentes dos códigos do login d:

alt


Com isso a visualização do gestor do projeto fica mais clara e objetiva.

A Ambiente Livre Tecnologia é especialista em dotProject  em Soluções em Software Livre, personalizamos o dotProject de acordo com sua necessidade, Solicite treinamento em dotProject , implantação ou consultoria. Estamos localizado em Curitiba e atendemos a todo o brasil com a plataforma de gestão de projetos com dotProject Open Source.


    //add information about assigned users into the page output
    $ausql = ('SELECT ut.user_id,  contact_first_name  as user_username, contact_email, ut.perc_assignment, '
              . 'SUM(ut.perc_assignment) AS assign_extent, contact_first_name, contact_last_name '
              . 'FROM user_tasks ut LEFT JOIN users u ON u.user_id = ut.user_id '
              . 'LEFT JOIN contacts ON u.user_contact = contact_id '
              . 'WHERE ut.task_id=' . $row['task_id'] . ' GROUP BY ut.user_id '
              . 'ORDER BY ut.perc_assignment desc, u.user_username');

 
Copyright © 2012 Ambiente Livre Tecnologia - Soluções em Software Livre. Todos os direitos reservados.
Joomla! é um Software Livre com licença GNU/GPL v2.0.
 
Banner
Banner