33require
'../main.inc.php';
41require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
42require_once DOL_DOCUMENT_ROOT.
'/core/lib/agenda.lib.php';
43require_once DOL_DOCUMENT_ROOT.
'/comm/action/class/actioncomm.class.php';
44require_once DOL_DOCUMENT_ROOT.
'/comm/propal/class/propal.class.php';
45require_once DOL_DOCUMENT_ROOT.
'/commande/class/commande.class.php';
46require_once DOL_DOCUMENT_ROOT.
'/fourn/class/fournisseur.commande.class.php';
47require_once DOL_DOCUMENT_ROOT.
'/societe/class/client.class.php';
48require_once DOL_DOCUMENT_ROOT.
'/supplier_proposal/class/supplier_proposal.class.php';
49require_once DOL_DOCUMENT_ROOT.
'/core/lib/propal.lib.php';
50require_once DOL_DOCUMENT_ROOT.
'/core/lib/order.lib.php';
52 require_once DOL_DOCUMENT_ROOT.
'/contrat/class/contrat.class.php';
55 require_once DOL_DOCUMENT_ROOT.
'/fichinter/class/fichinter.class.php';
60$hookmanager->initHooks(array(
'commercialindex'));
63$langs->loadLangs(array(
"boxes",
"commercial",
"contracts",
"orders",
"propal",
"supplier_proposal"));
65$action =
GETPOST(
'action',
'aZ09');
70if (!empty($user->socid) && $user->socid > 0) {
72 $socid = $user->socid;
82if (!$user->hasRight(
'propal',
'read') && !$user->hasRight(
'supplier_proposal',
'read') && !$user->hasRight(
'commande',
'read') && !$user->hasRight(
'fournisseur',
'commande',
'read')
83 && !$user->hasRight(
'supplier_order',
'read') && !$user->hasRight(
'fichinter',
'read') && !$user->hasRight(
'contrat',
'read')) {
104$supplierproposalstatic =
null;
106$supplierorderstatic =
null;
107$fichinterstatic =
null;
125llxHeader(
"", $langs->trans(
"CommercialArea"));
129print
'<div class="fichecenter">';
131print
'<div class="twocolumns">';
133print
'<div class="firstcolumn fichehalfleft boxhalfleft" id="boxhalfleft">';
149if (
isModEnabled(
"propal") && $user->hasRight(
"propal",
"lire") && is_object($propalstatic)) {
150 $sql =
"SELECT p.rowid, p.ref, p.ref_client, p.total_ht, p.total_tva, p.total_ttc, p.fk_statut as status";
151 $sql .=
", s.rowid as socid, s.nom as name, s.name_alias";
152 $sql .=
", s.code_client, s.code_compta as code_compta_client, s.client";
153 $sql .=
", s.code_fournisseur, s.code_compta_fournisseur, s.fournisseur";
154 $sql .=
", s.logo, s.email, s.entity";
155 $sql .=
", s.canvas";
156 $sql .=
" FROM ".MAIN_DB_PREFIX.
"propal as p,";
157 $sql .=
" ".MAIN_DB_PREFIX.
"societe as s";
158 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
159 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
161 $sql .=
" WHERE p.entity IN (".getEntity($propalstatic->element).
")";
162 $sql .=
" AND p.fk_soc = s.rowid";
163 $sql .=
" AND p.fk_statut = ".Propal::STATUS_DRAFT;
164 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
165 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
168 $sql .=
" AND s.rowid = ".((int) $socid);
171 $parameters = array(
'socid' => $user->socid);
172 $reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters, $propalstatic);
173 $sql .= $hookmanager->resPrint;
175 $resql =
$db->query($sql);
178 $num =
$db->num_rows($resql);
179 $nbofloop = min($num, $maxofloop);
180 startSimpleTable(
"ProposalsDraft",
"comm/propal/list.php",
"search_status=".
Propal::STATUS_DRAFT, 2, $num);
186 while ($i < $nbofloop) {
187 $obj =
$db->fetch_object($resql);
192 $total += (
getDolGlobalString(
'MAIN_DASHBOARD_USE_TOTAL_HT') ? $obj->total_ht : $obj->total_ttc);
196 $propalstatic->id = $obj->rowid;
197 $propalstatic->ref = $obj->ref;
198 $propalstatic->ref_client = $obj->ref_client;
199 $propalstatic->ref_customer = $obj->ref_client;
200 $propalstatic->total_ht = $obj->total_ht;
201 $propalstatic->total_tva = $obj->total_tva;
202 $propalstatic->total_ttc = $obj->total_ttc;
203 $propalstatic->statut = $obj->status;
204 $propalstatic->status = $obj->status;
206 $companystatic->id = $obj->socid;
207 $companystatic->name = $obj->name;
208 $companystatic->name_alias = $obj->name_alias;
209 $companystatic->code_client = $obj->code_client;
210 $companystatic->code_compta = $obj->code_compta_client;
211 $companystatic->code_compta_client = $obj->code_compta_client;
212 $companystatic->client = $obj->client;
213 $companystatic->code_fournisseur = $obj->code_fournisseur;
214 $companystatic->code_compta_fournisseur = $obj->code_compta_fournisseur;
215 $companystatic->fournisseur = $obj->fournisseur;
216 $companystatic->logo = $obj->logo;
217 $companystatic->email = $obj->email;
218 $companystatic->entity = $obj->entity;
219 $companystatic->canvas = $obj->canvas;
221 print
'<tr class="oddeven">';
222 print
'<td class="nowraponall tdoverflowmax125 minwidth75">'.$propalstatic->getNomUrl(1).
'</td>';
223 print
'<td class="nowrap tdoverflowmax250">'.$companystatic->getNomUrl(1,
'customer').
'</td>';
224 print
'<td class="nowrap right tdamount amount">'.price((
getDolGlobalString(
'MAIN_DASHBOARD_USE_TOTAL_HT') ? $obj->total_ht : $obj->total_ttc)).
'</td>';
228 $total += (
getDolGlobalString(
'MAIN_DASHBOARD_USE_TOTAL_HT') ? $obj->total_ht : $obj->total_ttc);
232 print
'<tr class="oddeven">';
233 print
'<td class="nowrap" colspan="5">';
234 print
'<span class="opacitymedium">'.$langs->trans(
"More").
'...'.($othernb < $maxofloop ?
' ('.$othernb.
')' :
'').
'</span>';
240 addSummaryTableLine(3, $num, $nbofloop, $total,
"NoProposal");
241 finishSimpleTable(
true);
254if (
isModEnabled(
'supplier_proposal') && $user->hasRight(
"supplier_proposal",
"lire") && is_object($supplierproposalstatic)) {
255 $sql =
"SELECT p.rowid, p.ref, p.total_ht, p.total_tva, p.total_ttc, p.fk_statut as status";
256 $sql .=
", s.rowid as socid, s.nom as name, s.name_alias";
257 $sql .=
", s.code_client, s.code_compta as code_compta_client, s.client";
258 $sql .=
", s.code_fournisseur, s.code_compta_fournisseur, s.fournisseur";
259 $sql .=
", s.logo, s.email, s.entity";
260 $sql .=
", s.canvas";
261 $sql .=
" FROM ".MAIN_DB_PREFIX.
"supplier_proposal as p,";
262 $sql .=
" ".MAIN_DB_PREFIX.
"societe as s";
263 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
264 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
266 $sql .=
" WHERE p.entity IN (".getEntity($supplierproposalstatic->element).
")";
267 $sql .=
" AND p.fk_statut = ".SupplierProposal::STATUS_DRAFT;
268 $sql .=
" AND p.fk_soc = s.rowid";
269 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
270 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
273 $sql .=
" AND s.rowid = ".((int) $socid);
276 $parameters = array(
'socid' => $user->socid);
277 $reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters, $supplierproposalstatic);
278 $sql .= $hookmanager->resPrint;
279 $resql =
$db->query($sql);
282 $num =
$db->num_rows($resql);
283 $nbofloop = min($num, $maxofloop);
290 while ($i < $nbofloop) {
291 $obj =
$db->fetch_object($resql);
296 $total += (
getDolGlobalString(
'MAIN_DASHBOARD_USE_TOTAL_HT') ? $obj->total_ht : $obj->total_ttc);
300 $supplierproposalstatic->id = $obj->rowid;
301 $supplierproposalstatic->ref = $obj->ref;
302 $supplierproposalstatic->total_ht = $obj->total_ht;
303 $supplierproposalstatic->total_tva = $obj->total_tva;
304 $supplierproposalstatic->total_ttc = $obj->total_ttc;
305 $supplierproposalstatic->statut = $obj->status;
306 $supplierproposalstatic->status = $obj->status;
308 $companystatic->id = $obj->socid;
309 $companystatic->name = $obj->name;
310 $companystatic->name_alias = $obj->name_alias;
311 $companystatic->code_client = $obj->code_client;
312 $companystatic->code_compta_client = $obj->code_compta_client;
313 $companystatic->client = $obj->client;
314 $companystatic->code_fournisseur = $obj->code_fournisseur;
315 $companystatic->code_compta_fournisseur = $obj->code_compta_fournisseur;
316 $companystatic->fournisseur = $obj->fournisseur;
317 $companystatic->logo = $obj->logo;
318 $companystatic->email = $obj->email;
319 $companystatic->entity = $obj->entity;
320 $companystatic->canvas = $obj->canvas;
322 print
'<tr class="oddeven">';
323 print
'<td class="nowraponall tdoverflowmax125 minwidth75">'.$supplierproposalstatic->getNomUrl(1).
'</td>';
324 print
'<td class="nowrap tdoverflowmax250">'.$companystatic->getNomUrl(1,
'supplier').
'</td>';
325 print
'<td class="nowrap right tdamount amount">'.price(
getDolGlobalString(
'MAIN_DASHBOARD_USE_TOTAL_HT') ? $obj->total_ht : $obj->total_ttc).
'</td>';
329 $total += (
getDolGlobalString(
'MAIN_DASHBOARD_USE_TOTAL_HT') ? $obj->total_ht : $obj->total_ttc);
333 print
'<tr class="oddeven">';
334 print
'<td class="nowrap" colspan="5">';
335 print
'<span class="opacitymedium">'.$langs->trans(
"More").
'...'.($othernb < $maxofloop ?
' ('.$othernb.
')' :
'').
'</span>';
341 addSummaryTableLine(3, $num, $nbofloop, $total,
"NoProposal");
342 finishSimpleTable(
true);
355if (
isModEnabled(
'order') && $user->hasRight(
'commande',
'lire') && is_object($orderstatic)) {
356 $sql =
"SELECT c.rowid, c.ref, c.ref_client, c.total_ht, c.total_tva, c.total_ttc, c.fk_statut as status";
357 $sql .=
", s.rowid as socid, s.nom as name, s.name_alias";
358 $sql .=
", s.code_client, s.code_compta as code_compta_client, s.client";
359 $sql .=
", s.code_fournisseur, s.code_compta_fournisseur, s.fournisseur";
360 $sql .=
", s.logo, s.email, s.entity";
361 $sql .=
", s.canvas";
362 $sql .=
" FROM ".MAIN_DB_PREFIX.
"commande as c,";
363 $sql .=
" ".MAIN_DB_PREFIX.
"societe as s";
364 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
365 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
367 $sql .=
" WHERE c.entity IN (".getEntity($orderstatic->element).
")";
368 $sql .=
" AND c.fk_statut = ".Commande::STATUS_DRAFT;
369 $sql .=
" AND c.fk_soc = s.rowid";
370 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
371 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
374 $sql .=
" AND c.fk_soc = ".((int) $socid);
377 $parameters = array(
'socid' => $user->socid);
378 $reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters, $orderstatic);
379 $sql .= $hookmanager->resPrint;
380 $resql =
$db->query($sql);
383 $num =
$db->num_rows($resql);
384 $nbofloop = min($num, $maxofloop);
391 while ($i < $nbofloop) {
392 $obj =
$db->fetch_object($resql);
397 $total += (
getDolGlobalString(
'MAIN_DASHBOARD_USE_TOTAL_HT') ? $obj->total_ht : $obj->total_ttc);
401 $orderstatic->id = $obj->rowid;
402 $orderstatic->ref = $obj->ref;
403 $orderstatic->ref_client = $obj->ref_client;
404 $orderstatic->total_ht = $obj->total_ht;
405 $orderstatic->total_tva = $obj->total_tva;
406 $orderstatic->total_ttc = $obj->total_ttc;
407 $orderstatic->statut = $obj->status;
408 $orderstatic->status = $obj->status;
410 $companystatic->id = $obj->socid;
411 $companystatic->name = $obj->name;
412 $companystatic->name_alias = $obj->name_alias;
413 $companystatic->code_client = $obj->code_client;
414 $companystatic->code_compta = $obj->code_compta_client;
415 $companystatic->code_compta_client = $obj->code_compta_client;
416 $companystatic->client = $obj->client;
417 $companystatic->code_fournisseur = $obj->code_fournisseur;
418 $companystatic->code_compta_fournisseur = $obj->code_compta_fournisseur;
419 $companystatic->fournisseur = $obj->fournisseur;
420 $companystatic->logo = $obj->logo;
421 $companystatic->email = $obj->email;
422 $companystatic->entity = $obj->entity;
423 $companystatic->canvas = $obj->canvas;
425 print
'<tr class="oddeven">';
426 print
'<td class="nowraponall tdoverflowmax125 minwidth75">'.$orderstatic->getNomUrl(1).
'</td>';
427 print
'<td class="nowrap tdoverflowmax250">'.$companystatic->getNomUrl(1,
'customer').
'</td>';
428 print
'<td class="nowrap right tdamount amount">'.price(
getDolGlobalString(
'MAIN_DASHBOARD_USE_TOTAL_HT') ? $obj->total_ht : $obj->total_ttc).
'</td>';
432 $total += (
getDolGlobalString(
'MAIN_DASHBOARD_USE_TOTAL_HT') ? $obj->total_ht : $obj->total_ttc);
436 print
'<tr class="oddeven">';
437 print
'<td class="nowrap" colspan="5">';
438 print
'<span class="opacitymedium">'.$langs->trans(
"More").
'...'.($othernb < $maxofloop ?
' ('.$othernb.
')' :
'').
'</span>';
444 addSummaryTableLine(3, $num, $nbofloop, $total,
"NoOrder");
445 finishSimpleTable(
true);
458if ((
isModEnabled(
"fournisseur") && !
getDolGlobalString(
'MAIN_USE_NEW_SUPPLIERMOD') && $user->hasRight(
"fournisseur",
"commande",
"lire")) || (
isModEnabled(
"supplier_order") && $user->hasRight(
"supplier_order",
"lire"))) {
461 $sql =
"SELECT cf.rowid, cf.ref, cf.ref_supplier, cf.total_ht, cf.total_tva, cf.total_ttc, cf.fk_statut as status";
462 $sql .=
", s.rowid as socid, s.nom as name, s.name_alias";
463 $sql .=
", s.code_client, s.code_compta, s.client";
464 $sql .=
", s.code_fournisseur, s.code_compta_fournisseur, s.fournisseur";
465 $sql .=
", s.logo, s.email, s.entity";
466 $sql .=
", s.canvas";
467 $sql .=
" FROM ".MAIN_DB_PREFIX.
"commande_fournisseur as cf,";
468 $sql .=
" ".MAIN_DB_PREFIX.
"societe as s";
469 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
470 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
472 $sql .=
" WHERE cf.entity IN (".getEntity($supplierorderstatic->element).
")";
473 $sql .=
" AND cf.fk_statut = ".CommandeFournisseur::STATUS_DRAFT;
474 $sql .=
" AND cf.fk_soc = s.rowid";
475 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
476 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
479 $sql .=
" AND cf.fk_soc = ".((int) $socid);
482 $parameters = array(
'socid' => $user->socid);
483 $reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters, $supplierorderstatic);
484 $sql .= $hookmanager->resPrint;
485 $resql =
$db->query($sql);
488 $num =
$db->num_rows($resql);
489 $nbofloop = min($num, $maxofloop);
496 while ($i < $nbofloop) {
497 $obj =
$db->fetch_object($resql);
502 $total += (
getDolGlobalString(
'MAIN_DASHBOARD_USE_TOTAL_HT') ? $obj->total_ht : $obj->total_ttc);
506 $supplierorderstatic->id = $obj->rowid;
507 $supplierorderstatic->ref = $obj->ref;
508 $supplierorderstatic->ref_supplier = $obj->ref_supplier;
509 $supplierorderstatic->total_ht = $obj->total_ht;
510 $supplierorderstatic->total_tva = $obj->total_tva;
511 $supplierorderstatic->total_ttc = $obj->total_ttc;
512 $supplierorderstatic->statut = $obj->status;
513 $supplierorderstatic->status = $obj->status;
515 $companystatic->id = $obj->socid;
516 $companystatic->name = $obj->name;
517 $companystatic->name_alias = $obj->name_alias;
518 $companystatic->code_client = $obj->code_client;
519 $companystatic->code_compta = $obj->code_compta;
520 $companystatic->code_compta_client = $obj->code_compta;
521 $companystatic->client = $obj->client;
522 $companystatic->code_fournisseur = $obj->code_fournisseur;
523 $companystatic->code_compta_fournisseur = $obj->code_compta_fournisseur;
524 $companystatic->fournisseur = $obj->fournisseur;
525 $companystatic->logo = $obj->logo;
526 $companystatic->email = $obj->email;
527 $companystatic->entity = $obj->entity;
528 $companystatic->canvas = $obj->canvas;
530 print
'<tr class="oddeven">';
531 print
'<td class="nowraponall tdoverflowmax125 minwidth75">'.$supplierorderstatic->getNomUrl(1).
'</td>';
532 print
'<td class="nowrap tdoverflowmax250">'.$companystatic->getNomUrl(1,
'supplier').
'</td>';
533 print
'<td class="nowrap right tdamount amount">'.price(
getDolGlobalString(
'MAIN_DASHBOARD_USE_TOTAL_HT') ? $obj->total_ht : $obj->total_ttc).
'</td>';
537 $total += (
getDolGlobalString(
'MAIN_DASHBOARD_USE_TOTAL_HT') ? $obj->total_ht : $obj->total_ttc);
541 print
'<tr class="oddeven">';
542 print
'<td class="nowrap" colspan="5">';
543 print
'<span class="opacitymedium">'.$langs->trans(
"More").
'...'.($othernb < $maxofloop ?
' ('.$othernb.
')' :
'').
'</span>';
549 addSummaryTableLine(3, $num, $nbofloop, $total,
"NoOrder");
550 finishSimpleTable(
true);
562if (
isModEnabled(
'intervention') && is_object($fichinterstatic)) {
563 $sql =
"SELECT f.rowid, f.ref, s.nom as name, f.fk_statut, f.duree as duration";
564 $sql .=
", s.rowid as socid, s.nom as name, s.name_alias";
565 $sql .=
", s.code_client, s.code_compta as code_compta_client, s.client";
566 $sql .=
", s.code_fournisseur, s.code_compta_fournisseur, s.fournisseur";
567 $sql .=
", s.logo, s.email, s.entity";
568 $sql .=
", s.canvas";
569 $sql .=
" FROM ".MAIN_DB_PREFIX.
"fichinter as f";
570 $sql .=
", ".MAIN_DB_PREFIX.
"societe as s";
571 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
572 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
574 $sql .=
" WHERE f.entity IN (".getEntity(
'intervention').
")";
575 $sql .=
" AND f.fk_soc = s.rowid";
576 $sql .=
" AND f.fk_statut = 0";
578 $sql .=
" AND f.fk_soc = ".((int) $socid);
580 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
581 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
585 $parameters = array(
'socid' => $user->socid);
586 $reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters, $fichinterstatic);
587 $sql .= $hookmanager->resPrint;
588 $resql =
$db->query($sql);
590 $num =
$db->num_rows($resql);
591 $nbofloop = min($num, $maxofloop);
599 while ($i < $nbofloop) {
600 $obj =
$db->fetch_object($resql);
602 $fichinterstatic->id = $obj->rowid;
603 $fichinterstatic->ref = $obj->ref;
604 $fichinterstatic->statut = $obj->fk_statut;
605 $fichinterstatic->status = $obj->fk_statut;
607 $companystatic->id = $obj->socid;
608 $companystatic->name = $obj->name;
609 $companystatic->name_alias = $obj->name_alias;
610 $companystatic->code_client = $obj->code_client;
611 $companystatic->code_compta = $obj->code_compta_client;
612 $companystatic->code_compta_client = $obj->code_compta_client;
613 $companystatic->client = $obj->client;
614 $companystatic->code_fournisseur = $obj->code_fournisseur;
615 $companystatic->code_compta_fournisseur = $obj->code_compta_fournisseur;
616 $companystatic->fournisseur = $obj->fournisseur;
617 $companystatic->logo = $obj->logo;
618 $companystatic->email = $obj->email;
619 $companystatic->entity = $obj->entity;
620 $companystatic->canvas = $obj->canvas;
622 print
'<tr class="oddeven">';
623 print
'<td class="tdoverflowmax125 minwidth75">';
624 print $fichinterstatic->getNomUrl(1);
626 print
'<td class="tdoverflowmax250 minwidth100">';
627 print $companystatic->getNomUrl(1,
'customer');
629 print
'<td class="nowraponall tdoverflowmax100 right">';
637 addSummaryTableLine(3, $num, $nbofloop, $total,
"NoIntervention");
638 finishSimpleTable(
true);
645print
'</div><div class="secondcolumn fichehalfright boxhalfright" id="boxhalfright">';
756if (
isModEnabled(
'propal') && is_object($propalstatic)) {
757 $sql =
"SELECT p.rowid, p.entity, p.ref, p.fk_statut as status, p.tms as datem,";
758 $sql .=
" s.nom as socname, s.rowid as socid, s.canvas, s.client, s.email, s.code_compta as code_compta_client";
759 $sql .=
" FROM ".MAIN_DB_PREFIX.
"propal as p,";
760 $sql .=
" ".MAIN_DB_PREFIX.
"societe as s";
761 $sql .=
" WHERE p.entity IN (".getEntity($propalstatic->element).
")";
762 $sql .=
" AND p.fk_soc = s.rowid";
765 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
766 $search_sale = $user->id;
769 if ($search_sale && $search_sale !=
'-1') {
770 if ($search_sale == -2) {
771 $sql .=
" AND NOT EXISTS (SELECT sc.fk_soc FROM ".MAIN_DB_PREFIX.
"societe_commerciaux as sc WHERE sc.fk_soc = p.fk_soc)";
772 } elseif ($search_sale > 0) {
773 $sql .=
" AND EXISTS (SELECT sc.fk_soc FROM ".MAIN_DB_PREFIX.
"societe_commerciaux as sc WHERE sc.fk_soc = p.fk_soc AND sc.fk_user = ".((int) $search_sale).
")";
778 $sql .=
" AND p.fk_soc = ".((int) $socid);
781 $parameters = array(
'socid' => $user->socid);
782 $reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters, $propalstatic);
783 $sql .= $hookmanager->resPrint;
784 $sql .=
" ORDER BY p.tms DESC";
786 $sql .=
$db->plimit($max, 0);
788 $resql =
$db->query($sql);
790 $num =
$db->num_rows($resql);
792 startSimpleTable($langs->trans(
"LastModifiedProposals", $max),
"comm/propal/list.php",
"sortfield=p.tms&sortorder=DESC", 2, -1,
'propal');
797 $obj =
$db->fetch_object($resql);
799 $propalstatic->id = $obj->rowid;
800 $propalstatic->ref = $obj->ref;
801 $propalstatic->status = $obj->status;
803 $companystatic->id = $obj->socid;
804 $companystatic->name = $obj->socname;
805 $companystatic->client = $obj->client;
806 $companystatic->canvas = $obj->canvas;
807 $companystatic->email = $obj->email;
808 $companystatic->code_compta = $obj->code_compta_client;
809 $companystatic->code_compta_client = $obj->code_compta_client;
813 $urlsource = $_SERVER[
'PHP_SELF'].
'?id='.$obj->rowid;
815 print
'<tr class="oddeven">';
817 print
'<td class="nowrap">';
818 print
'<table class="nobordernopadding">';
819 print
'<tr class="nocellnopadd">';
820 print
'<td width="96" class="nobordernopadding nowrap">'.$propalstatic->getNomUrl(1).
'</td>';
821 print
'<td width="16" class="nobordernopadding nowrap"></td>';
822 print
'<td width="16" class="nobordernopadding right">'.$formfile->getDocumentsLink($propalstatic->element, $filename, $filedir).
'</td>';
827 print
'<td class="tdoverflowmax100">'.$companystatic->getNomUrl(1,
'customer').
'</td>';
829 $datem =
$db->jdate($obj->datem);
830 print
'<td class="center" title="'.dol_escape_htmltag($langs->trans(
"DateModification").
': '.
dol_print_date($datem,
'dayhour',
'tzuserrel')).
'">';
834 print
'<td class="right">'.$propalstatic->LibStatut($obj->status, 3).
'</td>';
842 finishSimpleTable(
true);
857 $sql =
"SELECT c.rowid, c.entity, c.ref, c.fk_statut as status, c.facture, c.date_cloture as datec, c.tms as datem,";
858 $sql .=
" s.nom as name, s.rowid as socid";
859 $sql .=
", s.client";
860 $sql .=
", s.code_client";
861 $sql .=
", s.canvas";
862 $sql .=
" FROM ".MAIN_DB_PREFIX.
"commande as c,";
863 $sql .=
" ".MAIN_DB_PREFIX.
"societe as s";
864 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
865 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
867 $sql .=
" WHERE c.fk_soc = s.rowid";
868 $sql .=
" AND c.entity IN (".getEntity(
'commande').
")";
871 $sql .=
" AND c.fk_soc = ".((int) $socid);
873 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
874 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
877 $parameters = array(
'socid' => $user->socid);
878 $reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters, $orderstatic);
879 $sql .= $hookmanager->resPrint;
880 $sql .=
" ORDER BY c.tms DESC";
881 $sql .=
$db->plimit($max, 0);
883 $resql =
$db->query($sql);
885 $num =
$db->num_rows($resql);
887 startSimpleTable($langs->trans(
"LastModifiedOrders", $max),
"commande/list.php",
"sortfield=c.tms&sortorder=DESC", 2, -1,
'order');
892 $obj =
$db->fetch_object($resql);
894 print
'<tr class="oddeven">';
895 print
'<td width="20%" class="nowrap">';
897 $commandestatic->id = $obj->rowid;
898 $commandestatic->ref = $obj->ref;
900 $companystatic->id = $obj->socid;
901 $companystatic->name = $obj->name;
902 $companystatic->client = $obj->client;
903 $companystatic->code_client = $obj->code_client;
904 $companystatic->canvas = $obj->canvas;
906 print
'<table class="nobordernopadding"><tr class="nocellnopadd">';
907 print
'<td width="96" class="nobordernopadding nowrap">';
908 print $commandestatic->getNomUrl(1);
911 print
'<td width="16" class="nobordernopadding nowrap">';
915 print
'<td width="16" class="nobordernopadding hideonsmartphone right">';
918 $urlsource = $_SERVER[
'PHP_SELF'].
'?id='.$obj->rowid;
919 print $formfile->getDocumentsLink($commandestatic->element, $filename, $filedir);
920 print
'</td></tr></table>';
924 print
'<td class="nowrap">';
925 print $companystatic->getNomUrl(1,
'company', 16);
928 $datem =
$db->jdate($obj->datem);
929 print
'<td class="center" title="'.dol_escape_htmltag($langs->trans(
"DateModification").
': '.
dol_print_date($datem,
'dayhour',
'tzuserrel')).
'">';
933 print
'<td class="right">'.$commandestatic->LibStatut($obj->status, $obj->facture, 3).
'</td>';
938 finishSimpleTable(
true);
1039if (
isModEnabled(
'contract') && $user->hasRight(
"contrat",
"lire") && 0) {
1042 $sql =
"SELECT s.rowid as socid, s.nom as name, s.name_alias";
1043 $sql .=
", s.code_client, s.code_compta as code_compta_client, s.client";
1044 $sql .=
", s.code_fournisseur, s.code_compta_fournisseur, s.fournisseur";
1045 $sql .=
", s.logo, s.email, s.entity";
1046 $sql .=
", s.canvas";
1047 $sql .=
", c.statut, c.rowid as contratid, p.ref, c.fin_validite as datefin, c.date_cloture as dateclo";
1048 $sql .=
" FROM ".MAIN_DB_PREFIX.
"societe as s";
1049 $sql .=
", ".MAIN_DB_PREFIX.
"contrat as c";
1050 $sql .=
", ".MAIN_DB_PREFIX.
"product as p";
1051 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
1052 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
1054 $sql .=
" WHERE c.entity IN (".getEntity($staticcontrat->element).
")";
1055 $sql .=
" AND c.fk_soc = s.rowid";
1056 $sql .=
" AND c.fk_product = p.rowid";
1057 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
1058 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
1061 $sql .=
" AND s.rowid = ".((int) $socid);
1064 $parameters = array(
'socid' => $user->socid);
1065 $reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters, $staticcontrat);
1066 $sql .= $hookmanager->resPrint;
1067 $sql .=
" ORDER BY c.tms DESC";
1068 $sql .=
$db->plimit($max + 1, 0);
1070 $resql =
$db->query($sql);
1072 $num =
$db->num_rows($resql);
1073 startSimpleTable($langs->trans(
"LastContracts", $max),
"",
"", 2);
1079 $obj =
$db->fetch_object($resql);
1081 $companystatic->id = $obj->socid;
1082 $companystatic->name = $obj->name;
1083 $companystatic->name_alias = $obj->name_alias;
1084 $companystatic->code_client = $obj->code_client;
1085 $companystatic->code_compta = $obj->code_compta_client;
1086 $companystatic->code_compta_client = $obj->code_compta_client;
1087 $companystatic->client = $obj->client;
1088 $companystatic->code_fournisseur = $obj->code_fournisseur;
1089 $companystatic->code_compta_fournisseur = $obj->code_compta_fournisseur;
1090 $companystatic->fournisseur = $obj->fournisseur;
1091 $companystatic->logo = $obj->logo;
1092 $companystatic->email = $obj->email;
1093 $companystatic->entity = $obj->entity;
1094 $companystatic->canvas = $obj->canvas;
1096 $staticcontrat->id = $obj->contratid;
1097 $staticcontrat->ref = $obj->ref;
1099 print
'<tr class="oddeven">';
1100 print
'<td class="nowraponall">'.$staticcontrat->getNomUrl(1).
'</td>';
1101 print
'<td class="tdoverflowmax150">'.$companystatic->getNomUrl(1,
'customer').
'</td>';
1102 print
'<td class="right">'.$staticcontrat->LibStatut($obj->statut, 3).
'</td>';
1109 addSummaryTableLine(2, $num);
1110 finishSimpleTable(
true);
1122if (
isModEnabled(
"propal") && $user->hasRight(
"propal",
"lire")) {
1123 $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";
1124 $sql .=
", s.rowid as socid, s.nom as name, s.name_alias";
1125 $sql .=
", s.code_client, s.code_compta as code_compta_client, s.client";
1126 $sql .=
", s.code_fournisseur, s.code_compta_fournisseur, s.fournisseur";
1127 $sql .=
", s.logo, s.email, s.entity";
1128 $sql .=
", s.canvas";
1129 $sql .=
" FROM ".MAIN_DB_PREFIX.
"propal as p";
1130 $sql .=
", ".MAIN_DB_PREFIX.
"societe as s";
1131 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
1132 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
1134 $sql .=
" WHERE p.entity IN (".getEntity($propalstatic->element).
")";
1135 $sql .=
" AND p.fk_soc = s.rowid";
1136 $sql .=
" AND p.fk_statut = ".Propal::STATUS_VALIDATED;
1137 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
1138 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
1141 $sql .=
" AND s.rowid = ".((int) $socid);
1144 $parameters = array(
'socid' => $user->socid);
1145 $reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters, $propalstatic);
1146 $sql .= $hookmanager->resPrint;
1147 $sql .=
" ORDER BY p.rowid DESC";
1149 $resql =
$db->query($sql);
1151 $total = $total_ttc = 0;
1152 $num =
$db->num_rows($resql);
1154 startSimpleTable(
"ProposalsOpened",
"comm/propal/list.php",
"search_status=1", 4, $num);
1160 while ($i < $nbofloop) {
1161 $obj =
$db->fetch_object($resql);
1166 $total += $obj->total_ht;
1167 $total_ttc += $obj->total_ttc;
1171 $propalstatic->id = $obj->propalid;
1172 $propalstatic->ref = $obj->ref;
1173 $propalstatic->ref_client = $obj->ref_client;
1174 $propalstatic->ref_customer = $obj->ref_client;
1175 $propalstatic->total_ht = $obj->total_ht;
1176 $propalstatic->total_tva = $obj->total_tva;
1177 $propalstatic->total_ttc = $obj->total_ttc;
1179 $companystatic->id = $obj->socid;
1180 $companystatic->name = $obj->name;
1181 $companystatic->name_alias = $obj->name_alias;
1182 $companystatic->code_client = $obj->code_client;
1183 $companystatic->code_compta = $obj->code_compta_client;
1184 $companystatic->code_compta_client = $obj->code_compta_client;
1185 $companystatic->client = $obj->client;
1186 $companystatic->code_fournisseur = $obj->code_fournisseur;
1187 $companystatic->code_compta_fournisseur = $obj->code_compta_fournisseur;
1188 $companystatic->fournisseur = $obj->fournisseur;
1189 $companystatic->logo = $obj->logo;
1190 $companystatic->email = $obj->email;
1191 $companystatic->entity = $obj->entity;
1192 $companystatic->canvas = $obj->canvas;
1199 print
'<tr class="oddeven">';
1201 print
'<td class="nowrap" width="140">';
1202 print
'<table class="nobordernopadding"><tr class="nocellnopadd">';
1203 print
'<td class="nobordernopadding nowraponall">'.$propalstatic->getNomUrl(1).
'</td>';
1204 print
'<td width="18" class="nobordernopadding nowrap">'.$warning.
'</td>';
1205 print
'<td width="16" class="nobordernopadding center">'.$formfile->getDocumentsLink($propalstatic->element, $filename, $filedir).
'</td>';
1210 print
'<td class="tdoverflowmax150">'.$companystatic->getNomUrl(1,
'customer').
'</td>';
1211 $datem =
$db->jdate($obj->dp);
1212 print
'<td class="center tddate" title="'.dol_escape_htmltag($langs->trans(
"Date").
': '.
dol_print_date($datem,
'day',
'tzserver')).
'">';
1215 print
'<td class="right tdamount amount">'.price(
getDolGlobalString(
'MAIN_DASHBOARD_USE_TOTAL_HT') ? $obj->total_ht : $obj->total_ttc).
'</td>';
1216 print
'<td align="center" width="14">'.$propalstatic->LibStatut($obj->fk_statut, 3).
'</td>';
1221 $total += $obj->total_ht;
1222 $total_ttc += $obj->total_ttc;
1226 print
'<tr class="oddeven">';
1227 print
'<td class="nowrap" colspan="5">';
1228 print
'<span class="opacitymedium">'.$langs->trans(
"More").
'... ('.$othernb.
')</span>';
1234 addSummaryTableLine(5, $num, $nbofloop, !
getDolGlobalString(
'MAIN_DASHBOARD_USE_TOTAL_HT') ? $total_ttc : $total,
"NoProposal", true);
1235 finishSimpleTable(
true);
1247if (
isModEnabled(
'order') && $user->hasRight(
'commande',
'lire') && is_object($orderstatic)) {
1248 $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";
1249 $sql .=
", s.rowid as socid, s.nom as name, s.name_alias";
1250 $sql .=
", s.code_client, s.code_compta as code_compta_client, s.client";
1251 $sql .=
", s.code_fournisseur, s.code_compta_fournisseur, s.fournisseur";
1252 $sql .=
", s.logo, s.email, s.entity";
1253 $sql .=
", s.canvas";
1254 $sql .=
" FROM ".MAIN_DB_PREFIX.
"commande as c";
1255 $sql .=
", ".MAIN_DB_PREFIX.
"societe as s";
1256 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
1257 $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
1259 $sql .=
" WHERE c.entity IN (".getEntity($orderstatic->element).
")";
1260 $sql .=
" AND c.fk_soc = s.rowid";
1262 if (empty($user->socid) && !$user->hasRight(
'societe',
'client',
'voir')) {
1263 $sql .=
" AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
1266 $sql .=
" AND s.rowid = ".((int) $socid);
1269 $parameters = array(
'socid' => $user->socid);
1270 $reshook = $hookmanager->executeHooks(
'printFieldListWhere', $parameters, $orderstatic);
1271 $sql .= $hookmanager->resPrint;
1272 $sql .=
" ORDER BY c.rowid DESC";
1274 $resql =
$db->query($sql);
1276 $total = $total_ttc = 0;
1277 $num =
$db->num_rows($resql);
1285 while ($i < $nbofloop) {
1286 $obj =
$db->fetch_object($resql);
1291 $total += $obj->total_ht;
1292 $total_ttc += $obj->total_ttc;
1296 $orderstatic->id = $obj->commandeid;
1297 $orderstatic->ref = $obj->ref;
1298 $orderstatic->ref_client = $obj->ref_client;
1299 $orderstatic->statut = $obj->fk_statut;
1300 $orderstatic->status = $obj->fk_statut;
1301 $orderstatic->total_ht = $obj->total_ht;
1302 $orderstatic->total_tva = $obj->total_tva;
1303 $orderstatic->total_ttc = $obj->total_ttc;
1305 $companystatic->id = $obj->socid;
1306 $companystatic->name = $obj->name;
1307 $companystatic->name_alias = $obj->name_alias;
1308 $companystatic->code_client = $obj->code_client;
1309 $companystatic->code_compta = $obj->code_compta_client;
1310 $companystatic->code_compta_client = $obj->code_compta_client;
1311 $companystatic->client = $obj->client;
1312 $companystatic->code_fournisseur = $obj->code_fournisseur;
1313 $companystatic->code_compta_fournisseur = $obj->code_compta_fournisseur;
1314 $companystatic->fournisseur = $obj->fournisseur;
1315 $companystatic->logo = $obj->logo;
1316 $companystatic->email = $obj->email;
1317 $companystatic->entity = $obj->entity;
1318 $companystatic->canvas = $obj->canvas;
1325 print
'<tr class="oddeven">';
1327 print
'<td class="nowrap" width="140">';
1328 print
'<table class="nobordernopadding"><tr class="nocellnopadd">';
1329 print
'<td class="nobordernopadding nowraponall">'.$orderstatic->getNomUrl(1).
'</td>';
1330 print
'<td width="18" class="nobordernopadding nowrap"></td>';
1331 print
'<td width="16" align="center" class="nobordernopadding">'.$formfile->getDocumentsLink($orderstatic->element, $filename, $filedir).
'</td>';
1336 print
'<td class="tdoverflowmax150">'.$companystatic->getNomUrl(1,
'customer').
'</td>';
1337 $datem =
$db->jdate($obj->dv);
1338 print
'<td class="center tddate" title="'.dol_escape_htmltag($langs->trans(
"DateValue").
': '.
dol_print_date($datem,
'day',
'tzserver')).
'">';
1342 print
'<td class="right tdamount amount">'.price(
getDolGlobalString(
'MAIN_DASHBOARD_USE_TOTAL_HT') ? $obj->total_ht : $obj->total_ttc).
'</td>';
1343 print
'<td align="center" width="14">'.$orderstatic->LibStatut($obj->fk_statut, $obj->billed, 3).
'</td>';
1348 $total += $obj->total_ht;
1349 $total_ttc += $obj->total_ttc;
1353 print
'<tr class="oddeven">';
1354 print
'<td class="nowrap" colspan="5">';
1355 print
'<span class="opacitymedium">'.$langs->trans(
"More").
'... ('.$othernb.
')</span>';
1361 addSummaryTableLine(5, $num, $nbofloop, !
getDolGlobalString(
'MAIN_DASHBOARD_USE_TOTAL_HT') ? $total_ttc : $total,
"None", true);
1362 finishSimpleTable(
true);
1374$parameters = array(
'user' => $user);
1375$reshook = $hookmanager->executeHooks(
'dashboardCommercials', $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 predefined suppliers products.
const STATUS_DRAFT
Draft status.
Class to manage customers orders.
const STATUS_SHIPMENTONPROCESS
Shipment on process.
const STATUS_DRAFT
Draft status.
const STATUS_VALIDATED
Validated status.
const STATUS_DRAFT
Draft status.
Class to manage proposals.
const STATUS_DRAFT
Draft status.
Class to manage third parties objects (customers, suppliers, prospects...)
Class to manage price ask supplier.
const STATUS_DRAFT
Draft status.
convertSecondToTime($iSecond, $format='all', $lengthOfDay=86400, $lengthOfWeek=7)
Return, in clear text, value of a number of seconds in days, hours and minutes.
dol_now($mode='gmt')
Return date for now.
img_warning($titlealt='default', $moreatt='', $morecss='pictowarning')
Show warning logo.
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
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.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
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.
getWarningDelay($module, $parmlevel1, $parmlevel2='')
Return a warning delay You can use it like this: if (getWarningDelay('module', 'paramlevel1')) It rep...
getCustomerOrderPieChart($socid=0)
Return a HTML table that contains a pie chart of sales orders.
getCustomerProposalPieChart($socid=0)
Return a HTML table that contains a pie chart of customer proposals.
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.