<?php
/**
* Copyright (C) 2013 Vitaliy Pylypiv <vitaliy.pylypiv@gmail.com>
- * Copyright 2016, Stéphane-Eymeric Bredtthauer - TrivialDev
+ * Copyright 2016, Stéphane-Eymeric Bredthauer - TrivialDev
*
* This file is part of FusionForge.
*
* Initialize a task board
*/
function &taskboard_init($group_id) {
+ $Group = group_get_object($group_id);
db_begin();
$res = db_query_params('INSERT INTO plugin_taskboard(group_id) VALUES($1)', array($group_id));
if (!$res) {
- $this->setError(db_error());
+ $Group->setError(db_error());
db_rollback();
return false;
}
db_rollback();
return false;
}
- $Group = group_get_object($group_id);
if (!$Group) {
db_rollback();
return false;
*/
var $data_array;
- function TaskBoard($Group, $data = false) {
+ function __construct($Group, $data = false) {
parent::__construct();
if (!$Group || !is_object($Group)) {
$this->setError(_('Invalid Project'));
* @return array
*/
function getUserStories($release = NULL, $assigned_to = NULL) {
- $stories=array(
+ $stories = array(
'0' => array(
'id' => 0,
'title' => _('Unlinked tasks'),
$tasks_trackers = $this->getUsedTrackersData();
foreach($tasks_trackers as $tasks_tracker_data) {
$tasks = $this->TrackersAdapter->getTasks($tasks_tracker_data['group_artifact_id'], $assigned_to, NULL, NULL);
+ if (!$tasks) {
+ $this->setError($this->TrackersAdapter->getErrorMessage());
+ return false;
+ }
foreach($tasks as $task) {
$task_maped = $this->getMappedTask($task);
if ($task_maped['user_story']==0) {
$efd = $story ->getExtraFieldData();
$stories[$story->getID()]['order'] = $efd[$user_stories_sort_extra_field_id];
} else {
- //sort by GF priority if another field for sorting is not defined
+ //sort by FF priority if another field for sorting is not defined
$stories[$story->getID()]['order'] = $stories[$story->getID()]['priority'];
}
foreach($tasks_trackers as $tasks_tracker_data) {
$tasks = $this->TrackersAdapter->getTasks($tasks_tracker_data['group_artifact_id'], $assigned_to, NULL, $story->getID());
foreach($tasks as $task) {
- $stories[$story->getID()]['tasks'][] = $this->getMappedTask($task);;
+ $stories[$story->getID()]['tasks'][] = $this->getMappedTask($task);
}
}
}
$ret['id'] = $task->getID();
$ret['title'] = $task->getSummary();
$ret['description'] = str_replace("\n", '<br>', util_gen_cross_ref($task->getDetails(),$this->Group->getID()) );
- $ret['assigned_to'] = $task->getAssignedRealName();
+ $ret['assigned_to'] = util_display_user($task->getAssignedUnixName(), $task->getAssignedTo(), $task->getAssignedRealName());
$ret['priority'] = $task->getPriority();
foreach( $ef_mapping as $k => $f){
$ret[$k] = '';
$ret['url'] = $this->TrackersAdapter->getTaskUrl($task);
- $params = array('user_id' => $task->getAssignedTo(), 'size' => 's', 'content' => '');
- plugin_hook_by_reference("user_logo", $params);
- if ($params['content']) {
- $ret['assigned_to_face'] = $params['content'];
- } else {
- $ret['assigned_to_face'] = '';
- }
-
return $ret;
}