30 require
'../main.inc.php';
31 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
32 require_once DOL_DOCUMENT_ROOT.
'/core/lib/agenda.lib.php';
33 require_once DOL_DOCUMENT_ROOT.
'/comm/action/class/actioncomm.class.php';
34 require_once DOL_DOCUMENT_ROOT.
'/comm/propal/class/propal.class.php';
35 require_once DOL_DOCUMENT_ROOT.
'/commande/class/commande.class.php';
36 require_once DOL_DOCUMENT_ROOT.
'/contrat/class/contrat.class.php';
37 require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.commande.class.php';
38 require_once DOL_DOCUMENT_ROOT.
'/societe/class/client.class.php';
39 require_once DOL_DOCUMENT_ROOT.
'/supplier_proposal/class/supplier_proposal.class.php';
40 require_once DOL_DOCUMENT_ROOT.
'/core/lib/propal.lib.php';
41 require_once DOL_DOCUMENT_ROOT.
'/core/lib/order.lib.php';
42 if (!empty($conf->ficheinter->enabled)) {
43 require_once DOL_DOCUMENT_ROOT.
'/fichinter/class/fichinter.class.php';
48 $hookmanager->initHooks(array(
'commercialindex'));
51 $langs->loadLangs(array(
"boxes",
"commercial",
"contracts",
"orders",
"propal",
"supplier_proposal"));
53 $action =
GETPOST(
'action',
'aZ09');
57 $socid =
GETPOST(
'socid',
'int');
58 if (isset($user->socid) && $user->socid > 0) {
60 $socid = $user->socid;
63 restrictedArea($user,
'societe', $socid,
'&societe',
'',
'fk_soc',
'rowid', 0);
65 $max = $conf->global->MAIN_SIZE_SHORTLIST_LIMIT;
68 $maxofloop = (empty($conf->global->MAIN_MAXLIST_OVERLOAD) ? 500 : $conf->global->MAIN_MAXLIST_OVERLOAD);
84 $companystatic =
new Societe($db);
85 if (!empty($conf->propal->enabled)) {
86 $propalstatic =
new Propal($db);
88 if (!empty($conf->supplier_proposal->enabled)) {
91 if (!empty($conf->commande->enabled)) {
94 if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || !empty($conf->supplier_order->enabled)) {
98 if (!empty($conf->ficheinter->enabled)) {
102 llxHeader(
"", $langs->trans(
"CommercialArea"));
106 print
'<div class="fichecenter"><div class="fichethirdleft">';
123 if (!empty($conf->propal->enabled) && $user->rights->propal->lire) {
124 $sql =
"SELECT p.rowid, p.ref, p.ref_client, p.total_ht, p.total_tva, p.total_ttc, p.fk_statut as status";
125 $sql .=
", s.rowid as socid, s.nom as name, s.name_alias";
126 $sql .=
", s.code_client, s.code_compta, s.client";
127 $sql .=
", s.code_fournisseur, s.code_compta_fournisseur, s.fournisseur";
128 $sql .=
", s.logo, s.email, s.entity";
129 $sql .=
", s.canvas";
130 $sql .=
" FROM ".MAIN_DB_PREFIX.
"propal as p,";
131 $sql .=
" ".MAIN_DB_PREFIX.
"societe as s";
132 if (empty($user->rights->societe->client->voir) && !$socid) {
133 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
135 $sql .=
" WHERE p.entity IN (".getEntity($propalstatic->element).
")";
136 $sql .=
" AND p.fk_soc = s.rowid";
137 $sql .=
" AND p.fk_statut = ".Propal::STATUS_DRAFT;
138 if (empty($user->rights->societe->client->voir) && !$socid) {
139 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
142 $sql .=
" AND s.rowid = ".((int) $socid);
145 $resql = $db->query($sql);
148 $num = $db->num_rows(
$resql);
149 $nbofloop = min($num, $maxofloop);
156 while ($i < $nbofloop) {
157 $obj = $db->fetch_object(
$resql);
162 $total += (!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc);
166 $propalstatic->id = $obj->rowid;
167 $propalstatic->ref = $obj->ref;
168 $propalstatic->ref_client = $obj->ref_client;
169 $propalstatic->total_ht = $obj->total_ht;
170 $propalstatic->total_tva = $obj->total_tva;
171 $propalstatic->total_ttc = $obj->total_ttc;
172 $propalstatic->statut = $obj->status;
174 $companystatic->id = $obj->socid;
175 $companystatic->name = $obj->name;
176 $companystatic->name_alias = $obj->name_alias;
177 $companystatic->code_client = $obj->code_client;
178 $companystatic->code_compta = $obj->code_compta;
179 $companystatic->client = $obj->client;
180 $companystatic->code_fournisseur = $obj->code_fournisseur;
181 $companystatic->code_compta_fournisseur = $obj->code_compta_fournisseur;
182 $companystatic->fournisseur = $obj->fournisseur;
183 $companystatic->logo = $obj->logo;
184 $companystatic->email = $obj->email;
185 $companystatic->entity = $obj->entity;
186 $companystatic->canvas = $obj->canvas;
188 print
'<tr class="oddeven">';
189 print
'<td class="nowraponall tdoverflowmax100">'.$propalstatic->getNomUrl(1).
'</td>';
190 print
'<td class="nowrap tdoverflowmax100">'.$companystatic->getNomUrl(1,
'customer').
'</td>';
191 print
'<td class="nowrap right tdamount amount">'.price((!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc)).
'</td>';
195 $total += (!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc);
199 print
'<tr class="oddeven">';
200 print
'<td class="nowrap" colspan="5">';
201 print
'<span class="opacitymedium">'.$langs->trans(
"More").
'...'.($othernb < $maxofloop ?
' ('.$othernb.
')' :
'').
'</span>';
221 if (!empty($conf->supplier_proposal->enabled) && $user->rights->supplier_proposal->lire) {
222 $sql =
"SELECT p.rowid, p.ref, p.total_ht, p.total_tva, p.total_ttc, p.fk_statut as status";
223 $sql .=
", s.rowid as socid, s.nom as name, s.name_alias";
224 $sql .=
", s.code_client, s.code_compta, s.client";
225 $sql .=
", s.code_fournisseur, s.code_compta_fournisseur, s.fournisseur";
226 $sql .=
", s.logo, s.email, s.entity";
227 $sql .=
", s.canvas";
228 $sql .=
" FROM ".MAIN_DB_PREFIX.
"supplier_proposal as p,";
229 $sql .=
" ".MAIN_DB_PREFIX.
"societe as s";
230 if (empty($user->rights->societe->client->voir) && !$socid) {
231 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
233 $sql .=
" WHERE p.entity IN (".getEntity($supplierproposalstatic->element).
")";
234 $sql .=
" AND p.fk_statut = ".SupplierProposal::STATUS_DRAFT;
235 $sql .=
" AND p.fk_soc = s.rowid";
236 if (empty($user->rights->societe->client->voir) && !$socid) {
237 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
240 $sql .=
" AND s.rowid = ".((int) $socid);
243 $resql = $db->query($sql);
246 $num = $db->num_rows(
$resql);
247 $nbofloop = min($num, $maxofloop);
254 while ($i < $nbofloop) {
255 $obj = $db->fetch_object(
$resql);
260 $total += (!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc);
264 $supplierproposalstatic->id = $obj->rowid;
265 $supplierproposalstatic->ref = $obj->ref;
266 $supplierproposalstatic->total_ht = $obj->total_ht;
267 $supplierproposalstatic->total_tva = $obj->total_tva;
268 $supplierproposalstatic->total_ttc = $obj->total_ttc;
269 $supplierproposalstatic->statut = $obj->status;
271 $companystatic->id = $obj->socid;
272 $companystatic->name = $obj->name;
273 $companystatic->name_alias = $obj->name_alias;
274 $companystatic->code_client = $obj->code_client;
275 $companystatic->code_compta = $obj->code_compta;
276 $companystatic->client = $obj->client;
277 $companystatic->code_fournisseur = $obj->code_fournisseur;
278 $companystatic->code_compta_fournisseur = $obj->code_compta_fournisseur;
279 $companystatic->fournisseur = $obj->fournisseur;
280 $companystatic->logo = $obj->logo;
281 $companystatic->email = $obj->email;
282 $companystatic->entity = $obj->entity;
283 $companystatic->canvas = $obj->canvas;
285 print
'<tr class="oddeven">';
286 print
'<td class="nowraponall tdoverflowmax100">'.$supplierproposalstatic->getNomUrl(1).
'</td>';
287 print
'<td class="nowrap tdoverflowmax100">'.$companystatic->getNomUrl(1,
'supplier').
'</td>';
288 print
'<td class="nowrap right tdamount amount">'.price(!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc).
'</td>';
292 $total += (!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc);
296 print
'<tr class="oddeven">';
297 print
'<td class="nowrap" colspan="5">';
298 print
'<span class="opacitymedium">'.$langs->trans(
"More").
'...'.($othernb < $maxofloop ?
' ('.$othernb.
')' :
'').
'</span>';
318 if (!empty($conf->commande->enabled) && $user->rights->commande->lire) {
319 $sql =
"SELECT c.rowid, c.ref, c.ref_client, c.total_ht, c.total_tva, c.total_ttc, c.fk_statut as status";
320 $sql .=
", s.rowid as socid, s.nom as name, s.name_alias";
321 $sql .=
", s.code_client, s.code_compta, s.client";
322 $sql .=
", s.code_fournisseur, s.code_compta_fournisseur, s.fournisseur";
323 $sql .=
", s.logo, s.email, s.entity";
324 $sql .=
", s.canvas";
325 $sql .=
" FROM ".MAIN_DB_PREFIX.
"commande as c,";
326 $sql .=
" ".MAIN_DB_PREFIX.
"societe as s";
327 if (empty($user->rights->societe->client->voir) && !$socid) {
328 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
330 $sql .=
" WHERE c.entity IN (".getEntity($orderstatic->element).
")";
331 $sql .=
" AND c.fk_statut = ".Commande::STATUS_DRAFT;
332 $sql .=
" AND c.fk_soc = s.rowid";
333 if (empty($user->rights->societe->client->voir) && !$socid) {
334 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
337 $sql .=
" AND c.fk_soc = ".((int) $socid);
340 $resql = $db->query($sql);
343 $num = $db->num_rows(
$resql);
344 $nbofloop = min($num, $maxofloop);
351 while ($i < $nbofloop) {
352 $obj = $db->fetch_object(
$resql);
357 $total += (!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc);
361 $orderstatic->id = $obj->rowid;
362 $orderstatic->ref = $obj->ref;
363 $orderstatic->ref_client = $obj->ref_client;
364 $orderstatic->total_ht = $obj->total_ht;
365 $orderstatic->total_tva = $obj->total_tva;
366 $orderstatic->total_ttc = $obj->total_ttc;
367 $orderstatic->statut = $obj->status;
369 $companystatic->id = $obj->socid;
370 $companystatic->name = $obj->name;
371 $companystatic->name_alias = $obj->name_alias;
372 $companystatic->code_client = $obj->code_client;
373 $companystatic->code_compta = $obj->code_compta;
374 $companystatic->client = $obj->client;
375 $companystatic->code_fournisseur = $obj->code_fournisseur;
376 $companystatic->code_compta_fournisseur = $obj->code_compta_fournisseur;
377 $companystatic->fournisseur = $obj->fournisseur;
378 $companystatic->logo = $obj->logo;
379 $companystatic->email = $obj->email;
380 $companystatic->entity = $obj->entity;
381 $companystatic->canvas = $obj->canvas;
383 print
'<tr class="oddeven">';
384 print
'<td class="nowraponall tdoverflowmax100">'.$orderstatic->getNomUrl(1).
'</td>';
385 print
'<td class="nowrap tdoverflowmax100">'.$companystatic->getNomUrl(1,
'customer').
'</td>';
386 print
'<td class="nowrap right tdamount amount">'.price(!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc).
'</td>';
390 $total += (!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc);
394 print
'<tr class="oddeven">';
395 print
'<td class="nowrap" colspan="5">';
396 print
'<span class="opacitymedium">'.$langs->trans(
"More").
'...'.($othernb < $maxofloop ?
' ('.$othernb.
')' :
'').
'</span>';
416 if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) && $user->rights->fournisseur->commande->lire) || (!empty($conf->supplier_order->enabled) && $user->rights->supplier_order->lire)) {
417 $sql =
"SELECT cf.rowid, cf.ref, cf.ref_supplier, cf.total_ht, cf.total_tva, cf.total_ttc, cf.fk_statut as status";
418 $sql .=
", s.rowid as socid, s.nom as name, s.name_alias";
419 $sql .=
", s.code_client, s.code_compta, s.client";
420 $sql .=
", s.code_fournisseur, s.code_compta_fournisseur, s.fournisseur";
421 $sql .=
", s.logo, s.email, s.entity";
422 $sql .=
", s.canvas";
423 $sql .=
" FROM ".MAIN_DB_PREFIX.
"commande_fournisseur as cf,";
424 $sql .=
" ".MAIN_DB_PREFIX.
"societe as s";
425 if (empty($user->rights->societe->client->voir) && !$socid) {
426 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
428 $sql .=
" WHERE cf.entity IN (".getEntity($supplierorderstatic->element).
")";
429 $sql .=
" AND cf.fk_statut = ".CommandeFournisseur::STATUS_DRAFT;
430 $sql .=
" AND cf.fk_soc = s.rowid";
431 if (empty($user->rights->societe->client->voir) && !$socid) {
432 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
435 $sql .=
" AND cf.fk_soc = ".((int) $socid);
438 $resql = $db->query($sql);
441 $num = $db->num_rows(
$resql);
442 $nbofloop = min($num, $maxofloop);
449 while ($i < $nbofloop) {
450 $obj = $db->fetch_object(
$resql);
455 $total += (!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc);
459 $supplierorderstatic->id = $obj->rowid;
460 $supplierorderstatic->ref = $obj->ref;
461 $supplierorderstatic->ref_supplier = $obj->ref_supplier;
462 $supplierorderstatic->total_ht = $obj->total_ht;
463 $supplierorderstatic->total_tva = $obj->total_tva;
464 $supplierorderstatic->total_ttc = $obj->total_ttc;
465 $supplierorderstatic->statut = $obj->status;
467 $companystatic->id = $obj->socid;
468 $companystatic->name = $obj->name;
469 $companystatic->name_alias = $obj->name_alias;
470 $companystatic->code_client = $obj->code_client;
471 $companystatic->code_compta = $obj->code_compta;
472 $companystatic->client = $obj->client;
473 $companystatic->code_fournisseur = $obj->code_fournisseur;
474 $companystatic->code_compta_fournisseur = $obj->code_compta_fournisseur;
475 $companystatic->fournisseur = $obj->fournisseur;
476 $companystatic->logo = $obj->logo;
477 $companystatic->email = $obj->email;
478 $companystatic->entity = $obj->entity;
479 $companystatic->canvas = $obj->canvas;
481 print
'<tr class="oddeven">';
482 print
'<td class="nowraponall tdoverflowmax100">'.$supplierorderstatic->getNomUrl(1).
'</td>';
483 print
'<td class="nowrap tdoverflowmax100">'.$companystatic->getNomUrl(1,
'supplier').
'</td>';
484 print
'<td class="nowrap right tdamount amount">'.price(!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc).
'</td>';
488 $total += (!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc);
492 print
'<tr class="oddeven">';
493 print
'<td class="nowrap" colspan="5">';
494 print
'<span class="opacitymedium">'.$langs->trans(
"More").
'...'.($othernb < $maxofloop ?
' ('.$othernb.
')' :
'').
'</span>';
513 if (!empty($conf->ficheinter->enabled)) {
514 $sql =
"SELECT f.rowid, f.ref, s.nom as name, f.fk_statut";
515 $sql .=
", s.rowid as socid, s.nom as name, s.name_alias";
516 $sql .=
", s.code_client, s.code_compta, s.client";
517 $sql .=
", s.code_fournisseur, s.code_compta_fournisseur, s.fournisseur";
518 $sql .=
", s.logo, s.email, s.entity";
519 $sql .=
", s.canvas";
520 $sql .=
" FROM ".MAIN_DB_PREFIX.
"fichinter as f";
521 $sql .=
", ".MAIN_DB_PREFIX.
"societe as s";
522 if (empty($user->rights->societe->client->voir) && !$socid) {
523 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
525 $sql .=
" WHERE f.entity IN (".getEntity(
'intervention').
")";
526 $sql .=
" AND f.fk_soc = s.rowid";
527 $sql .=
" AND f.fk_statut = 0";
529 $sql .=
" AND f.fk_soc = ".((int) $socid);
531 if (empty($user->rights->societe->client->voir) && !$socid) {
532 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
536 $resql = $db->query($sql);
538 $num = $db->num_rows(
$resql);
539 $nbofloop = min($num, $maxofloop);
541 print
'<div class="div-table-responsive-no-min">';
542 print
'<table class="noborder centpercent">';
543 print
'<tr class="liste_titre">';
544 print
'<th colspan="2">'.$langs->trans(
"DraftFichinter").
'</th></tr>';
548 while ($i < $nbofloop) {
549 $obj = $db->fetch_object(
$resql);
551 $fichinterstatic->id=$obj->rowid;
552 $fichinterstatic->ref=$obj->ref;
553 $fichinterstatic->statut=$obj->fk_statut;
555 $companystatic->id = $obj->socid;
556 $companystatic->name = $obj->name;
557 $companystatic->name_alias = $obj->name_alias;
558 $companystatic->code_client = $obj->code_client;
559 $companystatic->code_compta = $obj->code_compta;
560 $companystatic->client = $obj->client;
561 $companystatic->code_fournisseur = $obj->code_fournisseur;
562 $companystatic->code_compta_fournisseur = $obj->code_compta_fournisseur;
563 $companystatic->fournisseur = $obj->fournisseur;
564 $companystatic->logo = $obj->logo;
565 $companystatic->email = $obj->email;
566 $companystatic->entity = $obj->entity;
567 $companystatic->canvas = $obj->canvas;
569 print
'<tr class="oddeven">';
570 print
'<td class="nowraponall tdoverflowmax100">';
571 print $fichinterstatic->getNomUrl(1);
573 print
'<td class="nowrap tdoverflowmax100">';
574 print $companystatic->getNomUrl(1,
'customer');
579 print
"</table></div>";
583 print
'</div><div class="fichetwothirdright">';
588 if (!empty($conf->societe->enabled) && $user->rights->societe->lire) {
589 $sql =
"SELECT s.rowid as socid, s.nom as name, s.name_alias";
590 $sql .=
", s.code_client, s.code_compta, s.client";
591 $sql .=
", s.code_fournisseur, s.code_compta_fournisseur, s.fournisseur";
592 $sql .=
", s.logo, s.email, s.entity";
593 $sql .=
", s.canvas";
594 $sql .=
", s.datec, s.tms";
595 $sql .=
" FROM ".MAIN_DB_PREFIX.
"societe as s";
596 if (empty($user->rights->societe->client->voir) && !$socid) {
597 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
599 $sql .=
" WHERE s.entity IN (".getEntity($companystatic->element).
")";
601 if (empty($user->rights->societe->client->voir) && !$socid) {
602 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
605 $parameters = array(
'socid' => $socid);
606 $reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters, $companystatic);
607 if (empty($reshook)) {
609 $sql .=
" AND s.rowid = ".((int) $socid);
612 $sql .= $hookmanager->resPrint;
613 $sql .=
" ORDER BY s.tms DESC";
614 $sql .= $db->plimit($max, 0);
616 $resql = $db->query($sql);
618 if (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) {
619 $header =
"BoxTitleLastCustomersOrProspects";
620 } elseif (!empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) {
621 $header =
"BoxTitleLastModifiedProspects";
623 $header =
"BoxTitleLastModifiedCustomers";
626 $num = $db->num_rows(
$resql);
627 startSimpleTable($langs->trans($header, min($max, $num)),
"societe/list.php",
"type=p,c", 1);
632 while ($i < $num && $i < $max) {
633 $objp = $db->fetch_object(
$resql);
635 $companystatic->id = $objp->socid;
636 $companystatic->name = $objp->name;
637 $companystatic->name_alias = $objp->name_alias;
638 $companystatic->code_client = $objp->code_client;
639 $companystatic->code_compta = $objp->code_compta;
640 $companystatic->client = $objp->client;
641 $companystatic->code_fournisseur = $objp->code_fournisseur;
642 $companystatic->code_compta_fournisseur = $objp->code_compta_fournisseur;
643 $companystatic->fournisseur = $objp->fournisseur;
644 $companystatic->logo = $objp->logo;
645 $companystatic->email = $objp->email;
646 $companystatic->entity = $objp->entity;
647 $companystatic->canvas = $objp->canvas;
649 print
'<tr class="oddeven">';
650 print
'<td class="nowraponall tdoverflowmax100">'.$companystatic->getNomUrl(1,
'customer').
'</td>';
651 print
'<td class="nowrap">';
654 $obj = $companystatic;
656 if (($obj->client == 2 || $obj->client == 3) && empty($conf->global->SOCIETE_DISABLE_PROSPECTS)) {
657 $s .=
'<a class="customer-back opacitymedium" title="'.$langs->trans(
"Prospect").
'" href="'.DOL_URL_ROOT.
'/comm/card.php?socid='.$companystatic->id.
'">'.
dol_substr($langs->trans(
"Prospect"), 0, 1).
'</a>';
659 if (($obj->client == 1 || $obj->client == 3) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) {
660 $s .=
'<a class="customer-back" title="'.$langs->trans(
"Customer").
'" href="'.DOL_URL_ROOT.
'/comm/card.php?socid='.$companystatic->id.
'">'.
dol_substr($langs->trans(
"Customer"), 0, 1).
'</a>';
671 $datem = $db->jdate($objp->tms);
672 print
'<td class="right nowrap tddate" title="'.dol_escape_htmltag($langs->trans(
"DateModification").
': '.
dol_print_date($datem,
'dayhour',
'tzuserrel')).
'">';
694 if (((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) && $user->rights->societe->lire) {
695 $sql =
"SELECT s.rowid as socid, s.nom as name, s.name_alias";
696 $sql .=
", s.code_client, s.code_compta, s.client";
697 $sql .=
", s.code_fournisseur, s.code_compta_fournisseur, s.fournisseur";
698 $sql .=
", s.logo, s.email, s.entity";
699 $sql .=
", s.canvas";
700 $sql .=
", s.datec as dc, s.tms as dm";
701 $sql .=
" FROM ".MAIN_DB_PREFIX.
"societe as s";
702 if (empty($user->rights->societe->client->voir) && !$user->socid) {
703 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
705 $sql .=
" WHERE s.entity IN (".getEntity($companystatic->element).
")";
706 $sql .=
" AND s.fournisseur = ".Societe::SUPPLIER;
707 if (empty($user->rights->societe->client->voir) && !$user->socid) {
708 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
711 $parameters = array(
'socid' => $socid);
712 $reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters, $companystatic);
713 if (empty($reshook)) {
715 $sql .=
" AND s.rowid = ".((int) $socid);
718 $sql .= $hookmanager->resPrint;
719 $sql .=
" ORDER BY s.datec DESC";
720 $sql .= $db->plimit($max, 0);
722 $resql = $db->query($sql);
724 $num = $db->num_rows(
$resql);
725 startSimpleTable($langs->trans(
"BoxTitleLastModifiedSuppliers", min($max, $num)),
"societe/list.php",
"type=f", 1);
729 while ($i < $num && $i < $max) {
730 $objp = $db->fetch_object(
$resql);
732 $companystatic->id = $objp->socid;
733 $companystatic->name = $objp->name;
734 $companystatic->name_alias = $objp->name_alias;
735 $companystatic->code_client = $objp->code_client;
736 $companystatic->code_compta = $objp->code_compta;
737 $companystatic->client = $objp->client;
738 $companystatic->code_fournisseur = $objp->code_fournisseur;
739 $companystatic->code_compta_fournisseur = $objp->code_compta_fournisseur;
740 $companystatic->fournisseur = $objp->fournisseur;
741 $companystatic->logo = $objp->logo;
742 $companystatic->email = $objp->email;
743 $companystatic->entity = $objp->entity;
744 $companystatic->canvas = $objp->canvas;
746 print
'<tr class="oddeven">';
747 print
'<td class="nowraponall tdoverflowmax100">'.$companystatic->getNomUrl(1,
'supplier').
'</td>';
750 $obj = $companystatic;
759 if (((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) && $obj->fournisseur) {
760 $s .=
'<a class="vendor-back" title="'.$langs->trans(
"Supplier").
'" href="'.DOL_URL_ROOT.
'/fourn/card.php?socid='.$companystatic->id.
'">'.
dol_substr($langs->trans(
"Supplier"), 0, 1).
'</a>';
766 $datem = $db->jdate($objp->dm);
767 print
'<td class="right tddate" title="'.dol_escape_htmltag($langs->trans(
"DateModification").
': '.
dol_print_date($datem,
'dayhour',
'tzuserrel')).
'">';
805 if (!empty($conf->contrat->enabled) && $user->rights->contrat->lire && 0) {
806 $staticcontrat =
new Contrat($db);
808 $sql =
"SELECT s.rowid as socid, s.nom as name, s.name_alias";
809 $sql .=
", s.code_client, s.code_compta, s.client";
810 $sql .=
", s.code_fournisseur, s.code_compta_fournisseur, s.fournisseur";
811 $sql .=
", s.logo, s.email, s.entity";
812 $sql .=
", s.canvas";
813 $sql .=
", c.statut, c.rowid as contratid, p.ref, c.fin_validite as datefin, c.date_cloture as dateclo";
814 $sql .=
" FROM ".MAIN_DB_PREFIX.
"societe as s";
815 $sql .=
", ".MAIN_DB_PREFIX.
"contrat as c";
816 $sql .=
", ".MAIN_DB_PREFIX.
"product as p";
817 if (empty($user->rights->societe->client->voir) && !$socid) {
818 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
820 $sql .=
" WHERE c.entity IN (".getEntity($staticcontrat->element).
")";
821 $sql .=
" AND c.fk_soc = s.rowid";
822 $sql .=
" AND c.fk_product = p.rowid";
823 if (empty($user->rights->societe->client->voir) && !$socid) {
824 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
827 $sql .=
" AND s.rowid = ".((int) $socid);
829 $sql .=
" ORDER BY c.tms DESC";
830 $sql .= $db->plimit($max + 1, 0);
832 $resql = $db->query($sql);
834 $num = $db->num_rows(
$resql);
841 $obj = $db->fetch_object(
$resql);
843 $companystatic->id = $obj->socid;
844 $companystatic->name = $obj->name;
845 $companystatic->name_alias = $obj->name_alias;
846 $companystatic->code_client = $obj->code_client;
847 $companystatic->code_compta = $obj->code_compta;
848 $companystatic->client = $obj->client;
849 $companystatic->code_fournisseur = $obj->code_fournisseur;
850 $companystatic->code_compta_fournisseur = $obj->code_compta_fournisseur;
851 $companystatic->fournisseur = $obj->fournisseur;
852 $companystatic->logo = $obj->logo;
853 $companystatic->email = $obj->email;
854 $companystatic->entity = $obj->entity;
855 $companystatic->canvas = $obj->canvas;
857 $staticcontrat->id = $obj->contratid;
858 $staticcontrat->ref = $obj->ref;
860 print
'<tr class="oddeven">';
861 print
'<td class="nowraponall">'.$staticcontrat->getNomUrl(1).
'</td>';
862 print
'<td class="tdoverflowmax150">'.$companystatic->getNomUrl(1,
'customer', 44).
'</td>';
863 print
'<td class="right">'.$staticcontrat->LibStatut($obj->statut, 3).
'</td>';
883 if (!empty($conf->propal->enabled) && $user->rights->propal->lire) {
884 $sql =
"SELECT p.rowid as propalid, p.entity, p.total_ttc, p.total_ht, p.total_tva, p.ref, p.ref_client, p.fk_statut, p.datep as dp, p.fin_validite as dfv";
885 $sql .=
", s.rowid as socid, s.nom as name, s.name_alias";
886 $sql .=
", s.code_client, s.code_compta, s.client";
887 $sql .=
", s.code_fournisseur, s.code_compta_fournisseur, s.fournisseur";
888 $sql .=
", s.logo, s.email, s.entity";
889 $sql .=
", s.canvas";
890 $sql .=
" FROM ".MAIN_DB_PREFIX.
"propal as p";
891 $sql .=
", ".MAIN_DB_PREFIX.
"societe as s";
892 if (empty($user->rights->societe->client->voir) && !$socid) {
893 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
895 $sql .=
" WHERE p.entity IN (".getEntity($propalstatic->element).
")";
896 $sql .=
" AND p.fk_soc = s.rowid";
897 $sql .=
" AND p.fk_statut = ".Propal::STATUS_VALIDATED;
898 if (empty($user->rights->societe->client->voir) && !$socid) {
899 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
902 $sql .=
" AND s.rowid = ".((int) $socid);
904 $sql .=
" ORDER BY p.rowid DESC";
906 $resql = $db->query($sql);
908 $total = $total_ttc = 0;
909 $num = $db->num_rows(
$resql);
910 $nbofloop = min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD) ? 500 : $conf->global->MAIN_MAXLIST_OVERLOAD));
911 startSimpleTable(
"ProposalsOpened",
"comm/propal/list.php",
"search_status=1", 4, $num);
917 while ($i < $nbofloop) {
918 $obj = $db->fetch_object(
$resql);
923 $total += $obj->total_ht;
924 $total_ttc += $obj->total_ttc;
928 $propalstatic->id = $obj->propalid;
929 $propalstatic->ref = $obj->ref;
930 $propalstatic->ref_client = $obj->ref_client;
931 $propalstatic->total_ht = $obj->total_ht;
932 $propalstatic->total_tva = $obj->total_tva;
933 $propalstatic->total_ttc = $obj->total_ttc;
935 $companystatic->id = $obj->socid;
936 $companystatic->name = $obj->name;
937 $companystatic->name_alias = $obj->name_alias;
938 $companystatic->code_client = $obj->code_client;
939 $companystatic->code_compta = $obj->code_compta;
940 $companystatic->client = $obj->client;
941 $companystatic->code_fournisseur = $obj->code_fournisseur;
942 $companystatic->code_compta_fournisseur = $obj->code_compta_fournisseur;
943 $companystatic->fournisseur = $obj->fournisseur;
944 $companystatic->logo = $obj->logo;
945 $companystatic->email = $obj->email;
946 $companystatic->entity = $obj->entity;
947 $companystatic->canvas = $obj->canvas;
952 $warning = ($db->jdate($obj->dfv) < ($now - $conf->propal->cloture->warning_delay)) ?
img_warning($langs->trans(
"Late")) :
'';
954 print
'<tr class="oddeven">';
956 print
'<td class="nowrap" width="140">';
957 print
'<table class="nobordernopadding"><tr class="nocellnopadd">';
958 print
'<td class="nobordernopadding nowraponall">'.$propalstatic->getNomUrl(1).
'</td>';
959 print
'<td width="18" class="nobordernopadding nowrap">'.$warning.
'</td>';
960 print
'<td width="16" align="center" class="nobordernopadding">'.$formfile->getDocumentsLink($propalstatic->element, $filename, $filedir).
'</td>';
965 print
'<td class="nowrap">'.$companystatic->getNomUrl(1,
'customer', 44).
'</td>';
966 $datem = $db->jdate($obj->dp);
967 print
'<td class="center tddate" title="'.dol_escape_htmltag($langs->trans(
"Date").
': '.
dol_print_date($datem,
'day',
'tzserver')).
'">';
970 print
'<td class="right tdamount amount">'.price(!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc).
'</td>';
971 print
'<td align="center" width="14">'.$propalstatic->LibStatut($obj->fk_statut, 3).
'</td>';
976 $total += $obj->total_ht;
977 $total_ttc += $obj->total_ttc;
981 print
'<tr class="oddeven">';
982 print
'<td class="nowrap" colspan="5">';
983 print
'<span class="opacitymedium">'.$langs->trans(
"More").
'... ('.$othernb.
')</span>';
989 addSummaryTableLine(5, $num, $nbofloop, empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $total_ttc : $total,
"NoProposal",
true);
1002 if (!empty($conf->commande->enabled) && $user->rights->commande->lire) {
1003 $sql =
"SELECT c.rowid as commandeid, c.total_ttc, c.total_ht, c.total_tva, c.ref, c.ref_client, c.fk_statut, c.date_valid as dv, c.facture as billed";
1004 $sql .=
", s.rowid as socid, s.nom as name, s.name_alias";
1005 $sql .=
", s.code_client, s.code_compta, s.client";
1006 $sql .=
", s.code_fournisseur, s.code_compta_fournisseur, s.fournisseur";
1007 $sql .=
", s.logo, s.email, s.entity";
1008 $sql .=
", s.canvas";
1009 $sql .=
" FROM ".MAIN_DB_PREFIX.
"commande as c";
1010 $sql .=
", ".MAIN_DB_PREFIX.
"societe as s";
1011 if (empty($user->rights->societe->client->voir) && !$socid) {
1012 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
1014 $sql .=
" WHERE c.entity IN (".getEntity($orderstatic->element).
")";
1015 $sql .=
" AND c.fk_soc = s.rowid";
1017 if (empty($user->rights->societe->client->voir) && !$socid) {
1018 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
1021 $sql .=
" AND s.rowid = ".((int) $socid);
1023 $sql .=
" ORDER BY c.rowid DESC";
1025 $resql = $db->query($sql);
1027 $total = $total_ttc = 0;
1028 $num = $db->num_rows(
$resql);
1029 $nbofloop = min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD) ? 500 : $conf->global->MAIN_MAXLIST_OVERLOAD));
1036 while ($i < $nbofloop) {
1037 $obj = $db->fetch_object(
$resql);
1042 $total += $obj->total_ht;
1043 $total_ttc += $obj->total_ttc;
1047 $orderstatic->id = $obj->commandeid;
1048 $orderstatic->ref = $obj->ref;
1049 $orderstatic->ref_client = $obj->ref_client;
1050 $orderstatic->statut = $obj->fk_statut;
1051 $orderstatic->total_ht = $obj->total_ht;
1052 $orderstatic->total_tva = $obj->total_tva;
1053 $orderstatic->total_ttc = $obj->total_ttc;
1055 $companystatic->id = $obj->socid;
1056 $companystatic->name = $obj->name;
1057 $companystatic->name_alias = $obj->name_alias;
1058 $companystatic->code_client = $obj->code_client;
1059 $companystatic->code_compta = $obj->code_compta;
1060 $companystatic->client = $obj->client;
1061 $companystatic->code_fournisseur = $obj->code_fournisseur;
1062 $companystatic->code_compta_fournisseur = $obj->code_compta_fournisseur;
1063 $companystatic->fournisseur = $obj->fournisseur;
1064 $companystatic->logo = $obj->logo;
1065 $companystatic->email = $obj->email;
1066 $companystatic->entity = $obj->entity;
1067 $companystatic->canvas = $obj->canvas;
1074 print
'<tr class="oddeven">';
1076 print
'<td class="nowrap" width="140">';
1077 print
'<table class="nobordernopadding"><tr class="nocellnopadd">';
1078 print
'<td class="nobordernopadding nowraponall">'.$orderstatic->getNomUrl(1).
'</td>';
1079 print
'<td width="18" class="nobordernopadding nowrap"></td>';
1080 print
'<td width="16" align="center" class="nobordernopadding">'.$formfile->getDocumentsLink($orderstatic->element, $filename, $filedir).
'</td>';
1085 print
'<td class="nowrap">'.$companystatic->getNomUrl(1,
'customer', 44).
'</td>';
1086 $datem = $db->jdate($obj->dv);
1087 print
'<td class="center tddate" title="'.dol_escape_htmltag($langs->trans(
"DateValue").
': '.
dol_print_date($datem,
'day',
'tzserver')).
'">';
1091 print
'<td class="right tdamount amount">'.price(!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc).
'</td>';
1092 print
'<td align="center" width="14">'.$orderstatic->LibStatut($obj->fk_statut, $obj->billed, 3).
'</td>';
1097 $total += $obj->total_ht;
1098 $total_ttc += $obj->total_ttc;
1102 print
'<tr class="oddeven">';
1103 print
'<td class="nowrap" colspan="5">';
1104 print
'<span class="opacitymedium">'.$langs->trans(
"More").
'... ('.$othernb.
')</span>';
1110 addSummaryTableLine(5, $num, $nbofloop, empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $total_ttc : $total,
"None",
true);
1122 $parameters = array(
'user' => $user);
1123 $reshook = $hookmanager->executeHooks(
'dashboardCommercials', $parameters, $object);