当前位置: 首页>>代码示例>>PHP>>正文


PHP Task::fetch方法代码示例

本文整理汇总了PHP中Task::fetch方法的典型用法代码示例。如果您正苦于以下问题:PHP Task::fetch方法的具体用法?PHP Task::fetch怎么用?PHP Task::fetch使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Task的用法示例。


在下文中一共展示了Task::fetch方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: handleRequest

 protected function handleRequest(array $request)
 {
     $listId = $request[self::FIELD_LIST_ID];
     $title = $request[self::FIELD_TITLE];
     $description = $request[self::FIELD_DESCRIPTION];
     $beforeId = $request[self::FIELD_BEFORE_TASK_ID];
     if (isset($request[self::FIELD_AFTER_LAST_OPEN])) {
         if ($request[self::FIELD_AFTER_LAST_OPEN]) {
             $beforeId = Task::findNextTaskIdAfterLastOpenTask($listId);
         }
     }
     TasksList::lock($listId);
     $ord = null;
     if ($beforeId) {
         $beforeTask = Task::fetch($beforeId);
         if ($beforeTask->getListId() !== $listId) {
             throw new Exception("Insertion point for a new task is in another list", EndPoint::STATUS_BAD_REQUEST);
         }
         $ord = $beforeTask->getOrd();
         Task::shiftRight($listId, $ord);
     } else {
         $ord = Task::getNextOrd($listId);
     }
     $taskId = Task::create($listId, $ord, $title, $description);
     return array(self::FIELD_TASK_ID => $taskId);
 }
开发者ID:gmaizel,项目名称:taskdimension,代码行数:26,代码来源:create.php

示例2: handleRequest

 protected function handleRequest(array $request)
 {
     $taskId = $request[self::FIELD_TASK_ID];
     $task = Task::fetch($taskId);
     $listId = $task->getListId();
     TasksList::lock($listId);
     Task::erase($taskId);
     Task::shiftLeft($listId, $task->getOrd());
 }
开发者ID:gmaizel,项目名称:taskdimension,代码行数:9,代码来源:delete.php

示例3: getNumberRejectedTasks

 static function getNumberRejectedTasks($userid)
 {
     $task = new Task();
     $qry = 'select count(t.id) as number ' . 'from task t ' . 'where t.userid = ' . $userid . ' and t.status = -1';
     $task->query($qry);
     if ($task->fetch()) {
         $number = $task->number;
     }
     return $number;
 }
开发者ID:Grasia,项目名称:bolotweet,代码行数:10,代码来源:Task.php

示例4: _updateTimeTask

function _updateTimeTask(&$db, $id_task, $fk_user, $ref_task, $duration, $progress, $desc, $label_task, $progress)
{
    global $user;
    $task = new Task($db);
    $task->id = $id_task;
    $task->ref = $ref_task;
    $task->label = $label_task;
    $task->duration_effective = $duration * 3600;
    //duration est en heures dans le webservice et en secondes en bd
    $task->progress = $progress;
    $r = $task->fetch($id_task, $ref_task);
    if ($r > 0) {
        $task->addTimeSpent($user);
    } else {
        exit("taskCantBeFetched =>" . $ref_task);
    }
}
开发者ID:atm-robin,项目名称:kelio,代码行数:17,代码来源:import.php

示例5: visu_project_task

function visu_project_task(&$db, $fk_project_task, $mode, $name)
{
    if (!$fk_project_task) {
        return ' - ';
    }
    require_once DOL_DOCUMENT_ROOT . '/projet/class/task.class.php';
    require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php';
    $projectTask = new Task($db);
    $projectTask->fetch($fk_project_task);
    $link = '<a href="' . DOL_URL_ROOT . '/projet/tasks/task.php?id=' . $fk_project_task . '">' . img_picto('', 'object_projecttask.png') . $projectTask->ref . '</a>';
    if ($projectTask->progress == 0) {
        $imgStatus = img_picto('En attente', 'statut0.png');
    } elseif ($projectTask->progress < 100) {
        $imgStatus = img_picto('En cours', 'statut3.png');
    } else {
        $imgStatus = img_picto('Terminée', 'statut4.png');
    }
    if ($mode == 'edit') {
        $formother = new FormOther($db);
        return $link . ' - ' . $formother->select_percent($projectTask->progress, $name) . ' ' . $imgStatus;
    } else {
        return $link . ' - ' . $projectTask->progress . ' % ' . $imgStatus;
    }
}
开发者ID:ATM-Consulting,项目名称:dolibarr_module_of,代码行数:24,代码来源:of.lib.php

示例6: handleRequest

 protected function handleRequest(array $request)
 {
     $taskId = $request[self::FIELD_TASK_ID];
     $dstListId = $request[self::FIELD_LIST_ID];
     $beforeTaskId = $request[self::FIELD_BEFORE_TASK_ID];
     if (isset($request[self::FIELD_AFTER_LAST_OPEN])) {
         if ($request[self::FIELD_AFTER_LAST_OPEN]) {
             $beforeTaskId = Task::findNextTaskIdAfterLastOpenTask($dstListId);
         }
     }
     $task = Task::fetch($taskId);
     $srcListId = $task->getListId();
     if ($srcListId !== $dstListId) {
         $srcList = TasksList::fetch($srcListId);
         $dstList = TasksList::fetch($dstListId);
         if ($srcList->getProjectId() !== $dstList->getProjectId()) {
             throw new Exception("Insertion point for a task is in another project list", EndPoint::STATUS_BAD_REQUEST);
         }
     }
     TasksList::lock($srcListId, $dstListId);
     if ($beforeTaskId) {
         Task::shiftLeft($srcListId, $task->getOrd());
         if ($beforeTaskId === $taskId) {
             throw new Exception("Can't move task before itself", EmdPoint::STATUS_BAD_REQUEST);
         }
         $beforeTask = Task::fetch($beforeTaskId);
         if ($beforeTask->getListId() !== $dstListId) {
             throw new Exception("Insertion point for a task is not in destination list", EndPoint::STATUS_BAD_REQUEST);
         }
         Task::shiftRight($dstListId, $beforeTask->getOrd());
         Task::updateListAndOrd($taskId, $dstListId, $beforeTask->getOrd());
     } else {
         Task::shiftLeft($srcListId, $task->getOrd());
         Task::updateListAndOrd($taskId, $dstListId, Task::getNextOrd($dstListId));
     }
 }
开发者ID:gmaizel,项目名称:taskdimension,代码行数:36,代码来源:move.php

示例7: foreach

                if ($id > 0) {
                    // We store HOURS in seconds
                    if ($matches[2] == 'hour') {
                        $timespent_duration[$id] += $time * 60 * 60;
                    }
                    // We store MINUTES in seconds
                    if ($matches[2] == 'min') {
                        $timespent_duration[$id] += $time * 60;
                    }
                }
            }
        }
    }
    if (count($timespent_duration) > 0) {
        foreach ($timespent_duration as $key => $val) {
            $task->fetch($key);
            $task->progress = GETPOST($key . 'progress', 'int');
            $task->timespent_duration = $val;
            $task->timespent_fk_user = $user->id;
            $task->timespent_date = dol_mktime(12, 0, 0, $_POST["{$key}month"], $_POST["{$key}day"], $_POST["{$key}year"]);
            $task->addTimeSpent($user);
        }
        setEventMessage($langs->trans("RecordSaved"));
        // Redirect to avoid submit twice on back
        header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $projectid . ($mode ? '&mode=' . $mode : ''));
        exit;
    } else {
        setEventMessage($langs->trans("ErrorTimeSpentIsEmpty"), 'errors');
    }
}
/*
开发者ID:ADDAdev,项目名称:Dolibarr,代码行数:31,代码来源:list.php

示例8: Task

 /**
  *	Function to build a document on disk using the generic odt module.
  *
  *	@param	Commande	$object					Object source to build document
  *	@param	Translate	$outputlangs			Lang output object
  * 	@param	string		$srctemplatepath	    Full path of source filename for generator using a template file
  *	@return	int         						1 if OK, <=0 if KO
  */
 function write_file($object, $outputlangs, $srctemplatepath)
 {
     global $user, $langs, $conf, $mysoc, $hookmanager;
     if (empty($srctemplatepath)) {
         dol_syslog("doc_generic_odt::write_file parameter srctemplatepath empty", LOG_WARNING);
         return -1;
     }
     if (!is_object($outputlangs)) {
         $outputlangs = $langs;
     }
     $sav_charset_output = $outputlangs->charset_output;
     $outputlangs->charset_output = 'UTF-8';
     $outputlangs->load("main");
     $outputlangs->load("dict");
     $outputlangs->load("companies");
     $outputlangs->load("projects");
     if ($conf->projet->dir_output) {
         // If $object is id instead of object
         if (!is_object($object)) {
             $id = $object;
             $object = new Task($this->db);
             $result = $object->fetch($id);
             if ($result < 0) {
                 dol_print_error($this->db, $object->error);
                 return -1;
             }
         }
         $project = new Project($this->db);
         $project->fetch($object->fk_project);
         $dir = $conf->projet->dir_output . "/" . $project->ref . "/";
         $objectref = dol_sanitizeFileName($object->ref);
         if (!preg_match('/specimen/i', $objectref)) {
             $dir .= "/" . $objectref;
         }
         $file = $dir . "/" . $objectref . ".odt";
         if (!file_exists($dir)) {
             print '$dir' . $dir;
             if (dol_mkdir($dir) < 0) {
                 $this->error = $langs->transnoentities("ErrorCanNotCreateDir", $dir);
                 return -1;
             }
         }
         if (file_exists($dir)) {
             //print "srctemplatepath=".$srctemplatepath;	// Src filename
             $newfile = basename($srctemplatepath);
             $newfiletmp = preg_replace('/\\.(ods|odt)/i', '', $newfile);
             $newfiletmp = preg_replace('/template_/i', '', $newfiletmp);
             $newfiletmp = preg_replace('/modele_/i', '', $newfiletmp);
             $newfiletmp = $objectref . '_' . $newfiletmp;
             //$file=$dir.'/'.$newfiletmp.'.'.dol_print_date(dol_now(),'%Y%m%d%H%M%S').'.odt';
             $file = $dir . '/' . $newfiletmp . '.odt';
             //print "newdir=".$dir;
             //print "newfile=".$newfile;
             //print "file=".$file;
             //print "conf->societe->dir_temp=".$conf->societe->dir_temp;
             dol_mkdir($conf->projet->dir_temp);
             $socobject = $object->thirdparty;
             // Make substitution
             $substitutionarray = array('__FROM_NAME__' => $this->emetteur->name, '__FROM_EMAIL__' => $this->emetteur->email);
             complete_substitutions_array($substitutionarray, $langs, $object);
             // Open and load template
             require_once ODTPHP_PATH . 'odf.php';
             try {
                 $odfHandler = new odf($srctemplatepath, array('PATH_TO_TMP' => $conf->projet->dir_temp, 'ZIP_PROXY' => 'PclZipProxy', 'DELIMITER_LEFT' => '{', 'DELIMITER_RIGHT' => '}'));
             } catch (Exception $e) {
                 $this->error = $e->getMessage();
                 return -1;
             }
             // After construction $odfHandler->contentXml contains content and
             // [!-- BEGIN row.lines --]*[!-- END row.lines --] has been replaced by
             // [!-- BEGIN lines --]*[!-- END lines --]
             //print html_entity_decode($odfHandler->__toString());
             //print exit;
             // Make substitutions into odt of user info
             $array_user = $this->get_substitutionarray_user($user, $outputlangs);
             $array_soc = $this->get_substitutionarray_mysoc($mysoc, $outputlangs);
             $array_thirdparty = $this->get_substitutionarray_thirdparty($socobject, $outputlangs);
             $array_objet = $this->get_substitutionarray_object($project, $outputlangs);
             $array_other = $this->get_substitutionarray_other($outputlangs);
             $tmparray = array_merge($array_user, $array_soc, $array_thirdparty, $array_objet, $array_other);
             complete_substitutions_array($tmparray, $outputlangs, $object);
             foreach ($tmparray as $key => $value) {
                 try {
                     if (preg_match('/logo$/', $key)) {
                         if (file_exists($value)) {
                             $odfHandler->setImage($key, $value);
                         } else {
                             $odfHandler->setVars($key, 'ErrorFileNotFound', true, 'UTF-8');
                         }
                     } else {
                         $odfHandler->setVars($key, $value, true, 'UTF-8');
                     }
//.........这里部分代码省略.........
开发者ID:Samara94,项目名称:dolibarr,代码行数:101,代码来源:doc_generic_task_odt.modules.php

示例9: Project

$project=new Project($db);

llxHeader("",$langs->trans("Task"));

$html = new Form($db);

if ($_GET["id"] > 0)
{
	/*
	 * Fiche projet en mode visu
	 */
	$task = new Task($db);
	$projectstatic = new Project($db);
	$userstatic = new User($db);

	if ($task->fetch($_GET["id"]) >= 0 )
	{
		$result=$projectstatic->fetch($task->fk_project);
		if (! empty($projectstatic->socid)) $projectstatic->societe->fetch($projectstatic->socid);

		// To get role of users
		//$userAccess = $projectstatic->restrictedProjectArea($user); // We allow task affected to user even if a not allowed project
		//$arrayofuseridoftask=$task->getListContactId('internal');

		$head=task_prepare_head($task);

		dol_fiche_head($head, 'time', $langs->trans("Task"),0,'projecttask');

		if ($mesg) print $mesg.'<br>';

		if ($_GET["action"] == 'deleteline')
开发者ID:remyyounes,项目名称:dolibarr,代码行数:31,代码来源:time.php

示例10: Task

$object = new Task($db);
$extrafields = new ExtraFields($db);
$projectstatic = new Project($db);
// fetch optionals attributes and labels
$extralabels = $extrafields->fetch_name_optionals_label($object->table_element);
/*
 * Actions
 */
if ($action == 'update' && !$_POST["cancel"] && $user->rights->projet->creer) {
    $error = 0;
    if (empty($_POST["label"])) {
        $error++;
        setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentities("Label")), 'errors');
    }
    if (!$error) {
        $object->fetch($id, $ref);
        $tmparray = explode('_', $_POST['task_parent']);
        $task_parent = $tmparray[1];
        if (empty($task_parent)) {
            $task_parent = 0;
        }
        // If task_parent is ''
        $object->label = $_POST["label"];
        $object->description = $_POST['description'];
        $object->fk_task_parent = $task_parent;
        $object->planned_workload = $planned_workload;
        $object->date_start = dol_mktime($_POST['dateohour'], $_POST['dateomin'], 0, $_POST['dateomonth'], $_POST['dateoday'], $_POST['dateoyear'], 'user');
        $object->date_end = dol_mktime($_POST['dateehour'], $_POST['dateemin'], 0, $_POST['dateemonth'], $_POST['dateeday'], $_POST['dateeyear'], 'user');
        $object->progress = $_POST['progress'];
        // Fill array 'array_options' with data from add form
        $ret = $extrafields->setOptionalsFromPost($extralabels, $object);
开发者ID:ADDAdev,项目名称:Dolibarr,代码行数:31,代码来源:task.php

示例11: shiftTaskDate

 /**
  *    Shift project task date from current date to delta
  *
  *    @param	timestamp		$old_project_dt_start	old project start date
  *    @return	int				1 if OK or < 0 if KO
  */
 function shiftTaskDate($old_project_dt_start)
 {
     global $user, $langs, $conf;
     $error = 0;
     $taskstatic = new Task($this->db);
     // Security check
     $socid = 0;
     if ($user->societe_id > 0) {
         $socid = $user->societe_id;
     }
     $tasksarray = $taskstatic->getTasksArray(0, 0, $this->id, $socid, 0);
     foreach ($tasksarray as $tasktoshiftdate) {
         $to_update = false;
         // Fetch only if update of date will be made
         if (!empty($tasktoshiftdate->date_start) || !empty($tasktoshiftdate->date_end)) {
             //dol_syslog(get_class($this)."::shiftTaskDate to_update", LOG_DEBUG);
             $to_update = true;
             $task = new Task($this->db);
             $result = $task->fetch($tasktoshiftdate->id);
             if (!$result) {
                 $error++;
                 $this->error .= $task->error;
             }
         }
         //print "$this->date_start + $tasktoshiftdate->date_start - $old_project_dt_start";exit;
         //Calcultate new task start date with difference between old proj start date and origin task start date
         if (!empty($tasktoshiftdate->date_start)) {
             $task->date_start = $this->date_start + ($tasktoshiftdate->date_start - $old_project_dt_start);
         }
         //Calcultate new task end date with difference between origin proj end date and origin task end date
         if (!empty($tasktoshiftdate->date_end)) {
             $task->date_end = $this->date_start + ($tasktoshiftdate->date_end - $old_project_dt_start);
         }
         if ($to_update) {
             $result = $task->update($user);
             if (!$result) {
                 $error++;
                 $this->error .= $task->error;
             }
         }
     }
     if ($error != 0) {
         return -1;
     }
     return $result;
 }
开发者ID:ADDAdev,项目名称:Dolibarr,代码行数:52,代码来源:project.class.php

示例12: Form

/*
 * View
 */

llxHeader("",$langs->trans("Task"));

$html = new Form($db);
$formother = new FormOther($db);
$project = new Project($db);

if ($taskid)
{
	$task = new Task($db);
	$projectstatic = new Project($db);

	if ($task->fetch($taskid) >= 0 )
	{
		$result=$projectstatic->fetch($task->fk_project);
		if (! empty($projectstatic->socid)) $projectstatic->societe->fetch($projectstatic->socid);

		// To verify role of users
		//$userAccess = $projectstatic->restrictedProjectArea($user); // We allow task affected to user even if a not allowed project
		//$arrayofuseridoftask=$task->getListContactId('internal');

		if ($mesg) print $mesg;

		$head=task_prepare_head($task);

		dol_fiche_head($head, 'task', $langs->trans("Task"),0,'projecttask');

		if ($_GET["action"] == 'edit' && $user->rights->projet->creer)
开发者ID:remyyounes,项目名称:dolibarr,代码行数:31,代码来源:task.php

示例13:

			if(preg_match("/([0-9]+)(hour|min)/",$key,$matches))
			{
				$id = $matches[1];
				
				// We store HOURS in seconds
				if($matches[2]=='hour') $timespent_duration += $time*60*60;

				// We store MINUTES in seconds
				if($matches[2]=='min') $timespent_duration += $time*60;
			}
 		}
	}
	
	if ($timespent_duration > 0)
	{
		$task->fetch($id);
		$task->timespent_duration = $timespent_duration;
		$task->timespent_fk_user = $user->id;
		$task->timespent_date = dol_mktime(12,0,0,$_POST["{$id}month"],$_POST["{$id}day"],$_POST["{$id}year"]);
		$task->addTimeSpent($user);
	}
	else
	{
		$mesg='<div class="error">'.$langs->trans("ErrorTimeSpentIsEmpty").'</div>';
	}
 }

/*
 * View
 */
开发者ID:remyyounes,项目名称:dolibarr,代码行数:30,代码来源:list.php

示例14: formObjectOptions

    /** Overloading the doActions function : replacing the parent's function with the one below 
     *  @param      parameters  meta datas of the hook (context, etc...) 
     *  @param      object             the object you want to process (an invoice if you are in invoice module, a propale in propale's module, etc...) 
     *  @param      action             current action (if set). Generally create or edit or null 
     *  @return       void 
     */
    function formObjectOptions($parameters, &$object, &$action, $hookmanager)
    {
        global $langs, $db, $conf;
        if ((in_array('ordercard', explode(':', $parameters['context'])) || in_array('propalcard', explode(':', $parameters['context']))) && !empty($conf->of->enabled) && !empty($object->id)) {
            ?>
				<tr>
					<td>Fin de production prévisionnelle</td>
					<td rel="date_fin_prod">
				<?php 
            $is_commande = in_array('ordercard', explode(':', $parameters['context']));
            if ($is_commande) {
                $res = $db->query("SELECT rowid FROM " . MAIN_DB_PREFIX . "assetOf \n\t        \t\tWHERE fk_commande = " . $object->id . " AND status IN ('VALID','OPEN','CLOSE')");
                $TOfId = array();
                while ($obj = $db->fetch_object($res)) {
                    $TOfId[] = $obj->rowid;
                }
                if (!empty($TOfId)) {
                    // l'of existe déjà et est valide
                    $res = $db->query("SELECT MAX(date_estimated_end) as date_estimated_end \n\t\t\t\t\t\t\tFROM " . MAIN_DB_PREFIX . "projet_task t \n\t\t\t\t\t\t\tLEFT JOIN " . MAIN_DB_PREFIX . "projet_task_extrafields tex ON (tex.fk_object=t.rowid)\n\t\t\t\t\t\t\t\tWHERE tex.fk_of IN (" . implode(',', $TOfId) . ")");
                    if ($obj = $db->fetch_object($res)) {
                        $t = strtotime($obj->date_estimated_end);
                        print dol_print_date($t, 'day') . img_info('Temps actuel présent dans l\'ordonnancement. Attention, peut-être revu à tout moment');
                    } else {
                        print 'Pas de tâche ordonnancée ou restant à ordonnancer';
                    }
                } else {
                    print '<a href="javascript:simulOrdo(' . $object->id . ')">Simuler l\'ordonnancement</a>';
                }
            } else {
                print '<a href="javascript:simulOrdo(' . $object->id . ')">Simuler l\'ordonnancement</a>';
            }
            ?>
			<script type="text/javascript">
				function simulOrdo(fk_object) {
					$('td[rel="date_fin_prod"]').html("Patientez svp...");
					$.ajax({
						url:"<?php 
            echo dol_buildpath('/scrumboard/script/interface.php', 1);
            ?>
"
						,data:{
							get:'task-ordo-simulation'
							,fk_object: fk_object
							,type_object : "<?php 
            echo $is_commande ? 'order' : 'propal';
            ?>
"
							
						}
					}).done(function(data) {
						$('td[rel="date_fin_prod"]').html(data+'<?php 
            echo addslashes(img_info('Temps calculé sur base automatique avec un lancement immédiat. Ne peut être qu\'indicatif. Non contractuel'));
            ?>
');
					});
					
				}
				
			</script>
			
			</td>
			</tr>
			<?php 
        } else {
            if (in_array('projectcard', explode(':', $parameters['context']))) {
                if ($object->id > 0) {
                    ?>
				<tr>
					<td>Fin de production prévisionnelle</td>
					<td rel="date_fin_prod">
				<?php 
                    $res = $db->query("SELECT MAX(date_estimated_end) as date_estimated_end \n\t\t\t\t\tFROM " . MAIN_DB_PREFIX . "projet_task t \n\t\t\t\t\tLEFT JOIN " . MAIN_DB_PREFIX . "projet_task_extrafields tex ON (tex.fk_object=t.rowid)\n\t\t\t\t\t\tWHERE t.fk_projet = " . $object->id);
                    if ($obj = $db->fetch_object($res)) {
                        $t = strtotime($obj->date_estimated_end);
                        if ($t != '-62169987208') {
                            print dol_print_date($t, 'day') . img_info('Temps actuel présent dans l\'ordonnancement. Attention, peut-être revu à tout moment');
                        } else {
                            print 'Pas de tâche ordonnancée';
                        }
                    } else {
                        print 'Pas de tâche ordonnancée';
                    }
                    ?>
				</td></tr>
				<?php 
                }
            } else {
                if (in_array('actioncard', explode(':', $parameters['context']))) {
                    $fk_task = 0;
                    if ($action != 'create') {
                        $object->fetchObjectLinked();
                        //var_dump($object->linkedObjectsIds['task']);
                        if (!empty($object->linkedObjectsIds['task'])) {
                            list($key, $fk_task) = each($object->linkedObjectsIds['task']);
//.........这里部分代码省略.........
开发者ID:ATM-Consulting,项目名称:dolibarr_module_scrumboard,代码行数:101,代码来源:actions_scrumboard.class.php

示例15: _tasks_ordo

function _tasks_ordo(&$db, &$TWorkstation, $status, $fk_workstation = 0)
{
    global $conf;
    $sql = "SELECT t.rowid,t.label,t.ref,t.fk_task_parent,t.fk_projet, t.grid_col,t.grid_row,ex.fk_workstation,ex.needed_ressource\n                ,t.planned_workload,t.progress,t.datee,t.dateo,p.fk_soc,t.date_estimated_end";
    if (!empty($conf->asset->enabled)) {
        $sql .= ',ex.fk_product';
    }
    // SCRUM_GROUP_TASK_BY_RAL est la conf qui crée les 2 extrafields au dessous
    if (!empty($conf->global->SCRUM_GROUP_TASK_BY_RAL)) {
        $sql .= ",ex.fk_product_ral";
    }
    $sql .= " FROM " . MAIN_DB_PREFIX . "projet_task t \n        LEFT JOIN " . MAIN_DB_PREFIX . "projet p ON (t.fk_projet=p.rowid)\n        LEFT JOIN " . MAIN_DB_PREFIX . "projet_task_extrafields ex ON (t.rowid=ex.fk_object) ";
    if ($status == 'ideas') {
        $sql .= " WHERE t.progress=0 AND t.datee IS NULL";
    } else {
        if ($status == 'todo') {
            $sql .= " WHERE t.progress=0";
        } else {
            if ($status == 'inprogress|todo') {
                $sql .= " WHERE t.progress>=0 AND t.progress<100 AND t.planned_workload>0";
            } else {
                if ($status == 'inprogress') {
                    $sql .= " WHERE t.progress>0 AND t.progress<100";
                } else {
                    if ($status == 'finish') {
                        $sql .= " WHERE t.progress=100\n        ";
                    }
                }
            }
        }
    }
    $sql .= " AND p.fk_statut IN (0,1)";
    if ($fk_workstation > 0) {
        $sql .= " AND ex.fk_workstation=" . (int) $fk_workstation;
    }
    if (empty($conf->global->SCRUM_ALLOW_ALL_TASK_IN_GRID)) {
        $sql .= " AND ex.grid_use=1 ";
    }
    $sql .= " ORDER BY t.grid_row, t.grid_col ";
    $res = $db->query($sql);
    $TTask = array();
    while ($obj = $db->fetch_object($res)) {
        $fk_workstation = (int) $obj->fk_workstation;
        if (!isset($TWorkstation[$fk_workstation])) {
            continue;
        }
        $workstation = $TWorkstation[$fk_workstation];
        $TUser = array();
        if (!empty($workstation['TUser'])) {
            foreach ($workstation['TUser'] as $idUser => $user) {
                $TUser[$idUser] = array('name' => $user->firstname . ' ' . $user->lastname, 'selected' => 0);
            }
            $task = new Task($db);
            $task->fetch($obj->rowid);
            $TIdContact = $task->getListContactId('internal');
            foreach ($TIdContact as $idContact) {
                $TUser[$idContact]['selected'] = 1;
            }
        }
        $TTask[] = array('status' => $status, 'id' => $obj->rowid, 'fk_projet' => $obj->fk_projet, 'label' => $obj->label, 'ref' => $obj->ref, 'grid_col' => $obj->grid_col, 'grid_row' => $obj->grid_row, 'fk_workstation' => $fk_workstation, 'fk_product' => (int) $obj->fk_product, 'fk_product_ral' => empty($conf->global->SCRUM_GROUP_TASK_BY_RAL) ? 0 : (int) $obj->fk_product_ral, 'fk_task_parent' => (int) $obj->fk_task_parent, 'needed_ressource' => $obj->needed_ressource ? $obj->needed_ressource : 1, 'planned_workload' => $obj->planned_workload / 3600, 'progress' => $obj->progress, 'fk_soc' => $obj->fk_soc, 'TUser' => $TUser, 'date_start' => strtotime($obj->dateo), 'date_end' => strtotime($obj->datee), 'date_estimated_end' => strtotime($obj->date_estimated_end));
    }
    return $TTask;
}
开发者ID:ATM-Consulting,项目名称:dolibarr_module_scrumboard,代码行数:63,代码来源:interface.php


注:本文中的Task::fetch方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。