Merge pull request #20339 from bb2a/preview
NEW - Preview in latest comm card
This commit is contained in:
commit
8f98007905
@ -10,6 +10,7 @@
|
|||||||
* Copyright (C) 2015-2021 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2015-2021 Frédéric France <frederic.france@netlogic.fr>
|
||||||
* Copyright (C) 2015 Marcos García <marcosgdf@gmail.com>
|
* Copyright (C) 2015 Marcos García <marcosgdf@gmail.com>
|
||||||
* Copyright (C) 2020 Open-Dsi <support@open-dsi.fr>
|
* Copyright (C) 2020 Open-Dsi <support@open-dsi.fr>
|
||||||
|
* Copyright (C) 2022 Anthony Berton <anthony.berton@bb2a.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -38,6 +39,7 @@ require_once DOL_DOCUMENT_ROOT.'/societe/class/client.class.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
|
||||||
if (!empty($conf->facture->enabled)) {
|
if (!empty($conf->facture->enabled)) {
|
||||||
require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
|
||||||
}
|
}
|
||||||
@ -112,6 +114,7 @@ $cancel = GETPOST('cancel', 'alpha');
|
|||||||
|
|
||||||
$object = new Client($db);
|
$object = new Client($db);
|
||||||
$extrafields = new ExtraFields($db);
|
$extrafields = new ExtraFields($db);
|
||||||
|
$formfile = new FormFile($db);
|
||||||
|
|
||||||
// fetch optionals attributes and labels
|
// fetch optionals attributes and labels
|
||||||
$extrafields->fetch_name_optionals_label($object->table_element);
|
$extrafields->fetch_name_optionals_label($object->table_element);
|
||||||
@ -859,6 +862,36 @@ if ($object->id > 0) {
|
|||||||
$propal_static->total_tva = $objp->total_tva;
|
$propal_static->total_tva = $objp->total_tva;
|
||||||
$propal_static->total_ttc = $objp->total_ttc;
|
$propal_static->total_ttc = $objp->total_ttc;
|
||||||
print $propal_static->getNomUrl(1);
|
print $propal_static->getNomUrl(1);
|
||||||
|
|
||||||
|
// Preview
|
||||||
|
$filedir = $conf->propal->multidir_output[$objp->entity].'/'.dol_sanitizeFileName($objp->ref);
|
||||||
|
$file_list = null;
|
||||||
|
if (!empty($filedir)) {
|
||||||
|
$file_list = dol_dir_list($filedir, 'files', 0, '', '(\.meta|_preview.*.*\.png)$', 'date', SORT_DESC);
|
||||||
|
}
|
||||||
|
if (is_array($file_list)) {
|
||||||
|
// Defined relative dir to DOL_DATA_ROOT
|
||||||
|
$relativedir = '';
|
||||||
|
if ($filedir) {
|
||||||
|
$relativedir = preg_replace('/^'.preg_quote(DOL_DATA_ROOT, '/').'/', '', $filedir);
|
||||||
|
$relativedir = preg_replace('/^[\\/]/', '', $relativedir);
|
||||||
|
}
|
||||||
|
// Get list of files stored into database for same relative directory
|
||||||
|
if ($relativedir) {
|
||||||
|
completeFileArrayWithDatabaseInfo($file_list, $relativedir);
|
||||||
|
|
||||||
|
//var_dump($sortfield.' - '.$sortorder);
|
||||||
|
if (!empty($sortfield) && !empty($sortorder)) { // If $sortfield is for example 'position_name', we will sort on the property 'position_name' (that is concat of position+name)
|
||||||
|
$file_list = dol_sort_array($file_list, $sortfield, $sortorder);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$relativepath = dol_sanitizeFileName($objp->ref).'/'.dol_sanitizeFileName($objp->ref).'.pdf';
|
||||||
|
print $formfile->showPreview($file_list, $propal_static->element, $relativepath, 0, $param);
|
||||||
|
}
|
||||||
|
// $filename = dol_sanitizeFileName($objp->ref);
|
||||||
|
// $filedir = $conf->propal->multidir_output[$objp->entity].'/'.dol_sanitizeFileName($objp->ref);
|
||||||
|
// $urlsource = '/comm/propal/card.php?id='.$objp->cid;
|
||||||
|
// print $formfile->getDocumentsLink($propal_static->element, $filename, $filedir);
|
||||||
if (($db->jdate($objp->date_limit) < ($now - $conf->propal->cloture->warning_delay)) && $objp->fk_statut == $propal_static::STATUS_VALIDATED) {
|
if (($db->jdate($objp->date_limit) < ($now - $conf->propal->cloture->warning_delay)) && $objp->fk_statut == $propal_static::STATUS_VALIDATED) {
|
||||||
print " ".img_warning();
|
print " ".img_warning();
|
||||||
}
|
}
|
||||||
@ -940,7 +973,38 @@ if ($object->id > 0) {
|
|||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
print '<td class="nowraponall">';
|
print '<td class="nowraponall">';
|
||||||
print $commande_static->getNomUrl(1);
|
print $commande_static->getNomUrl(1);
|
||||||
print '</td><td class="right" width="80px">'.dol_print_date($db->jdate($objp->dc), 'day')."</td>\n";
|
// Preview
|
||||||
|
$filedir = $conf->commande->multidir_output[$objp->entity].'/'.dol_sanitizeFileName($objp->ref);
|
||||||
|
$file_list = null;
|
||||||
|
if (!empty($filedir)) {
|
||||||
|
$file_list = dol_dir_list($filedir, 'files', 0, '', '(\.meta|_preview.*.*\.png)$', 'date', SORT_DESC);
|
||||||
|
}
|
||||||
|
if (is_array($file_list)) {
|
||||||
|
// Defined relative dir to DOL_DATA_ROOT
|
||||||
|
$relativedir = '';
|
||||||
|
if ($filedir) {
|
||||||
|
$relativedir = preg_replace('/^'.preg_quote(DOL_DATA_ROOT, '/').'/', '', $filedir);
|
||||||
|
$relativedir = preg_replace('/^[\\/]/', '', $relativedir);
|
||||||
|
}
|
||||||
|
// Get list of files stored into database for same relative directory
|
||||||
|
if ($relativedir) {
|
||||||
|
completeFileArrayWithDatabaseInfo($file_list, $relativedir);
|
||||||
|
|
||||||
|
//var_dump($sortfield.' - '.$sortorder);
|
||||||
|
if (!empty($sortfield) && !empty($sortorder)) { // If $sortfield is for example 'position_name', we will sort on the property 'position_name' (that is concat of position+name)
|
||||||
|
$file_list = dol_sort_array($file_list, $sortfield, $sortorder);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$relativepath = dol_sanitizeFileName($objp->ref).'/'.dol_sanitizeFileName($objp->ref).'.pdf';
|
||||||
|
print $formfile->showPreview($file_list, $commande_static->element, $relativepath, 0, $param);
|
||||||
|
}
|
||||||
|
// $filename = dol_sanitizeFileName($objp->ref);
|
||||||
|
// $filedir = $conf->order->multidir_output[$objp->entity].'/'.dol_sanitizeFileName($objp->ref);
|
||||||
|
// $urlsource = '/commande/card.php?id='.$objp->cid;
|
||||||
|
// print $formfile->getDocumentsLink($commande_static->element, $filename, $filedir);
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
|
print '<td class="right" width="80px">'.dol_print_date($db->jdate($objp->dc), 'day')."</td>\n";
|
||||||
print '<td class="right" style="min-width: 60px">'.price($objp->total_ht).'</td>';
|
print '<td class="right" style="min-width: 60px">'.price($objp->total_ht).'</td>';
|
||||||
print '<td class="right" style="min-width: 60px" class="nowrap">'.$commande_static->LibStatut($objp->fk_statut, $objp->facture, 5).'</td></tr>';
|
print '<td class="right" style="min-width: 60px" class="nowrap">'.$commande_static->LibStatut($objp->fk_statut, $objp->facture, 5).'</td></tr>';
|
||||||
$i++;
|
$i++;
|
||||||
@ -1003,6 +1067,35 @@ if ($object->id > 0) {
|
|||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
print '<td class="nowraponall">';
|
print '<td class="nowraponall">';
|
||||||
print $sendingstatic->getNomUrl(1);
|
print $sendingstatic->getNomUrl(1);
|
||||||
|
// Preview
|
||||||
|
$filedir = $conf->expedition->multidir_output[$objp->entity].'/'.dol_sanitizeFileName($objp->ref);
|
||||||
|
$file_list = null;
|
||||||
|
if (!empty($filedir)) {
|
||||||
|
$file_list = dol_dir_list($filedir, 'files', 0, '', '(\.meta|_preview.*.*\.png)$', 'date', SORT_DESC);
|
||||||
|
}
|
||||||
|
if (is_array($file_list)) {
|
||||||
|
// Defined relative dir to DOL_DATA_ROOT
|
||||||
|
$relativedir = '';
|
||||||
|
if ($filedir) {
|
||||||
|
$relativedir = preg_replace('/^'.preg_quote(DOL_DATA_ROOT, '/').'/', '', $filedir);
|
||||||
|
$relativedir = preg_replace('/^[\\/]/', '', $relativedir);
|
||||||
|
}
|
||||||
|
// Get list of files stored into database for same relative directory
|
||||||
|
if ($relativedir) {
|
||||||
|
completeFileArrayWithDatabaseInfo($file_list, $relativedir);
|
||||||
|
|
||||||
|
//var_dump($sortfield.' - '.$sortorder);
|
||||||
|
if (!empty($sortfield) && !empty($sortorder)) { // If $sortfield is for example 'position_name', we will sort on the property 'position_name' (that is concat of position+name)
|
||||||
|
$file_list = dol_sort_array($file_list, $sortfield, $sortorder);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$relativepath = dol_sanitizeFileName($objp->ref).'/'.dol_sanitizeFileName($objp->ref).'.pdf';
|
||||||
|
print $formfile->showPreview($file_list, $sendingstatic->element, $relativepath, 0, $param);
|
||||||
|
}
|
||||||
|
// $filename = dol_sanitizeFileName($objp->ref);
|
||||||
|
// $filedir = $conf->expedition->multidir_output[$objp->entity].'/'.dol_sanitizeFileName($objp->ref);
|
||||||
|
// $urlsource = '/expedition/card.php?id='.$objp->cid;
|
||||||
|
// print $formfile->getDocumentsLink($sendingstatic->element, $filename, $filedir);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($objp->date_creation > 0) {
|
if ($objp->date_creation > 0) {
|
||||||
print '<td class="right" width="80px">'.dol_print_date($db->jdate($objp->date_creation), 'day').'</td>';
|
print '<td class="right" width="80px">'.dol_print_date($db->jdate($objp->date_creation), 'day').'</td>';
|
||||||
@ -1076,6 +1169,35 @@ if ($object->id > 0) {
|
|||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
print '<td class="nowraponall">';
|
print '<td class="nowraponall">';
|
||||||
print $contrat->getNomUrl(1, 12);
|
print $contrat->getNomUrl(1, 12);
|
||||||
|
// Preview
|
||||||
|
$filedir = $conf->contrat->multidir_output[$objp->entity].'/'.dol_sanitizeFileName($objp->ref);
|
||||||
|
$file_list = null;
|
||||||
|
if (!empty($filedir)) {
|
||||||
|
$file_list = dol_dir_list($filedir, 'files', 0, '', '(\.meta|_preview.*.*\.png)$', 'date', SORT_DESC);
|
||||||
|
}
|
||||||
|
if (is_array($file_list)) {
|
||||||
|
// Defined relative dir to DOL_DATA_ROOT
|
||||||
|
$relativedir = '';
|
||||||
|
if ($filedir) {
|
||||||
|
$relativedir = preg_replace('/^'.preg_quote(DOL_DATA_ROOT, '/').'/', '', $filedir);
|
||||||
|
$relativedir = preg_replace('/^[\\/]/', '', $relativedir);
|
||||||
|
}
|
||||||
|
// Get list of files stored into database for same relative directory
|
||||||
|
if ($relativedir) {
|
||||||
|
completeFileArrayWithDatabaseInfo($file_list, $relativedir);
|
||||||
|
|
||||||
|
//var_dump($sortfield.' - '.$sortorder);
|
||||||
|
if (!empty($sortfield) && !empty($sortorder)) { // If $sortfield is for example 'position_name', we will sort on the property 'position_name' (that is concat of position+name)
|
||||||
|
$file_list = dol_sort_array($file_list, $sortfield, $sortorder);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$relativepath = dol_sanitizeFileName($objp->ref).'/'.dol_sanitizeFileName($objp->ref).'.pdf';
|
||||||
|
print $formfile->showPreview($file_list, $contrat->element, $relativepath, 0, $param);
|
||||||
|
}
|
||||||
|
// $filename = dol_sanitizeFileName($objp->ref);
|
||||||
|
// $filedir = $conf->contrat->multidir_output[$objp->entity].'/'.dol_sanitizeFileName($objp->ref);
|
||||||
|
// $urlsource = '/contrat/card.php?id='.$objp->cid;
|
||||||
|
// print $formfile->getDocumentsLink($contrat->element, $filename, $filedir);
|
||||||
print $late;
|
print $late;
|
||||||
print "</td>\n";
|
print "</td>\n";
|
||||||
print '<td class="nowrap">'.dol_trunc($objp->refsup, 12)."</td>\n";
|
print '<td class="nowrap">'.dol_trunc($objp->refsup, 12)."</td>\n";
|
||||||
@ -1137,6 +1259,35 @@ if ($object->id > 0) {
|
|||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
print '<td class="nowraponall">';
|
print '<td class="nowraponall">';
|
||||||
print $fichinter_static->getNomUrl(1);
|
print $fichinter_static->getNomUrl(1);
|
||||||
|
// Preview
|
||||||
|
$filedir = $conf->fichinter->multidir_output[$objp->entity].'/'.dol_sanitizeFileName($objp->ref);
|
||||||
|
$file_list = null;
|
||||||
|
if (!empty($filedir)) {
|
||||||
|
$file_list = dol_dir_list($filedir, 'files', 0, '', '(\.meta|_preview.*.*\.png)$', 'date', SORT_DESC);
|
||||||
|
}
|
||||||
|
if (is_array($file_list)) {
|
||||||
|
// Defined relative dir to DOL_DATA_ROOT
|
||||||
|
$relativedir = '';
|
||||||
|
if ($filedir) {
|
||||||
|
$relativedir = preg_replace('/^'.preg_quote(DOL_DATA_ROOT, '/').'/', '', $filedir);
|
||||||
|
$relativedir = preg_replace('/^[\\/]/', '', $relativedir);
|
||||||
|
}
|
||||||
|
// Get list of files stored into database for same relative directory
|
||||||
|
if ($relativedir) {
|
||||||
|
completeFileArrayWithDatabaseInfo($file_list, $relativedir);
|
||||||
|
|
||||||
|
//var_dump($sortfield.' - '.$sortorder);
|
||||||
|
if (!empty($sortfield) && !empty($sortorder)) { // If $sortfield is for example 'position_name', we will sort on the property 'position_name' (that is concat of position+name)
|
||||||
|
$file_list = dol_sort_array($file_list, $sortfield, $sortorder);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$relativepath = dol_sanitizeFileName($objp->ref).'/'.dol_sanitizeFileName($objp->ref).'.pdf';
|
||||||
|
print $formfile->showPreview($file_list, $fichinter_static->element, $relativepath, 0, $param);
|
||||||
|
}
|
||||||
|
// $filename = dol_sanitizeFileName($objp->ref);
|
||||||
|
// $filedir = $conf->fichinter->multidir_output[$objp->entity].'/'.dol_sanitizeFileName($objp->ref);
|
||||||
|
// $urlsource = '/fichinter/card.php?id='.$objp->cid;
|
||||||
|
// print $formfile->getDocumentsLink($fichinter_static->element, $filename, $filedir);
|
||||||
print '</td>'."\n";
|
print '</td>'."\n";
|
||||||
//print '<td class="right" width="80px">'.dol_print_date($db->jdate($objp->startdate)).'</td>'."\n";
|
//print '<td class="right" width="80px">'.dol_print_date($db->jdate($objp->startdate)).'</td>'."\n";
|
||||||
print '<td class="right" style="min-width: 60px">'.convertSecondToTime($objp->duration).'</td>'."\n";
|
print '<td class="right" style="min-width: 60px">'.convertSecondToTime($objp->duration).'</td>'."\n";
|
||||||
@ -1213,6 +1364,7 @@ if ($object->id > 0) {
|
|||||||
print '<td class="nowrap">';
|
print '<td class="nowrap">';
|
||||||
print $invoicetemplate->getNomUrl(1);
|
print $invoicetemplate->getNomUrl(1);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
if ($objp->frequency && $objp->date_last_gen > 0) {
|
if ($objp->frequency && $objp->date_last_gen > 0) {
|
||||||
print '<td class="right" width="80px">'.dol_print_date($db->jdate($objp->date_last_gen), 'day').'</td>';
|
print '<td class="right" width="80px">'.dol_print_date($db->jdate($objp->date_last_gen), 'day').'</td>';
|
||||||
} else {
|
} else {
|
||||||
@ -1301,6 +1453,35 @@ if ($object->id > 0) {
|
|||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
print '<td class="nowraponall">';
|
print '<td class="nowraponall">';
|
||||||
print $facturestatic->getNomUrl(1);
|
print $facturestatic->getNomUrl(1);
|
||||||
|
// Preview
|
||||||
|
$filedir = $conf->facture->multidir_output[$objp->entity].'/'.dol_sanitizeFileName($objp->ref);
|
||||||
|
$file_list = null;
|
||||||
|
if (!empty($filedir)) {
|
||||||
|
$file_list = dol_dir_list($filedir, 'files', 0, '', '(\.meta|_preview.*.*\.png)$', 'date', SORT_DESC);
|
||||||
|
}
|
||||||
|
if (is_array($file_list)) {
|
||||||
|
// Defined relative dir to DOL_DATA_ROOT
|
||||||
|
$relativedir = '';
|
||||||
|
if ($filedir) {
|
||||||
|
$relativedir = preg_replace('/^'.preg_quote(DOL_DATA_ROOT, '/').'/', '', $filedir);
|
||||||
|
$relativedir = preg_replace('/^[\\/]/', '', $relativedir);
|
||||||
|
}
|
||||||
|
// Get list of files stored into database for same relative directory
|
||||||
|
if ($relativedir) {
|
||||||
|
completeFileArrayWithDatabaseInfo($file_list, $relativedir);
|
||||||
|
|
||||||
|
//var_dump($sortfield.' - '.$sortorder);
|
||||||
|
if (!empty($sortfield) && !empty($sortorder)) { // If $sortfield is for example 'position_name', we will sort on the property 'position_name' (that is concat of position+name)
|
||||||
|
$file_list = dol_sort_array($file_list, $sortfield, $sortorder);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$relativepath = dol_sanitizeFileName($objp->ref).'/'.dol_sanitizeFileName($objp->ref).'.pdf';
|
||||||
|
print $formfile->showPreview($file_list, $facturestatic->element, $relativepath, 0, $param);
|
||||||
|
}
|
||||||
|
// $filename = dol_sanitizeFileName($objp->ref);
|
||||||
|
// $filedir = $conf->facture->multidir_output[$objp->entity].'/'.dol_sanitizeFileName($objp->ref);
|
||||||
|
// $urlsource = '/compta/facture/card.php?id='.$objp->cid;
|
||||||
|
//print $formfile->getDocumentsLink($facturestatic->element, $filename, $filedir);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($objp->df > 0) {
|
if ($objp->df > 0) {
|
||||||
print '<td class="right" width="80px">'.dol_print_date($db->jdate($objp->df), 'day').'</td>';
|
print '<td class="right" width="80px">'.dol_print_date($db->jdate($objp->df), 'day').'</td>';
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user