Home Tutoriais dotProject Personalizando o nome real do usuário responsável na visualização de projetos
Personalizando o nome real do usuário responsável na visualização de projetos PDF Imprimir E-mail


Por padrão o dotProject apresenta o login do usuário responsável nas listas de projetos , 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.


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/projects/
  2. Edite o arquivo projects.class.php e procure a linha que tem o comando de montagem do SQL conforme abaixo:

        $q->addTable('projects', 'p');
        $q->addQuery('p.project_id, p.project_status, p.project_color_identifier, p.project_type'
                     . ', p.project_name, p.project_description, p.project_start_date'
                     . ', p.project_end_date, p.project_color_identifier, p.project_company'
                     . ', p.project_status, p.project_priority, com.company_name'
                     . ', com.company_description, tc.critical_task, tc.project_actual_end_date'
                     . ', if (tp.task_log_problem IS NULL, 0, tp.task_log_problem) AS task_log_problem'
                     . ', tt.total_tasks, tsy.my_tasks, ts.project_percent_complete'
                     . ', ts.project_duration,  u.user_username');
        $q->addJoin('companies', 'com', 'p.project_company = com.company_id');
        $q->addJoin('users', 'u', 'p.project_owner = u.user_id');
        $q->addJoin('tasks_critical', 'tc', 'p.project_id = tc.task_project');
        $q->addJoin('tasks_problems', 'tp', 'p.project_id = tp.task_project');
        $q->addJoin('tasks_sum', 'ts', 'p.project_id = ts.task_project');
        $q->addJoin('tasks_total', 'tt', 'p.project_id = tt.task_project');
        $q->addJoin('tasks_summy', 'tsy', 'p.project_id = tsy.task_project');   

  3. Altere este trecho de código pelo bloco de código abaixo onde renomeamos o campo do usuário responsável pelo projeto 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.

        $q->addTable('projects', 'p');
        $q->addQuery('p.project_id, p.project_status, p.project_color_identifier, p.project_type'
                     . ', p.project_name, p.project_description, p.project_start_date'
                     . ', p.project_end_date, p.project_color_identifier, p.project_company'
                     . ', p.project_status, p.project_priority, com.company_name'
                     . ', com.company_description, tc.critical_task, tc.project_actual_end_date'
                     . ', if (tp.task_log_problem IS NULL, 0, tp.task_log_problem) AS task_log_problem'
                     . ', tt.total_tasks, tsy.my_tasks, ts.project_percent_complete'
                     . ', ts.project_duration, c.contact_first_name as user_username'); // altere está linha
        $q->addJoin('companies', 'com', 'p.project_company = com.company_id');
        $q->addJoin('users', 'u', 'p.project_owner = u.user_id');
        $q->addJoin('contacts', 'c', 'u.user_contact = c.contact_id'); // adicione esta linha
        $q->addJoin('tasks_critical', 'tc', 'p.project_id = tc.task_project');
        $q->addJoin('tasks_problems', 'tp', 'p.project_id = tp.task_project');
        $q->addJoin('tasks_sum', 'ts', 'p.project_id = ts.task_project');
        $q->addJoin('tasks_total', 'tt', 'p.project_id = tt.task_project');
        $q->addJoin('tasks_summy', 'tsy', 'p.project_id = tsy.task_project');   

Com isso a visualização do gestor do projeto fica mais clara e objetiva conforme imagem abaixo onde o responsável pelo projeto é o usuário Marcio.

alt




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