Fix: instantiate class if needed

Fix: reindent and clean code
This commit is contained in:
Regis Houssin 2011-12-13 10:39:59 +01:00
parent 1e76d296ae
commit 70bccc91ba

View File

@ -154,99 +154,96 @@ function task_prepare_head($object)
*/ */
function select_projects($socid=-1, $selected='', $htmlname='projectid') function select_projects($socid=-1, $selected='', $htmlname='projectid')
{ {
global $db,$user,$conf,$langs; global $db,$user,$conf,$langs;
$hideunselectables = false; $hideunselectables = false;
if (! empty($conf->global->PROJECT_HIDE_UNSELECTABLES)) $hideunselectables = true; if (! empty($conf->global->PROJECT_HIDE_UNSELECTABLES)) $hideunselectables = true;
$projectstatic=new Project($db); $projectsListId = false;
$projectsListId = ''; if (empty($user->rights->projet->all->lire))
if (empty($user->rights->projet->all->lire)) {
{ $projectstatic=new Project($db);
$projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,0,1); $projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,0,1);
} }
// On recherche les projets // On recherche les projets
$sql = 'SELECT p.rowid, p.ref, p.title, p.fk_soc, p.fk_statut, p.public'; $sql = 'SELECT p.rowid, p.ref, p.title, p.fk_soc, p.fk_statut, p.public';
$sql.= ' FROM '.MAIN_DB_PREFIX .'projet as p'; $sql.= ' FROM '.MAIN_DB_PREFIX .'projet as p';
$sql.= " WHERE p.entity = ".$conf->entity; $sql.= " WHERE p.entity = ".$conf->entity;
if ($projectsListId) $sql.= " AND p.rowid in (".$projectsListId.")"; if ($projectsListId) $sql.= " AND p.rowid IN (".$projectsListId.")";
if ($socid == 0) $sql.= " AND (p.fk_soc=0 OR p.fk_soc IS NULL)"; if ($socid == 0) $sql.= " AND (p.fk_soc=0 OR p.fk_soc IS NULL)";
//if ($socid > 0) $sql.= " AND (p.fk_soc=".$socid." OR p.fk_soc='0' OR p.fk_soc IS NULL)"; // We will filter later $sql.= " ORDER BY p.title ASC";
$sql.= " ORDER BY p.title ASC";
dol_syslog("project.lib::select_projects sql=".$sql);
//print $sql; $resql=$db->query($sql);
//var_dump($user->rights); if ($resql)
dol_syslog("project.lib::select_projects sql=".$sql); {
$resql=$db->query($sql); print '<select class="flat" name="'.$htmlname.'">';
if ($resql) print '<option value="0">&nbsp;</option>';
{ $num = $db->num_rows($resql);
print '<select class="flat" name="'.$htmlname.'">'; $i = 0;
print '<option value="0">&nbsp;</option>'; if ($num)
$num = $db->num_rows($resql); {
$i = 0; while ($i < $num)
if ($num) {
{ $obj = $db->fetch_object($resql);
while ($i < $num) // If we ask to filter on a company and user has no permission to see all companies and project is linked to another company, we hide project.
{ if ($socid > 0 && (empty($obj->fk_soc) || $obj->fk_soc == $socid) && ! $user->rights->societe->lire)
$obj = $db->fetch_object($resql); {
// If we ask to filter on a company and user has no permission to see all companies and project is linked to another company, we hide project. // Do nothing
if ($socid > 0 && (empty($obj->fk_soc) || $obj->fk_soc == $socid) && ! $user->rights->societe->lire) }
{ else
// Do nothing {
} $labeltoshow=dol_trunc($obj->ref,16);
else //if ($obj->public) $labeltoshow.=' ('.$langs->trans("SharedProject").')';
{ //else $labeltoshow.=' ('.$langs->trans("Private").')';
$labeltoshow=dol_trunc($obj->ref,16); if (!empty($selected) && $selected == $obj->rowid && $obj->fk_statut > 0)
//if ($obj->public) $labeltoshow.=' ('.$langs->trans("SharedProject").')'; {
//else $labeltoshow.=' ('.$langs->trans("Private").')'; print '<option value="'.$obj->rowid.'" selected="selected">'.$labeltoshow.'</option>';
if (!empty($selected) && $selected == $obj->rowid && $obj->fk_statut > 0) }
{ else
print '<option value="'.$obj->rowid.'" selected="selected">'.$labeltoshow.'</option>'; {
} $disabled=0;
else if (! $obj->fk_statut > 0)
{ {
$disabled=0; $disabled=1;
if (! $obj->fk_statut > 0) $labeltoshow.=' - '.$langs->trans("Draft");
{ }
$disabled=1; if ($socid > 0 && (! empty($obj->fk_soc) && $obj->fk_soc != $socid))
$labeltoshow.=' - '.$langs->trans("Draft"); {
} $disabled=1;
if ($socid > 0 && (! empty($obj->fk_soc) && $obj->fk_soc != $socid)) $labeltoshow.=' - '.$langs->trans("LinkedToAnotherCompany");
{ }
$disabled=1;
$labeltoshow.=' - '.$langs->trans("LinkedToAnotherCompany"); if ($hideunselectables && $disabled)
} {
$resultat='';
if ($hideunselectables && $disabled) }
{ else
$resultat=''; {
} $resultat='<option value="'.$obj->rowid.'"';
else if ($disabled) $resultat.=' disabled="disabled"';
{ //if ($obj->public) $labeltoshow.=' ('.$langs->trans("Public").')';
$resultat='<option value="'.$obj->rowid.'"'; //else $labeltoshow.=' ('.$langs->trans("Private").')';
if ($disabled) $resultat.=' disabled="disabled"'; $resultat.='>'.$labeltoshow;
//if ($obj->public) $labeltoshow.=' ('.$langs->trans("Public").')'; if (! $disabled) $resultat.=' - '.dol_trunc($obj->title,12);
//else $labeltoshow.=' ('.$langs->trans("Private").')'; $resultat.='</option>';
$resultat.='>'.$labeltoshow; }
if (! $disabled) $resultat.=' - '.dol_trunc($obj->title,12); print $resultat;
$resultat.='</option>'; }
} }
print $resultat; $i++;
} }
} }
$i++; print '</select>';
} $db->free($resql);
} return $num;
print '</select>'; }
$db->free($resql); else
return $num; {
} dol_print_error($db);
else return -1;
{ }
dol_print_error($db);
return -1;
}
} }