diff --git a/htdocs/core/modules/printing/printgcp.modules.php b/htdocs/core/modules/printing/printgcp.modules.php
index be479dd82f7..2091c1a89eb 100644
--- a/htdocs/core/modules/printing/printgcp.modules.php
+++ b/htdocs/core/modules/printing/printgcp.modules.php
@@ -166,7 +166,7 @@ class printing_printgcp extends PrintingDriver
*/
function print_file($file, $module, $subdir='')
{
- global $conf;
+ global $conf, $user, $db;
if ($this->authtoken=='') {
$this->GoogleLogin();
}
@@ -174,8 +174,30 @@ class printing_printgcp extends PrintingDriver
$fileprint=$conf->{$module}->dir_output;
if ($subdir!='') $fileprint.='/'.$subdir;
$fileprint.='/'.$file;
+ // select printer uri for module order, propal,...
+ $sql = 'SELECT rowid, printer_id, copy FROM '.MAIN_DB_PREFIX.'printing WHERE module="'.$module.'" AND driver="printgcp" AND userid='.$user->id;
+ $result = $db->query($sql);
+ if ($result)
+ {
+ $obj = $this->db->fetch_object($result);
+ if ($obj)
+ {
+ $printer_id=$obj->printer_id;
+ }
+ else
+ {
+ if (! empty($conf->global->PRINTIPP_GCP_DEFAULT))
+ {
+ $printer_id=$conf->global->PRINTIPP_GCP_DEFAULT;
+ }
+ else
+ {
+ return 'NoDefaultPrinterDefined';
+ }
+ }
+ }
- $this->sendPrintToPrinter($conf->global->PRINTING_GCP_DEFAULT, $file, $fileprint, 'application/pdf');
+ $this->sendPrintToPrinter($printer_id, $file, $fileprint, 'application/pdf');
}
/**
diff --git a/htdocs/core/modules/printing/printipp.modules.php b/htdocs/core/modules/printing/printipp.modules.php
index 2e4b4c7161a..c8a19bffa31 100644
--- a/htdocs/core/modules/printing/printipp.modules.php
+++ b/htdocs/core/modules/printing/printipp.modules.php
@@ -76,7 +76,7 @@ class printing_printipp extends PrintingDriver
*/
function print_file($file, $module, $subdir='')
{
- global $conf,$db;
+ global $conf, $user, $db;
include_once DOL_DOCUMENT_ROOT.'/includes/printipp/CupsPrintIPP.php';
@@ -89,7 +89,7 @@ class printing_printipp extends PrintingDriver
if (! empty($this->user)) $ipp->setAuthentication($this->user,$this->password);
// select printer uri for module order, propal,...
- $sql = 'SELECT rowid,printer_id,copy FROM '.MAIN_DB_PREFIX.'printing WHERE module="'.$module.'" AND driver="printipp"';
+ $sql = 'SELECT rowid,printer_id,copy FROM '.MAIN_DB_PREFIX.'printing WHERE module="'.$module.'" AND driver="printipp" AND userid='.$user->id;
$result = $db->query($sql);
if ($result)
{
diff --git a/htdocs/printing/admin/printing.php b/htdocs/printing/admin/printing.php
index 53b192c35e4..64823e63195 100644
--- a/htdocs/printing/admin/printing.php
+++ b/htdocs/printing/admin/printing.php
@@ -225,6 +225,42 @@ if ($mode == 'test' && $user->admin)
dol_fiche_end();
}
+if ($mode == 'userconf' && $user->admin)
+{
+ dol_fiche_head($head, $mode, $langs->trans("UserConf"), 0, 'technic');
+
+ print $langs->trans('PrintUserConfDesc'.$driver)."
\n";
+
+ print '
| '.$langs->trans("User").' | '; + print ''.$langs->trans("PrintModule").' | '; + print ''.$langs->trans("PrintDriver").' | '; + print ''.$langs->trans("Printer").' | '; + print ''.$langs->trans("PrinterLocation").' | '; + print ''.$langs->trans("PrinterId").' | '; + print ''.$langs->trans("NumberOfCopy").' | '; + print "
|---|---|---|---|---|---|---|
| '.$row['login'].' | '; + print ''.$row['module'].' | '; + print ''.$row['driver'].' | '; + print ''.$row['printer_name'].' | '; + print ''.$row['printer_location'].' | '; + print ''.$row['printer_id'].' | '; + print ''.$row['copy'].' | '; + print "