Fix: impossible de télécharger rapport actions
Fix: Page suivante-précédente actions
This commit is contained in:
parent
6641850aef
commit
17b6a4c588
@ -25,7 +25,7 @@
|
|||||||
/**
|
/**
|
||||||
\file htdocs/comm/action/rapport/index.php
|
\file htdocs/comm/action/rapport/index.php
|
||||||
\ingroup commercial
|
\ingroup commercial
|
||||||
\brief Page accueil des rapports des actions commerciales
|
\brief Page accueil des rapports des actions
|
||||||
\version $Revision$
|
\version $Revision$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -33,6 +33,9 @@ require_once("./pre.inc.php");
|
|||||||
require_once(DOL_DOCUMENT_ROOT."/contact.class.php");
|
require_once(DOL_DOCUMENT_ROOT."/contact.class.php");
|
||||||
require_once(DOL_DOCUMENT_ROOT."/actioncomm.class.php");
|
require_once(DOL_DOCUMENT_ROOT."/actioncomm.class.php");
|
||||||
|
|
||||||
|
$page = $_GET["page"];
|
||||||
|
$sortfield=$_GET["sortfield"];
|
||||||
|
$sortorder=$_GET["sortorder"];
|
||||||
if ($page == -1) { $page = 0 ; }
|
if ($page == -1) { $page = 0 ; }
|
||||||
$limit = $conf->liste_limit;
|
$limit = $conf->liste_limit;
|
||||||
$offset = $limit * $page ;
|
$offset = $limit * $page ;
|
||||||
@ -42,47 +45,50 @@ if (! $sortfield) $sortfield="a.datea";
|
|||||||
// Sécurité accés client
|
// Sécurité accés client
|
||||||
if ($user->societe_id > 0)
|
if ($user->societe_id > 0)
|
||||||
{
|
{
|
||||||
$action = '';
|
$action = '';
|
||||||
$socid = $user->societe_id;
|
$socid = $user->societe_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_GET["action"] == 'pdf')
|
|
||||||
{
|
|
||||||
$cat = new CommActionRapport($db, $_GET["month"], $_GET["year"]);
|
|
||||||
$cat->generate($_GET["id"]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Actions
|
* Actions
|
||||||
*/
|
*/
|
||||||
|
if ($_GET["action"] == 'builddoc')
|
||||||
|
{
|
||||||
|
$cat = new CommActionRapport($db, $_GET["month"], $_GET["year"]);
|
||||||
|
$cat->generate($_GET["id"]);
|
||||||
|
}
|
||||||
|
|
||||||
if ($action=='delete_action')
|
if ($action=='delete_action')
|
||||||
{
|
{
|
||||||
$actioncomm = new ActionComm($db);
|
$actioncomm = new ActionComm($db);
|
||||||
$actioncomm->delete($actionid);
|
$actioncomm->delete($actionid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
llxHeader();
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Liste
|
* Affichage liste
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
llxHeader();
|
||||||
|
|
||||||
$sql = "SELECT count(*) as cc, date_format(a.datea, '%m/%Y') as df";
|
$sql = "SELECT count(*) as cc, date_format(a.datea, '%m/%Y') as df";
|
||||||
$sql.= ", date_format(a.datea, '%m') as month";
|
$sql.= ", date_format(a.datea, '%m') as month";
|
||||||
$sql.= ", date_format(a.datea, '%Y') as year";
|
$sql.= ", date_format(a.datea, '%Y') as year";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."actioncomm as a";
|
$sql.= " FROM ".MAIN_DB_PREFIX."actioncomm as a";
|
||||||
|
$sql.= " WHERE percent = 100";
|
||||||
$sql.= " GROUP BY date_format(a.datea, '%m/%Y') ";
|
$sql.= " GROUP BY date_format(a.datea, '%m/%Y') ";
|
||||||
$sql.= " ORDER BY a.datea DESC";
|
$sql.= " ORDER BY a.datea DESC";
|
||||||
|
$sql.= $db->plimit($limit+1,$offset);
|
||||||
|
|
||||||
$resql=$db->query($sql);
|
$resql=$db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
$num = $db->num_rows($resql);
|
$num = $db->num_rows($resql);
|
||||||
|
|
||||||
print_barre_liste($langs->trans("DoneAndToDoActions"), $page, "index.php",'',$sortfield,$sortorder,'',$num);
|
print_barre_liste($langs->trans("DoneActions"), $page, "index.php",'',$sortfield,$sortorder,'',$num);
|
||||||
|
|
||||||
$i = 0;
|
$i = 0;
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
@ -97,34 +103,36 @@ if ($resql)
|
|||||||
$var=true;
|
$var=true;
|
||||||
while ($i < min($num,$limit))
|
while ($i < min($num,$limit))
|
||||||
{
|
{
|
||||||
$obj = $db->fetch_object($resql);
|
$obj=$db->fetch_object($resql);
|
||||||
|
|
||||||
$var=!$var;
|
if ($obj)
|
||||||
|
|
||||||
print "<tr $bc[$var]>";
|
|
||||||
|
|
||||||
print "<td>$obj->df</td>\n";
|
|
||||||
print '<td align="center">'.$obj->cc.'</td>';
|
|
||||||
|
|
||||||
print '<td><a href="index.php?action=pdf&month='.$obj->month.'&year='.$obj->year.'">'.img_file_new().'</a></td>';
|
|
||||||
|
|
||||||
$name = "rapport-action-".$obj->month."-".$obj->year.".pdf";
|
|
||||||
$relativepath="comm/actions/" .$name;
|
|
||||||
$file = $conf->commercial->dir_output . "/comm/actions/" .$name;
|
|
||||||
|
|
||||||
if (file_exists($file))
|
|
||||||
{
|
{
|
||||||
print '<td align="center"><a href="'.DOL_URL_ROOT.'/document.php?file='.urlencode($relativepath).'&modulepart=actionscomm">'.img_pdf().'</a></td>';
|
$var=!$var;
|
||||||
print '<td align="center">'.strftime("%d %b %Y %H:%M:%S",filemtime($file)).'</td>';
|
print "<tr $bc[$var]>";
|
||||||
print '<td align="center">'.filesize($file). ' '.$langs->trans("Bytes").'</td>';
|
|
||||||
|
print "<td>$obj->df</td>\n";
|
||||||
|
print '<td align="center">'.$obj->cc.'</td>';
|
||||||
|
|
||||||
|
print '<td><a href="index.php?action=builddoc&page='.$page.'&month='.$obj->month.'&year='.$obj->year.'">'.img_file_new().'</a></td>';
|
||||||
|
|
||||||
|
$name = "rapport-action-".$obj->month."-".$obj->year.".pdf";
|
||||||
|
$relativepath= $name;
|
||||||
|
$file = $conf->commercial->dir_output . "/actions/" .$name;
|
||||||
|
|
||||||
|
if (file_exists($file))
|
||||||
|
{
|
||||||
|
print '<td align="center"><a href="'.DOL_URL_ROOT.'/document.php?page='.$page.'&file='.urlencode($relativepath).'&modulepart=actionsreport">'.img_pdf().'</a></td>';
|
||||||
|
print '<td align="center">'.strftime("%d %b %Y %H:%M:%S",filemtime($file)).'</td>';
|
||||||
|
print '<td align="center">'.filesize($file). ' '.$langs->trans("Bytes").'</td>';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
print '<td> </td>';
|
||||||
|
print '<td> </td>';
|
||||||
|
print '<td> </td>';
|
||||||
|
}
|
||||||
|
|
||||||
|
print "</tr>\n";
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
print '<td> </td>';
|
|
||||||
print '<td> </td>';
|
|
||||||
print '<td> </td>';
|
|
||||||
}
|
|
||||||
|
|
||||||
print "</tr>\n";
|
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
print "</table>";
|
print "</table>";
|
||||||
|
|||||||
@ -40,6 +40,12 @@ require_once(DOL_DOCUMENT_ROOT ."/includes/fpdf/fpdf_html.php");
|
|||||||
|
|
||||||
class CommActionRapport
|
class CommActionRapport
|
||||||
{
|
{
|
||||||
|
var $db;
|
||||||
|
var $description;
|
||||||
|
var $date_edition;
|
||||||
|
var $year;
|
||||||
|
var $month;
|
||||||
|
|
||||||
var $title;
|
var $title;
|
||||||
var $subject;
|
var $subject;
|
||||||
|
|
||||||
@ -50,7 +56,7 @@ class CommActionRapport
|
|||||||
|
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
$this->description = "";
|
$this->description = "";
|
||||||
$this->date_edition = dolibarr_print_date(time(),"%d %B %Y");
|
$this->date_edition = time();
|
||||||
$this->month = $month;
|
$this->month = $month;
|
||||||
$this->year = $year;
|
$this->year = $year;
|
||||||
|
|
||||||
@ -62,9 +68,17 @@ class CommActionRapport
|
|||||||
{
|
{
|
||||||
global $user,$conf,$langs;
|
global $user,$conf,$langs;
|
||||||
|
|
||||||
$dir = $conf->commercial->dir_output."/comm/actions";
|
$dir = $conf->commercial->dir_output."/actions";
|
||||||
$file = $dir . "/rapport-action-".$this->month."-".$this->year.".pdf";
|
$file = $dir . "/rapport-action-".$this->month."-".$this->year.".pdf";
|
||||||
create_exdir($dir);
|
|
||||||
|
if (! file_exists($dir))
|
||||||
|
{
|
||||||
|
if (create_exdir($dir) < 0)
|
||||||
|
{
|
||||||
|
$this->error=$langs->trans("ErrorCanNotCreateDir",$dir);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (file_exists($dir))
|
if (file_exists($dir))
|
||||||
{
|
{
|
||||||
@ -78,8 +92,6 @@ class CommActionRapport
|
|||||||
|
|
||||||
$pdf->SetFillColor(220,220,220);
|
$pdf->SetFillColor(220,220,220);
|
||||||
|
|
||||||
$pdf->SetFont('Arial','', 9);
|
|
||||||
|
|
||||||
// $nbpage = $this->_cover($pdf);
|
// $nbpage = $this->_cover($pdf);
|
||||||
$nbpage = $this->_pages($pdf);
|
$nbpage = $this->_pages($pdf);
|
||||||
|
|
||||||
@ -106,7 +118,7 @@ class CommActionRapport
|
|||||||
|
|
||||||
$pdf->SetFont('Arial','',30);
|
$pdf->SetFont('Arial','',30);
|
||||||
$pdf->SetXY (10, 140);
|
$pdf->SetXY (10, 140);
|
||||||
$pdf->MultiCell(190, 20, $langs->trans("Date").': '.$this->date_edition, 0, 'C', 0);
|
$pdf->MultiCell(190, 20, $langs->trans("Date").': '.dolibarr_print_date($this->date_edition,"%d %B %Y"), 0, 'C', 0);
|
||||||
|
|
||||||
$pdf->SetXY (10, 170);
|
$pdf->SetXY (10, 170);
|
||||||
$pdf->SetFont('Arial','B',18);
|
$pdf->SetFont('Arial','B',18);
|
||||||
@ -134,7 +146,7 @@ class CommActionRapport
|
|||||||
$pdf->SetXY(5, $pdf->GetY());
|
$pdf->SetXY(5, $pdf->GetY());
|
||||||
$pdf->MultiCell(80, 2, $this->title, 0, 'L', 0);
|
$pdf->MultiCell(80, 2, $this->title, 0, 'L', 0);
|
||||||
|
|
||||||
$pdf->SetFont('Arial','',9);
|
$pdf->SetFont('Arial','',8);
|
||||||
$y=$pdf->GetY()+1;
|
$y=$pdf->GetY()+1;
|
||||||
|
|
||||||
$sql = "SELECT s.nom as societe, s.idp as socidp, s.client, a.id,".$this->db->pdate("a.datea")." as da, a.datea, c.libelle, u.code, a.fk_contact, a.note, a.percent as percent";
|
$sql = "SELECT s.nom as societe, s.idp as socidp, s.client, a.id,".$this->db->pdate("a.datea")." as da, a.datea, c.libelle, u.code, a.fk_contact, a.note, a.percent as percent";
|
||||||
|
|||||||
@ -191,13 +191,24 @@ if ($modulepart)
|
|||||||
if ($modulepart == 'actions')
|
if ($modulepart == 'actions')
|
||||||
{
|
{
|
||||||
$user->getrights('commercial');
|
$user->getrights('commercial');
|
||||||
//if ($user->rights->commercial->lire) // Ce droit n'existe pas encore
|
//if ($user->rights->commercial->actions->lire) // Ce droit n'existe pas encore
|
||||||
//{
|
//{
|
||||||
$accessallowed=1;
|
$accessallowed=1;
|
||||||
//}
|
//}
|
||||||
$original_file=$conf->actionscomm->dir_output.'/'.$original_file;
|
$original_file=$conf->actionscomm->dir_output.'/'.$original_file;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Wrapping pour les actions
|
||||||
|
if ($modulepart == 'actionsreport')
|
||||||
|
{
|
||||||
|
$user->getrights('commercial');
|
||||||
|
//if ($user->rights->commercial->actions->lire) // Ce droit n'existe pas encore
|
||||||
|
//{
|
||||||
|
$accessallowed=1;
|
||||||
|
//}
|
||||||
|
$original_file = $conf->commercial->dir_output."/actions/".$original_file;
|
||||||
|
}
|
||||||
|
|
||||||
// Wrapping pour les produits et services
|
// Wrapping pour les produits et services
|
||||||
if ($modulepart == 'produit')
|
if ($modulepart == 'produit')
|
||||||
{
|
{
|
||||||
@ -246,7 +257,7 @@ dolibarr_syslog("document.php download $original_file $filename content-type=$ty
|
|||||||
|
|
||||||
if (! file_exists($original_file))
|
if (! file_exists($original_file))
|
||||||
{
|
{
|
||||||
dolibarr_print_error(0,$langs->trans("FileDoesNotExist",$original_file));
|
dolibarr_print_error(0,$langs->trans("ErrorFileDoesNotExists",$original_file));
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -201,11 +201,23 @@ if ($modulepart)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Limite accès si droits non corrects
|
// Limite accès si droits non corrects
|
||||||
if (! $accessallowed) { accessforbidden(); }
|
if (! $accessallowed)
|
||||||
|
{
|
||||||
|
accessforbidden();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Ouvre et renvoi fichier
|
||||||
|
clearstatcache();
|
||||||
$filename = basename($original_file);
|
$filename = basename($original_file);
|
||||||
if (! file_exists($original_file)) { dolibarr_print_error(0,$langs->trans("FileDoesNotExist",$original_file)); exit; }
|
|
||||||
|
dolibarr_syslog("viewimage.php download $original_file $filename content-type=$type");
|
||||||
|
|
||||||
|
if (! file_exists($original_file))
|
||||||
|
{
|
||||||
|
dolibarr_print_error(0,$langs->trans("ErrorFileDoesNotExists",$original_file));
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
// Les drois sont ok et fichier trouvé
|
// Les drois sont ok et fichier trouvé
|
||||||
if ($type)
|
if ($type)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user