Fix: bug #16281 : création action impossible dans une fiche fournisseur
This commit is contained in:
parent
c2fed80874
commit
6957c80433
@ -64,39 +64,6 @@ if (!$user->rights->commercial->client->voir && $socid && !$user->societe_id > 0
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* TODO RODO
|
|
||||||
if ($action == 'stcomm')
|
|
||||||
{
|
|
||||||
if ($stcommid <> 'null' && $stcommid <> $oldstcomm)
|
|
||||||
{
|
|
||||||
$sql = "INSERT INTO socstatutlog (datel, fk_soc, fk_statut, author) ";
|
|
||||||
$sql .= " VALUES ('$dateaction',$socid,$stcommid,'" . $user->login . "')";
|
|
||||||
$result = @$db->query($sql);
|
|
||||||
|
|
||||||
if ($result)
|
|
||||||
{
|
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."societe SET fk_stcomm=$stcommid WHERE idp=$socid";
|
|
||||||
$result = $db->query($sql);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$errmesg = "ERREUR DE DATE !";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($actioncommid)
|
|
||||||
{
|
|
||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."actioncomm (datea, fk_action, fk_soc, fk_user_author) VALUES ('$dateaction',$actioncommid,$socid,'" . $user->id . "')";
|
|
||||||
$result = @$db->query($sql);
|
|
||||||
|
|
||||||
if (!$result)
|
|
||||||
{
|
|
||||||
$errmesg = "ERREUR DE DATE !";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Recherche
|
* Recherche
|
||||||
*
|
*
|
||||||
|
|||||||
@ -29,6 +29,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
require('./pre.inc.php');
|
require('./pre.inc.php');
|
||||||
|
require_once(DOL_DOCUMENT_ROOT."/contact.class.php");
|
||||||
|
|
||||||
$langs->load('suppliers');
|
$langs->load('suppliers');
|
||||||
$langs->load('products');
|
$langs->load('products');
|
||||||
@ -36,18 +37,20 @@ $langs->load('bills');
|
|||||||
$langs->load('orders');
|
$langs->load('orders');
|
||||||
$langs->load('companies');
|
$langs->load('companies');
|
||||||
|
|
||||||
|
// Sécurité accés client
|
||||||
$socid = isset($_GET["socid"])?$_GET["socid"]:'';
|
$socid = isset($_GET["socid"])?$_GET["socid"]:'';
|
||||||
|
|
||||||
if ($socid == '') accessforbidden();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Sécurité accés client
|
|
||||||
*/
|
|
||||||
if ($user->societe_id > 0)
|
if ($user->societe_id > 0)
|
||||||
{
|
{
|
||||||
$action = '';
|
$action = '';
|
||||||
$socid = $user->societe_id;
|
$socid = $user->societe_id;
|
||||||
}
|
}
|
||||||
|
if ($socid == '') accessforbidden();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Actions
|
||||||
|
*/
|
||||||
|
|
||||||
// Protection restriction commercial
|
// Protection restriction commercial
|
||||||
if (!$user->rights->commercial->client->voir && $socid && !$user->societe_id > 0)
|
if (!$user->rights->commercial->client->voir && $socid && !$user->societe_id > 0)
|
||||||
@ -328,7 +331,7 @@ if ( $societe->fetch($socid) )
|
|||||||
print '<a class="tabAction" href="'.DOL_URL_ROOT.'/fourn/facture/fiche.php?action=create&socid='.$societe->id.'">'.$langs->trans("AddBill").'</a>';
|
print '<a class="tabAction" href="'.DOL_URL_ROOT.'/fourn/facture/fiche.php?action=create&socid='.$societe->id.'">'.$langs->trans("AddBill").'</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
print '<a class="butAction" href="action/fiche.php?action=create&socid='.$objsoc->id.'">'.$langs->trans("AddAction").'</a>';
|
print '<a class="butAction" href="'.DOL_URL_ROOT.'/comm/action/fiche.php?action=create&socid='.$societe->id.'">'.$langs->trans("AddAction").'</a>';
|
||||||
|
|
||||||
if ($user->rights->societe->contact->creer)
|
if ($user->rights->societe->contact->creer)
|
||||||
{
|
{
|
||||||
@ -399,6 +402,219 @@ if ( $societe->fetch($socid) )
|
|||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
|
print '</table>';
|
||||||
|
print '<br>';
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Listes des actions a faire
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
print '<table width="100%" class="noborder">';
|
||||||
|
print '<tr class="liste_titre"><td colspan="10"><a href="action/index.php?socid='.$societe->id.'">'.$langs->trans("ActionsToDo").'</a></td><td align="right"> </td></tr>';
|
||||||
|
|
||||||
|
$sql = "SELECT a.id, a.label, ".$db->pdate("a.datea")." as da, c.code as acode, c.libelle, u.code, a.propalrowid, a.fk_user_author, fk_contact, u.rowid ";
|
||||||
|
$sql .= " FROM ".MAIN_DB_PREFIX."actioncomm as a, ".MAIN_DB_PREFIX."c_actioncomm as c, ".MAIN_DB_PREFIX."user as u ";
|
||||||
|
$sql .= " WHERE a.fk_soc = ".$societe->id;
|
||||||
|
$sql .= " AND u.rowid = a.fk_user_author";
|
||||||
|
$sql .= " AND c.id=a.fk_action AND a.percent < 100";
|
||||||
|
$sql .= " ORDER BY a.datea DESC, a.id DESC";
|
||||||
|
|
||||||
|
$result=$db->query($sql);
|
||||||
|
if ($result)
|
||||||
|
{
|
||||||
|
$i = 0 ;
|
||||||
|
$num = $db->num_rows($result);
|
||||||
|
$var=true;
|
||||||
|
|
||||||
|
while ($i < $num)
|
||||||
|
{
|
||||||
|
$var = !$var;
|
||||||
|
|
||||||
|
$obj = $db->fetch_object($result);
|
||||||
|
print "<tr $bc[$var]>";
|
||||||
|
|
||||||
|
if ($oldyear == strftime("%Y",$obj->da) )
|
||||||
|
{
|
||||||
|
print '<td width="30" align="center">|</td>';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print '<td width="30" align="center">'.strftime("%Y",$obj->da)."</td>\n";
|
||||||
|
$oldyear = strftime("%Y",$obj->da);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($oldmonth == strftime("%Y%b",$obj->da) )
|
||||||
|
{
|
||||||
|
print '<td width="30" align="center">|</td>';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print '<td width="30" align="center">' .strftime("%b",$obj->da)."</td>\n";
|
||||||
|
$oldmonth = strftime("%Y%b",$obj->da);
|
||||||
|
}
|
||||||
|
|
||||||
|
print '<td width="20">'.strftime("%d",$obj->da)."</td>\n";
|
||||||
|
print '<td width="30" nowrap="nowrap">'.strftime("%H:%M",$obj->da).'</td>';
|
||||||
|
|
||||||
|
// Picto warning
|
||||||
|
print '<td width="16">';
|
||||||
|
if (date("U",$obj->da) < time()) print ' '.img_warning("Late");
|
||||||
|
else print ' ';
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
|
// Status/Percent
|
||||||
|
print '<td width="30"> </td>';
|
||||||
|
|
||||||
|
if ($obj->propalrowid)
|
||||||
|
{
|
||||||
|
print '<td><a href="'.DOL_URL_ROOT.'/comm/propal.php?propalid='.$obj->propalrowid.'">'.img_object($langs->trans("ShowAction"),"task");
|
||||||
|
$transcode=$langs->trans("Action".$obj->acode);
|
||||||
|
$libelle=($transcode!="Action".$obj->acode?$transcode:$obj->libelle);
|
||||||
|
print $libelle;
|
||||||
|
print '</a></td>';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print '<td><a href="'.DOL_URL_ROOT.'/comm/action/fiche.php?id='.$obj->id.'">'.img_object($langs->trans("ShowAction"),"task");
|
||||||
|
$transcode=$langs->trans("Action".$obj->acode);
|
||||||
|
$libelle=($transcode!="Action".$obj->acode?$transcode:$obj->libelle);
|
||||||
|
print $libelle;
|
||||||
|
print '</a></td>';
|
||||||
|
}
|
||||||
|
|
||||||
|
print '<td colspan="2">'.$obj->label.'</td>';
|
||||||
|
|
||||||
|
// Contact pour cette action
|
||||||
|
if ($obj->fk_contact)
|
||||||
|
{
|
||||||
|
$contact = new Contact($db);
|
||||||
|
$contact->fetch($obj->fk_contact);
|
||||||
|
print '<td><a href="'.DOL_URL_ROOT.'/contact/fiche.php?id='.$obj->fk_contact.'">'.img_object($langs->trans("ShowContact"),"contact").' '.$contact->fullname.'</a></td>';
|
||||||
|
} else {
|
||||||
|
print '<td> </td>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Auteur
|
||||||
|
print '<td width="50" nowrap="nowrap"><a href="'.DOL_URL_ROOT.'/user/fiche.php?id='.$obj->fk_user_author.'">'.img_object($langs->trans("ShowUser"),"user").' '.$obj->code.'</a></td>';
|
||||||
|
print "</tr>\n";
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
|
||||||
|
$db->free($result);
|
||||||
|
} else {
|
||||||
|
dolibarr_print_error($db);
|
||||||
|
}
|
||||||
|
print "</table><br>";
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Listes des actions effectuées
|
||||||
|
*/
|
||||||
|
print '<table width="100%" class="noborder">';
|
||||||
|
print '<tr class="liste_titre"><td colspan="11"><a href="action/index.php?socid='.$societe->id.'">'.$langs->trans("ActionsDone").'</a></td></tr>';
|
||||||
|
|
||||||
|
$sql = "SELECT a.id, a.label, ".$db->pdate("a.datea")." as da,";
|
||||||
|
$sql.= " a.propalrowid, a.fk_facture, a.fk_user_author, a.fk_contact,";
|
||||||
|
$sql.= " c.code as acode, c.libelle,";
|
||||||
|
$sql.= " u.code, u.rowid";
|
||||||
|
$sql.= " FROM ".MAIN_DB_PREFIX."actioncomm as a, ".MAIN_DB_PREFIX."c_actioncomm as c, ".MAIN_DB_PREFIX."user as u ";
|
||||||
|
$sql.= " WHERE a.fk_soc = ".$societe->id;
|
||||||
|
$sql.= " AND u.rowid = a.fk_user_author";
|
||||||
|
$sql.= " AND c.id=a.fk_action AND a.percent = 100";
|
||||||
|
$sql.= " ORDER BY a.datea DESC, a.id DESC";
|
||||||
|
|
||||||
|
$result=$db->query($sql);
|
||||||
|
if ($result)
|
||||||
|
{
|
||||||
|
$i = 0 ;
|
||||||
|
$num = $db->num_rows($result);
|
||||||
|
$var=true;
|
||||||
|
|
||||||
|
while ($i < $num)
|
||||||
|
{
|
||||||
|
$var = !$var;
|
||||||
|
|
||||||
|
$obj = $db->fetch_object($result);
|
||||||
|
print "<tr $bc[$var]>";
|
||||||
|
|
||||||
|
if ($oldyear == strftime("%Y",$obj->da) )
|
||||||
|
{
|
||||||
|
print '<td width="30" align="center">|</td>';
|
||||||
|
} else {
|
||||||
|
print '<td width="30" align="center">'.strftime("%Y",$obj->da)."</td>\n";
|
||||||
|
$oldyear = strftime("%Y",$obj->da);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($oldmonth == strftime("%Y%b",$obj->da) )
|
||||||
|
{
|
||||||
|
print '<td width="30" align="center">|</td>';
|
||||||
|
} else {
|
||||||
|
print '<td width="30" align="center">'.strftime("%b",$obj->da)."</td>\n";
|
||||||
|
$oldmonth = strftime("%Y%b",$obj->da);
|
||||||
|
}
|
||||||
|
|
||||||
|
print '<td width="20">'.strftime("%d",$obj->da)."</td>\n";
|
||||||
|
print '<td width="30">'.strftime("%H:%M",$obj->da)."</td>\n";
|
||||||
|
|
||||||
|
// Picto
|
||||||
|
print '<td width="16"> </td>';
|
||||||
|
|
||||||
|
// Espace
|
||||||
|
print '<td width="30"> </td>';
|
||||||
|
|
||||||
|
// Action
|
||||||
|
print '<td>';
|
||||||
|
print '<a href="'.DOL_URL_ROOT.'/comm/action/fiche.php?id='.$obj->id.'">'.img_object($langs->trans("ShowTask"),"task");
|
||||||
|
$transcode=$langs->trans("Action".$obj->acode);
|
||||||
|
$libelle=($transcode!="Action".$obj->acode?$transcode:$obj->libelle);
|
||||||
|
print $libelle;
|
||||||
|
print '</a>';
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
|
// Objet li
|
||||||
|
print '<td>';
|
||||||
|
if ($obj->propalrowid)
|
||||||
|
{
|
||||||
|
print '<a href="'.DOL_URL_ROOT.'/comm/propal.php?propalid='.$obj->propalrowid.'">'.img_object($langs->trans("ShowPropal"),"propal");
|
||||||
|
print $langs->trans("Propal");
|
||||||
|
print '</a>';
|
||||||
|
}
|
||||||
|
if ($obj->fk_facture)
|
||||||
|
{
|
||||||
|
print '<a href="'.DOL_URL_ROOT.'/compta/facture.php?facid='.$obj->fk_facture.'">'.img_object($langs->trans("ShowBill"),"bill");
|
||||||
|
print $langs->trans("Invoice");
|
||||||
|
print '</a>';
|
||||||
|
}
|
||||||
|
else print ' ';
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
|
// Libell
|
||||||
|
print "<td>$obj->label</td>";
|
||||||
|
|
||||||
|
// Contact pour cette action
|
||||||
|
if ($obj->fk_contact)
|
||||||
|
{
|
||||||
|
$contact = new Contact($db);
|
||||||
|
$contact->fetch($obj->fk_contact);
|
||||||
|
print '<td><a href="'.DOL_URL_ROOT.'/contact/fiche.php?id='.$contact->id.'">'.img_object($langs->trans("ShowContact"),"contact").' '.$contact->fullname.'</a></td>';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print '<td> </td>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Auteur
|
||||||
|
print '<td nowrap="nowrap" width="50"><a href="'.DOL_URL_ROOT.'/user/fiche.php?id='.$obj->rowid.'">'.img_object($langs->trans("ShowUser"),'user').' '.$obj->code.'</a></td>';
|
||||||
|
print "</tr>\n";
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
$db->free();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dolibarr_print_error($db);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
print "</table>";
|
print "</table>";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user