30require
'../main.inc.php';
38require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
39require_once DOL_DOCUMENT_ROOT.
'/core/class/notify.class.php';
40require_once DOL_DOCUMENT_ROOT.
'/societe/class/client.class.php';
41require_once DOL_DOCUMENT_ROOT.
'/commande/class/commande.class.php';
42require_once DOL_DOCUMENT_ROOT.
'/core/lib/order.lib.php';
46$langs->loadLangs(array(
'orders',
'bills'));
49if (!$user->hasRight(
'commande',
'lire')) {
54$hookmanager->initHooks(array(
'ordersindex'));
59if ($user->socid > 0) {
61 $socid = $user->socid;
68$maxLatestEditCount = 5;
80$help_url =
"EN:Module_Customers_Orders|FR:Module_Commandes_Clients|ES:Módulo_Pedidos_de_clientes";
82llxHeader(
'', $langs->trans(
"Orders"), $help_url,
'', 0, 0,
'',
'',
'',
'mod-commande page-index');
88print
'<div class="fichecenter"><div class="fichethirdleft">';
101 $sql =
"SELECT c.rowid, c.ref, s.nom as name, s.rowid as socid";
102 $sql .=
", s.client";
103 $sql .=
", s.code_client";
104 $sql .=
", s.canvas";
105 $sql .=
" FROM ".MAIN_DB_PREFIX.
"commande as c";
106 $sql .=
", ".MAIN_DB_PREFIX.
"societe as s";
107 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
108 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
110 $sql .=
" WHERE c.fk_soc = s.rowid";
111 $sql .=
" AND c.entity IN (".getEntity(
'commande').
")";
112 $sql .=
" AND c.fk_statut = 0";
114 $sql .=
" AND c.fk_soc = ".((int) $socid);
116 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
117 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
120 $parameters = array(
'socid' => $user->socid);
121 $reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters, $commandestatic);
122 $sql .= $hookmanager->resPrint;
123 $resql =
$db->query($sql);
125 print
'<div class="div-table-responsive-no-min">';
126 print
'<table class="noborder centpercent">';
127 print
'<tr class="liste_titre">';
128 print
'<th colspan="2">'.$langs->trans(
"DraftOrders").
'</th></tr>';
129 $langs->load(
"orders");
130 $num =
$db->num_rows($resql);
134 $obj =
$db->fetch_object($resql);
136 $commandestatic->id = $obj->rowid;
137 $commandestatic->ref = $obj->ref;
139 $companystatic->id = $obj->socid;
140 $companystatic->name = $obj->name;
141 $companystatic->client = $obj->client;
142 $companystatic->code_client = $obj->code_client;
143 $companystatic->canvas = $obj->canvas;
145 print
'<tr class="oddeven">';
146 print
'<td class="nowrap">';
147 print $commandestatic->getNomUrl(1);
149 print
'<td class="nowrap">';
150 print $companystatic->getNomUrl(1,
'company', 16);
155 print
'<tr class="oddeven"><td colspan="3">'.$langs->trans(
"NoOrder").
'</td></tr>';
157 print
"</table></div><br>";
162print
'</div><div class="fichetwothirdright">';
169$sql =
"SELECT c.rowid, c.entity, c.ref, c.fk_statut as status, c.facture, c.date_cloture as datec, c.tms as datem,";
170$sql .=
" s.nom as name, s.rowid as socid";
172$sql .=
", s.code_client";
174$sql .=
" FROM ".MAIN_DB_PREFIX.
"commande as c,";
175$sql .=
" ".MAIN_DB_PREFIX.
"societe as s";
176if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
177 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
179$sql .=
" WHERE c.fk_soc = s.rowid";
180$sql .=
" AND c.entity IN (".getEntity(
'commande').
")";
183 $sql .=
" AND c.fk_soc = ".((int) $socid);
185if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
186 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
189$parameters = array(
'socid' => $user->socid);
190$reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters, $commandestatic);
191$sql .= $hookmanager->resPrint;
192$sql .=
" ORDER BY c.tms DESC";
193$sql .=
$db->plimit($max, 0);
195$resql =
$db->query($sql);
197 $num =
$db->num_rows($resql);
199 startSimpleTable($langs->trans(
"LastModifiedOrders", $max),
"commande/list.php",
"sortfield=c.tms&sortorder=DESC", 2, -1,
'order');
204 $obj =
$db->fetch_object($resql);
206 print
'<tr class="oddeven">';
207 print
'<td width="20%" class="nowrap">';
209 $commandestatic->id = $obj->rowid;
210 $commandestatic->ref = $obj->ref;
212 $companystatic->id = $obj->socid;
213 $companystatic->name = $obj->name;
214 $companystatic->client = $obj->client;
215 $companystatic->code_client = $obj->code_client;
216 $companystatic->canvas = $obj->canvas;
218 print
'<table class="nobordernopadding"><tr class="nocellnopadd">';
219 print
'<td width="96" class="nobordernopadding nowrap">';
220 print $commandestatic->getNomUrl(1);
223 print
'<td width="16" class="nobordernopadding nowrap">';
227 print
'<td width="16" class="nobordernopadding hideonsmartphone right">';
230 $urlsource = $_SERVER[
'PHP_SELF'].
'?id='.$obj->rowid;
231 print $formfile->getDocumentsLink($commandestatic->element, $filename, $filedir);
232 print
'</td></tr></table>';
236 print
'<td class="nowrap">';
237 print $companystatic->getNomUrl(1,
'company', 16);
240 $datem =
$db->jdate($obj->datem);
241 print
'<td class="center" title="'.dol_escape_htmltag($langs->trans(
"DateModification").
': '.
dol_print_date($datem,
'dayhour',
'tzuserrel')).
'">';
245 print
'<td class="right">'.$commandestatic->LibStatut($obj->status, $obj->facture, 3).
'</td>';
260 $sql =
"SELECT c.rowid, c.entity, c.ref, c.fk_statut as status, c.facture, c.date_commande as date, s.nom as name, s.rowid as socid";
261 $sql .=
", s.client";
262 $sql .=
", s.code_client";
263 $sql .=
", s.canvas";
264 $sql .=
" FROM ".MAIN_DB_PREFIX.
"commande as c";
265 $sql .=
", ".MAIN_DB_PREFIX.
"societe as s";
266 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
267 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
269 $sql .=
" WHERE c.fk_soc = s.rowid";
270 $sql .=
" AND c.entity IN (".getEntity(
'commande').
")";
271 $sql .=
" AND c.fk_statut = ".Commande::STATUS_VALIDATED;
273 $sql .=
" AND c.fk_soc = ".((int) $socid);
275 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
276 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
279 $parameters = array(
'socid' => $user->socid);
280 $reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters, $commandestatic);
281 $sql .= $hookmanager->resPrint;
282 $sql .=
" ORDER BY c.rowid DESC";
284 $resql =
$db->query($sql);
286 $num =
$db->num_rows($resql);
288 print
'<div class="div-table-responsive-no-min">';
289 print
'<table class="noborder centpercent">';
290 print
'<tr class="liste_titre">';
291 print
'<th colspan="4">'.$langs->trans(
"OrdersToProcess").
' <a href="'.DOL_URL_ROOT.
'/commande/list.php?search_status='.
Commande::STATUS_VALIDATED.
'"><span class="badge">'.$num.
'</span></a></th></tr>';
295 while ($i < $num && $i < $max) {
296 $obj =
$db->fetch_object($resql);
297 print
'<tr class="oddeven">';
298 print
'<td class="nowrap" width="20%">';
300 $commandestatic->id = $obj->rowid;
301 $commandestatic->ref = $obj->ref;
303 $companystatic->id = $obj->socid;
304 $companystatic->name = $obj->name;
305 $companystatic->client = $obj->client;
306 $companystatic->code_client = $obj->code_client;
307 $companystatic->canvas = $obj->canvas;
309 print
'<table class="nobordernopadding"><tr class="nocellnopadd">';
310 print
'<td width="96" class="nobordernopadding nowrap">';
311 print $commandestatic->getNomUrl(1);
314 print
'<td width="16" class="nobordernopadding nowrap">';
318 print
'<td width="16" class="nobordernopadding hideonsmartphone right">';
321 $urlsource = $_SERVER[
'PHP_SELF'].
'?id='.$obj->rowid;
322 print $formfile->getDocumentsLink($commandestatic->element, $filename, $filedir);
323 print
'</td></tr></table>';
327 print
'<td class="nowrap">';
328 print $companystatic->getNomUrl(1,
'company', 24);
331 print
'<td class="right">'.dol_print_date(
$db->jdate($obj->date),
'day').
'</td>'.
"\n";
333 print
'<td class="right">'.$commandestatic->LibStatut($obj->status, $obj->facture, 3).
'</td>';
339 print
'<tr><td><span class="opacitymedium">'.$langs->trans(
"More").
'...</span></td><td></td><td></td><td></td></tr>';
343 print
"</table></div><br>";
353 $sql =
"SELECT c.rowid, c.entity, c.ref, c.fk_statut as status, c.facture, c.date_commande as date, s.nom as name, s.rowid as socid";
354 $sql .=
", s.client";
355 $sql .=
", s.code_client";
356 $sql .=
", s.canvas";
357 $sql .=
" FROM ".MAIN_DB_PREFIX.
"commande as c";
358 $sql .=
", ".MAIN_DB_PREFIX.
"societe as s";
359 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
360 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
362 $sql .=
" WHERE c.fk_soc = s.rowid";
363 $sql .=
" AND c.entity IN (".getEntity(
'commande').
")";
366 $sql .=
" AND c.fk_soc = ".((int) $socid);
368 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
369 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
372 $parameters = array(
'socid' => $user->socid);
373 $reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters, $commandestatic);
374 $sql .= $hookmanager->resPrint;
375 $sql .=
" ORDER BY c.rowid DESC";
377 $resql =
$db->query($sql);
379 $num =
$db->num_rows($resql);
381 print
'<div class="div-table-responsive-no-min">';
382 print
'<table class="noborder centpercent">';
383 print
'<tr class="liste_titre">';
384 print
'<th colspan="4">'.$langs->trans(
"OnProcessOrders").
' <a href="'.DOL_URL_ROOT.
'/commande/list.php?search_status='.
Commande::STATUS_SHIPMENTONPROCESS.
'"><span class="badge">'.$num.
'</span></a></th></tr>';
388 while ($i < $num && $i < $max) {
389 $obj =
$db->fetch_object($resql);
390 print
'<tr class="oddeven">';
391 print
'<td width="20%" class="nowrap">';
393 $commandestatic->id = $obj->rowid;
394 $commandestatic->ref = $obj->ref;
396 $companystatic->id = $obj->socid;
397 $companystatic->name = $obj->name;
398 $companystatic->client = $obj->client;
399 $companystatic->code_client = $obj->code_client;
400 $companystatic->canvas = $obj->canvas;
402 print
'<table class="nobordernopadding"><tr class="nocellnopadd">';
403 print
'<td width="96" class="nobordernopadding nowrap">';
404 print $commandestatic->getNomUrl(1);
407 print
'<td width="16" class="nobordernopadding nowrap">';
411 print
'<td width="16" class="nobordernopadding hideonsmartphone right">';
414 $urlsource = $_SERVER[
'PHP_SELF'].
'?id='.$obj->rowid;
415 print $formfile->getDocumentsLink($commandestatic->element, $filename, $filedir);
416 print
'</td></tr></table>';
421 print $companystatic->getNomUrl(1,
'company');
424 print
'<td class="right">'.dol_print_date(
$db->jdate($obj->date),
'day').
'</td>'.
"\n";
426 print
'<td class="right">'.$commandestatic->LibStatut($obj->status, $obj->facture, 3).
'</td>';
432 print
'<tr><td><span class="opacitymedium">'.$langs->trans(
"More").
'...</span></td><td></td><td></td><td></td></tr>';
435 print
"</table></div><br>";
444$parameters = array(
'user' => $user);
445$reshook = $hookmanager->executeHooks(
'dashboardOrders', $parameters, $object);
llxFooter($comment='', $zone='private', $disabledoutputofmessages=0)
Empty footer.
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader($head='', $title='', $help_url='', $target='', $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='', $morequerystring='', $morecssonbody='', $replacemainareaby='', $disablenofollow=0, $disablenoindex=0)
Empty header.
Class to manage customers orders.
const STATUS_SHIPMENTONPROCESS
Shipment on process.
const STATUS_VALIDATED
Validated status.
Class to manage third parties objects (customers, suppliers, prospects...)
finishSimpleTable($addLineBreak=false)
Add the correct HTML close tags for "startSimpleTable(...)" (use after the last table line)
getDolUserInt($key, $default=0, $tmpuser=null)
Return Dolibarr user constant int value.
dol_sanitizeFileName($str, $newstr='_', $unaccent=1, $includequotes=0, $allowdash=0)
Clean a string to use it as a file name.
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
GETPOSTINT($paramname, $method=0, $nodefault=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
dol_print_date($time, $format='', $tzoutput='auto', $outputlangs=null, $encodetooutput=false, $decorate=0)
Output date in a string format according to outputlangs (or langs if not defined).
dol_print_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='', $morecssonpicto='widthpictotitle')
Load a title with picto.
getDolGlobalString($key, $default='')
Return a Dolibarr global constant string value.
isModEnabled($module)
Is Dolibarr module enabled.
startSimpleTable($header, $link="", $arguments="", $emptyColumns=0, $number=-1, $pictofulllist='')
Start a table with headers and a optional clickable number (don't forget to use "finishSimpleTable()"...
getCustomerOrderPieChart($socid=0)
Return a HTML table that contains a pie chart of sales orders.
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.