28 require
'../main.inc.php';
29 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
30 require_once DOL_DOCUMENT_ROOT.
'/core/class/notify.class.php';
31 require_once DOL_DOCUMENT_ROOT.
'/societe/class/client.class.php';
32 require_once DOL_DOCUMENT_ROOT.
'/commande/class/commande.class.php';
33 require_once DOL_DOCUMENT_ROOT.
'/core/lib/order.lib.php';
35 if (!$user->rights->commande->lire) {
42 $hookmanager->initHooks(array(
'ordersindex'));
45 $langs->loadLangs(array(
'orders',
'bills'));
48 $socid =
GETPOST(
'socid',
'int');
49 if ($user->socid > 0) {
51 $socid = $user->socid;
54 $max = $conf->global->MAIN_SIZE_SHORTLIST_LIMIT;
57 $maxDraftCount = empty($conf->global->MAIN_MAXLIST_OVERLOAD) ? 500 : $conf->global->MAIN_MAXLIST_OVERLOAD;
58 $maxLatestEditCount = 5;
59 $maxOpenCount = empty($conf->global->MAIN_MAXLIST_OVERLOAD) ? 500 : $conf->global->MAIN_MAXLIST_OVERLOAD;
67 $companystatic =
new Societe($db);
70 $help_url =
"EN:Module_Customers_Orders|FR:Module_Commandes_Clients|ES:Módulo_Pedidos_de_clientes";
78 print
'<div class="fichecenter"><div class="fichethirdleft">';
90 if (!empty($conf->commande->enabled)) {
91 $sql =
"SELECT c.rowid, c.ref, s.nom as name, s.rowid as socid";
93 $sql .=
", s.code_client";
95 $sql .=
" FROM ".MAIN_DB_PREFIX.
"commande as c";
96 $sql .=
", ".MAIN_DB_PREFIX.
"societe as s";
97 if (empty($user->rights->societe->client->voir) && !$socid) {
98 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
100 $sql .=
" WHERE c.fk_soc = s.rowid";
101 $sql .=
" AND c.entity IN (".getEntity(
'commande').
")";
102 $sql .=
" AND c.fk_statut = 0";
104 $sql .=
" AND c.fk_soc = ".((int) $socid);
106 if (empty($user->rights->societe->client->voir) && !$socid) {
107 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
110 $resql = $db->query($sql);
112 print
'<div class="div-table-responsive-no-min">';
113 print
'<table class="noborder centpercent">';
114 print
'<tr class="liste_titre">';
115 print
'<th colspan="2">'.$langs->trans(
"DraftOrders").
'</th></tr>';
116 $langs->load(
"orders");
117 $num = $db->num_rows(
$resql);
121 $obj = $db->fetch_object(
$resql);
123 $commandestatic->id = $obj->rowid;
124 $commandestatic->ref = $obj->ref;
126 $companystatic->id = $obj->socid;
127 $companystatic->name = $obj->name;
128 $companystatic->client = $obj->client;
129 $companystatic->code_client = $obj->code_client;
130 $companystatic->canvas = $obj->canvas;
132 print
'<tr class="oddeven">';
133 print
'<td class="nowrap">';
134 print $commandestatic->getNomUrl(1);
136 print
'<td class="nowrap">';
137 print $companystatic->getNomUrl(1,
'company', 16);
142 print
'<tr class="oddeven"><td colspan="3">'.$langs->trans(
"NoOrder").
'</td></tr>';
144 print
"</table></div><br>";
149 print
'</div><div class="fichetwothirdright">';
158 $sql =
"SELECT c.rowid, c.entity, c.ref, c.fk_statut, c.facture, c.date_cloture as datec, c.tms as datem,";
159 $sql .=
" s.nom as name, s.rowid as socid";
160 $sql .=
", s.client";
161 $sql .=
", s.code_client";
162 $sql .=
", s.canvas";
163 $sql .=
" FROM ".MAIN_DB_PREFIX.
"commande as c,";
164 $sql .=
" ".MAIN_DB_PREFIX.
"societe as s";
165 if (empty($user->rights->societe->client->voir) && !$socid) {
166 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
168 $sql .=
" WHERE c.fk_soc = s.rowid";
169 $sql .=
" AND c.entity IN (".getEntity(
'commande').
")";
172 $sql .=
" AND c.fk_soc = ".((int) $socid);
174 if (empty($user->rights->societe->client->voir) && !$socid) {
175 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
177 $sql .=
" ORDER BY c.tms DESC";
178 $sql .= $db->plimit($max, 0);
180 $resql = $db->query($sql);
182 print
'<div class="div-table-responsive-no-min">';
183 print
'<table class="noborder centpercent">';
184 print
'<tr class="liste_titre">';
185 print
'<th colspan="4">'.$langs->trans(
"LastModifiedOrders", $max).
'</th></tr>';
187 $num = $db->num_rows(
$resql);
191 $obj = $db->fetch_object(
$resql);
193 print
'<tr class="oddeven">';
194 print
'<td width="20%" class="nowrap">';
196 $commandestatic->id = $obj->rowid;
197 $commandestatic->ref = $obj->ref;
199 $companystatic->id = $obj->socid;
200 $companystatic->name = $obj->name;
201 $companystatic->client = $obj->client;
202 $companystatic->code_client = $obj->code_client;
203 $companystatic->canvas = $obj->canvas;
205 print
'<table class="nobordernopadding"><tr class="nocellnopadd">';
206 print
'<td width="96" class="nobordernopadding nowrap">';
207 print $commandestatic->getNomUrl(1);
210 print
'<td width="16" class="nobordernopadding nowrap">';
214 print
'<td width="16" class="nobordernopadding hideonsmartphone right">';
217 $urlsource = $_SERVER[
'PHP_SELF'].
'?id='.$obj->rowid;
218 print $formfile->getDocumentsLink($commandestatic->element, $filename, $filedir);
219 print
'</td></tr></table>';
223 print
'<td class="nowrap">';
224 print $companystatic->getNomUrl(1,
'company', 16);
226 print
'<td>'.dol_print_date($db->jdate($obj->datem),
'day').
'</td>';
227 print
'<td class="right">'.$commandestatic->LibStatut($obj->fk_statut, $obj->facture, 3).
'</td>';
232 print
"</table></div><br>";
242 if (!empty($conf->commande->enabled)) {
243 $sql =
"SELECT c.rowid, c.entity, c.ref, c.fk_statut, c.facture, c.date_commande as date, s.nom as name, s.rowid as socid";
244 $sql .=
", s.client";
245 $sql .=
", s.code_client";
246 $sql .=
", s.canvas";
247 $sql .=
" FROM ".MAIN_DB_PREFIX.
"commande as c";
248 $sql .=
", ".MAIN_DB_PREFIX.
"societe as s";
249 if (empty($user->rights->societe->client->voir) && !$socid) {
250 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
252 $sql .=
" WHERE c.fk_soc = s.rowid";
253 $sql .=
" AND c.entity IN (".getEntity(
'commande').
")";
254 $sql .=
" AND c.fk_statut = ".Commande::STATUS_VALIDATED;
256 $sql .=
" AND c.fk_soc = ".((int) $socid);
258 if (empty($user->rights->societe->client->voir) && !$socid) {
259 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
261 $sql .=
" ORDER BY c.rowid DESC";
263 $resql = $db->query($sql);
265 $num = $db->num_rows(
$resql);
267 print
'<div class="div-table-responsive-no-min">';
268 print
'<table class="noborder centpercent">';
269 print
'<tr class="liste_titre">';
270 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>';
274 while ($i < $num && $i < $max) {
275 $obj = $db->fetch_object(
$resql);
276 print
'<tr class="oddeven">';
277 print
'<td class="nowrap" width="20%">';
279 $commandestatic->id = $obj->rowid;
280 $commandestatic->ref = $obj->ref;
282 $companystatic->id = $obj->socid;
283 $companystatic->name = $obj->name;
284 $companystatic->client = $obj->client;
285 $companystatic->code_client = $obj->code_client;
286 $companystatic->canvas = $obj->canvas;
288 print
'<table class="nobordernopadding"><tr class="nocellnopadd">';
289 print
'<td width="96" class="nobordernopadding nowrap">';
290 print $commandestatic->getNomUrl(1);
293 print
'<td width="16" class="nobordernopadding nowrap">';
297 print
'<td width="16" class="nobordernopadding hideonsmartphone right">';
300 $urlsource = $_SERVER[
'PHP_SELF'].
'?id='.$obj->rowid;
301 print $formfile->getDocumentsLink($commandestatic->element, $filename, $filedir);
302 print
'</td></tr></table>';
306 print
'<td class="nowrap">';
307 print $companystatic->getNomUrl(1,
'company', 24);
310 print
'<td class="right">'.dol_print_date($db->jdate($obj->date),
'day').
'</td>'.
"\n";
312 print
'<td class="right">'.$commandestatic->LibStatut($obj->fk_statut, $obj->facture, 3).
'</td>';
318 print
'<tr><td><span class="opacitymedium">'.$langs->trans(
"More").
'...</span></td><td></td><td></td><td></td></tr>';
322 print
"</table></div><br>";
331 if (!empty($conf->commande->enabled)) {
332 $sql =
"SELECT c.rowid, c.entity, c.ref, c.fk_statut, c.facture, c.date_commande as date, s.nom as name, s.rowid as socid";
333 $sql .=
", s.client";
334 $sql .=
", s.code_client";
335 $sql .=
", s.canvas";
336 $sql .=
" FROM ".MAIN_DB_PREFIX.
"commande as c";
337 $sql .=
", ".MAIN_DB_PREFIX.
"societe as s";
338 if (empty($user->rights->societe->client->voir) && !$socid) {
339 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
341 $sql .=
" WHERE c.fk_soc = s.rowid";
342 $sql .=
" AND c.entity IN (".getEntity(
'commande').
")";
343 $sql .=
" AND c.fk_statut = ".((int) Commande::STATUS_ACCEPTED);
345 $sql .=
" AND c.fk_soc = ".((int) $socid);
347 if (empty($user->rights->societe->client->voir) && !$socid) {
348 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
350 $sql .=
" ORDER BY c.rowid DESC";
352 $resql = $db->query($sql);
354 $num = $db->num_rows(
$resql);
356 print
'<div class="div-table-responsive-no-min">';
357 print
'<table class="noborder centpercent">';
358 print
'<tr class="liste_titre">';
359 print
'<th colspan="4">'.$langs->trans(
"OnProcessOrders").
' <a href="'.DOL_URL_ROOT.
'/commande/list.php?search_status='.Commande::STATUS_ACCEPTED.
'"><span class="badge">'.$num.
'</span></a></th></tr>';
363 while ($i < $num && $i < $max) {
364 $obj = $db->fetch_object(
$resql);
365 print
'<tr class="oddeven">';
366 print
'<td width="20%" class="nowrap">';
368 $commandestatic->id = $obj->rowid;
369 $commandestatic->ref = $obj->ref;
371 $companystatic->id = $obj->socid;
372 $companystatic->name = $obj->name;
373 $companystatic->client = $obj->client;
374 $companystatic->code_client = $obj->code_client;
375 $companystatic->canvas = $obj->canvas;
377 print
'<table class="nobordernopadding"><tr class="nocellnopadd">';
378 print
'<td width="96" class="nobordernopadding nowrap">';
379 print $commandestatic->getNomUrl(1);
382 print
'<td width="16" class="nobordernopadding nowrap">';
386 print
'<td width="16" class="nobordernopadding hideonsmartphone right">';
389 $urlsource = $_SERVER[
'PHP_SELF'].
'?id='.$obj->rowid;
390 print $formfile->getDocumentsLink($commandestatic->element, $filename, $filedir);
391 print
'</td></tr></table>';
396 print $companystatic->getNomUrl(1,
'company');
399 print
'<td class="right">'.dol_print_date($db->jdate($obj->date),
'day').
'</td>'.
"\n";
401 print
'<td class="right">'.$commandestatic->LibStatut($obj->fk_statut, $obj->facture, 3).
'</td>';
407 print
'<tr><td><span class="opacitymedium">'.$langs->trans(
"More").
'...</span></td><td></td><td></td><td></td></tr>';
410 print
"</table></div><br>";
417 print
'</div></div>';
419 $parameters = array(
'user' => $user);
420 $reshook = $hookmanager->executeHooks(
'dashboardOrders', $parameters, $object);