<?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 false;
}
if ($Group->isError()) {
- $this->setError(_('Taskboard')._(': ').$Group->getErrorMessage());
+ $this->setError(_('Task Board')._(': ').$Group->getErrorMessage());
return false;
}
$user_stories_reference_field, $user_stories_sort_field, $first_column_by_default)
);
if (!$res) {
- $this->setError(_('Cannot create taskboard'));
+ $this->setError(_('Cannot create Task Board'));
$ret = false;
} else {
$this->data_array['taskboard_id'] = db_insertid($res,'plugin_taskboard','taskboard_id');
}
if( count($trackers) == 0 && !$updateOnlyName) {
- $this->setError(_('Taskboard must be linked at least to one tracker'));
+ $this->setError(_('Task Board must be linked at least to one tracker'));
return false;
}
);
}
if (!$res) {
- $this->setError(_('Cannot update taskboard'));
+ $this->setError(_('Cannot update Task Board'));
$ret = false;
} else {
$this->fetchData();
function delete() {
$res = db_query_params('DELETE FROM plugin_taskboard WHERE taskboard_id = $1', array($this->getID()));
if (!$res) {
- $this->setError(_('Taskboard')._(': ')._('Cannot delete taskboard'));
+ $this->setError(_('Task Board')._(': ')._('Cannot delete Task Board'));
return false;
}
return true;
}
$res = db_query_params('SELECT * FROM plugin_taskboard WHERE taskboard_id=$1', array($taskboard_id));
if (!$res || db_numrows($res) < 1) {
- $this->setError(_('Taskboard')._(': ')._('Invalid TaskBoardID'));
+ $this->setError(_('Task Board')._(': ')._('Invalid TaskBoardID'));
return false;
}
$this->data_array = db_fetch_array($res);
function getUsedTrackersIds() {
$res = db_query_params('SELECT * FROM plugin_taskboard_trackers WHERE taskboard_id = $1', array ($this->getID()));
if (!$res) {
- $this->setError(_('Taskboard')._(': ')._('Cannot get list of used trackers.'));
+ $this->setError(_('Task Board')._(': ')._('Cannot get list of used trackers.'));
return false;
}
function getUsedTrackersData() {
$res = db_query_params('SELECT * FROM plugin_taskboard_trackers WHERE taskboard_id = $1', array ($this->getID()));
if (!$res) {
- $this->setError(_('Taskboard')._(': ')._('Cannot get list of used trackers.'));
+ $this->setError(_('Task Board')._(': ')._('Cannot get list of used trackers.'));
return false;
}
function cleanUsedTrackers() {
$res = db_query_params('DELETE FROM plugin_taskboard_trackers WHERE taskboard_id = $1', array ($this->getID()));
if (!$res) {
- $this->setError(_('Taskboard')._(': ')._('Cannot empty list of used trackers.'));
+ $this->setError(_('Task Board')._(': ')._('Cannot empty list of used trackers.'));
return false;
}
function addUsedTracker($tracker_id, $bgcolor='') {
$res = db_query_params('INSERT INTO plugin_taskboard_trackers(taskboard_id, group_artifact_id, card_background_color) VALUES($1, $2, $3)', array($this->getID(), $tracker_id, $bgcolor));
if (!$res) {
- $this->setError(_('Taskboard')._(': ')._('Cannot add used tracker'));
+ $this->setError(_('Task Board')._(': ')._('Cannot add used tracker'));
return false;
}
function updateUsedTracker($tracker_id, $bgcolor = '') {
$res = db_query_params('UPDATE plugin_taskboard_trackers SET card_background_color = $1 WHERE group_artifact_id = $2', array($bgcolor, $tracker_id));
if (!$res) {
- $this->setError(_('Taskboard')._(': ')._('Cannot update used tracker'));
+ $this->setError(_('Task Board')._(': ')._('Cannot update used tracker'));
return false;
}
function deleteUsedTracker($tracker_id) {
$res = db_query_params('DELETE FROM plugin_taskboard_trackers WHERE group_artifact_id = $1', array($tracker_id));
if (!$res) {
- $this->setError(_('Taskboard')._(': ')._('Cannot delete used tracker'));
+ $this->setError(_('Task Board')._(': ')._('Cannot delete used tracker'));
return false;
}
* @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;
}
function getColumns() {
$res = db_query_params('SELECT * FROM plugin_taskboard_columns WHERE taskboard_id=$1 ORDER BY order_num', array ($this->getID()));
if (!$res) {
- $this->setError(_('Taskboard')._(': ')._('Cannot get list of columns.'));
+ $this->setError(_('Task Board')._(': ')._('Cannot get list of columns.'));
return false;
}
function getReleases() {
$res = db_query_params('SELECT * FROM plugin_taskboard_releases WHERE taskboard_id = $1 ORDER BY start_date, end_date', array($this->getID()));
if (!$res) {
- $this->setError(_('Taskboard')._(': ')._('Cannot get list of releases.'));
+ $this->setError(_('Task Board')._(': ')._('Cannot get list of releases.'));
return false;
}
)
);
if (!$res) {
- $this->setError(_('Taskboard')._(': ')._('Cannot get current release.'));
+ $this->setError(_('Task Board')._(': ')._('Cannot get current release.'));
return false;
} else {
$row = db_fetch_array($res);
array($this->getID())
);
if (!$res) {
- $this->setError(_('Taskboard')._(': ')._('Cannot get used resolutions'));
+ $this->setError(_('Task Board')._(': ')._('Cannot get used resolutions'));
return false;
}