|
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: - Acesso o local de sua instalação do dotProject o diretório /modules/projects/
- 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');
- 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. 
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');
|