Skip to content
Snippets Groups Projects
Commit 0a32a7cd authored by Laurent Destailleur's avatar Laurent Destailleur
Browse files

Can attach files on supplier orders

parent 9547530c
No related branches found
No related tags found
No related merge requests found
......@@ -20,11 +20,11 @@
*/
/**
\file htdocs/document.php
\brief Wrapper to allow download of data files
\version $Id$
\remarks L'appel est document.php?file=pathrelatifdufichier&modulepart=repfichierconcerne
*/
* \file htdocs/document.php
* \brief Wrapper to download data files
* \version $Id$
* \remarks L'appel est document.php?file=pathrelatifdufichier&modulepart=repfichierconcerne
*/
$original_file = urldecode($_GET["file"]);
$modulepart = urldecode($_GET["modulepart"]);
......
......@@ -29,6 +29,7 @@
require('./pre.inc.php');
require_once(DOL_DOCUMENT_ROOT.'/includes/modules/supplier_order/modules_commandefournisseur.php');
require_once(DOL_DOCUMENT_ROOT."/product/stock/entrepot.class.php");
require_once(DOL_DOCUMENT_ROOT."/lib/fourn.lib.php");
if ($conf->projet->enabled) require_once(DOL_DOCUMENT_ROOT.'/project.class.php');
$langs->load('orders');
......@@ -108,26 +109,10 @@ if ($id > 0)
$author->id = $commande->user_author_id;
$author->fetch();
$h = 0;
$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/fiche.php?id='.$commande->id;
$head[$h][1] = $langs->trans("OrderCard");
$h++;
$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/dispatch.php?id='.$commande->id;
$head[$h][1] = $langs->trans("OrderDispatch");
$a = $h;
$h++;
$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/note.php?id='.$commande->id;
$head[$h][1] = $langs->trans("Note");
$h++;
$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/history.php?id='.$commande->id;
$head[$h][1] = $langs->trans("OrderFollow");
$h++;
$head = ordersupplier_prepare_head($commande);
$title=$langs->trans("SupplierOrder");
dolibarr_fiche_head($head, $a, $title);
dolibarr_fiche_head($head, 'dispatch', $title);
/*
* Commande
......
<?php
/* Copyright (C) 2003-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2008 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com>
* Copyright (C) 2005 Regis Houssin <regis@dolibarr.fr>
*
* 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
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/**
\file htdocs/fourn/commande/document.php
\ingroup supplier
\brief Page de gestion des documents attachees a une commande fournisseur
\version $Id$
*/
require('./pre.inc.php');
require_once(DOL_DOCUMENT_ROOT.'/lib/order.lib.php');
require_once(DOL_DOCUMENT_ROOT."/lib/files.lib.php");
require_once(DOL_DOCUMENT_ROOT."/lib/fourn.lib.php");
require_once(DOL_DOCUMENT_ROOT."/html.formfile.class.php");
require_once DOL_DOCUMENT_ROOT."/fourn/fournisseur.commande.class.php";
if (!$user->rights->commande->lire)
accessforbidden();
$langs->load('orders');
$langs->load('sendings');
$langs->load('companies');
$langs->load('bills');
$langs->load('deliveries');
$langs->load('products');
$langs->load('stocks');
$id=empty($_GET['id']) ? 0 : intVal($_GET['id']);
$action=empty($_GET['action']) ? (empty($_POST['action']) ? '' : $_POST['action']) : $_GET['action'];
// Security check
if (!$user->rights->fournisseur->commande->lire) accessforbidden();
if ($user->societe_id > 0)
{
unset($_GET["action"]);
$action='';
$socid = $user->societe_id;
}
// Get parameters
$page=$_GET["page"];
$sortorder=$_GET["sortorder"];
$sortfield=$_GET["sortfield"];
if (! $sortorder) $sortorder="ASC";
if (! $sortfield) $sortfield="name";
if ($page == -1) { $page = 0 ; }
$offset = $conf->liste_limit * $page ;
$pageprev = $page - 1;
$pagenext = $page + 1;
$commande = new CommandeFournisseur($db);
if ($commande->fetch($id) < 0)
{
dolibarr_print_error($db);
exit;
}
/*
* Actions
*/
// Envoi fichier
if ($_POST["sendit"] && $conf->upload)
{
$upload_dir = $conf->fournisseur->commande->dir_output . "/" . sanitizeFileName($commande->ref);
if (! is_dir($upload_dir)) create_exdir($upload_dir);
if (is_dir($upload_dir))
{
if (dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name'],0) > 0)
{
$mesg = '<div class="ok">'.$langs->trans("FileTransferComplete").'</div>';
//print_r($_FILES);
}
else
{
// Echec transfert (fichier dépassant la limite ?)
$mesg = '<div class="error">'.$langs->trans("ErrorFileNotUploaded").'</div>';
// print_r($_FILES);
}
}
}
// Delete
if ($action=='delete')
{
$upload_dir = $conf->fournisseur->commande->dir_output . "/" . sanitizeFileName($commande->ref);
$file = $upload_dir . '/' . urldecode($_GET['urlfile']);
dol_delete_file($file);
$mesg = '<div class="ok">'.$langs->trans("FileWasRemoved").'</div>';
}
/*
* Affichage
*/
if ($id > 0)
{
llxHeader();
$upload_dir = $conf->fournisseur->commande->dir_output.'/'.sanitizeFileName($commande->ref);
$societe = new Societe($db);
$societe->fetch($commande->socid);
$head = ordersupplier_prepare_head($commande);
dolibarr_fiche_head($head, 'documents', $langs->trans('SupplierOrder'));
// Construit liste des fichiers
$filearray=dol_dir_list($upload_dir,"files",0,'','\.meta$',$sortfield,(strtolower($sortorder)=='desc'?SORT_ASC:SORT_DESC),1);
$totalsize=0;
foreach($filearray as $key => $file)
{
$totalsize+=$file['size'];
}
print '<table class="border"width="100%">';
// Ref
print '<tr><td width="30%">'.$langs->trans('Ref').'</td><td colspan="3">'.$commande->ref.'</td></tr>';
print '<tr><td>'.$langs->trans('Supplier').'</td><td colspan="3">'.$societe->getNomUrl(1).'</td></tr>';
// Statut
print '<tr>';
print '<td>'.$langs->trans("Status").'</td>';
print '<td colspan="3">';
print $commande->getLibStatut(4);
print "</td></tr>";
print '<tr><td>'.$langs->trans("NbOfAttachedFiles").'</td><td colspan="3">'.sizeof($filearray).'</td></tr>';
print '<tr><td>'.$langs->trans("TotalSizeOfAttachedFiles").'</td><td colspan="3">'.$totalsize.' '.$langs->trans("bytes").'</td></tr>';
print "</table>\n";
print "</div>\n";
if ($mesg) { print $mesg."<br>"; }
// Affiche formulaire upload
$formfile=new FormFile($db);
$formfile->form_attach_new_file(DOL_URL_ROOT.'/fourn/commande/document.php?id='.$commande->id);
// List of document
$param='&id='.$commande->id;
$formfile->list_of_documents($filearray,$commande,'commande_fournisseur',$param);
}
else
{
Header('Location: index.php');
}
$db->close();
llxFooter('$Date$ - $Revision$');
?>
......@@ -30,7 +30,9 @@ require('./pre.inc.php');
require_once(DOL_DOCUMENT_ROOT."/html.formfile.class.php");
require_once(DOL_DOCUMENT_ROOT."/html.formorder.class.php");
require_once(DOL_DOCUMENT_ROOT.'/includes/modules/supplier_order/modules_commandefournisseur.php');
require_once DOL_DOCUMENT_ROOT."/fourn/fournisseur.commande.class.php";
require_once DOL_DOCUMENT_ROOT."/fourn/fournisseur.product.class.php";
require_once DOL_DOCUMENT_ROOT."/lib/fourn.lib.php";
if ($conf->projet->enabled) require_once(DOL_DOCUMENT_ROOT.'/project.class.php');
$langs->load('orders');
......@@ -487,27 +489,10 @@ if ($id > 0)
$author->id = $commande->user_author_id;
$author->fetch();
$h = 0;
$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/fiche.php?id='.$commande->id;
$head[$h][1] = $langs->trans("OrderCard");
$a = $h;
$h++;
$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/dispatch.php?id='.$commande->id;
$head[$h][1] = $langs->trans("OrderDispatch");
$h++;
$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/note.php?id='.$commande->id;
$head[$h][1] = $langs->trans("Note");
$h++;
$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/history.php?id='.$commande->id;
$head[$h][1] = $langs->trans("OrderFollow");
$h++;
$head = ordersupplier_prepare_head($commande);
$title=$langs->trans("SupplierOrder");
dolibarr_fiche_head($head, $a, $title);
dolibarr_fiche_head($head, 'card', $title);
/*
* Confirmation de la suppression de la commande
......
......@@ -15,19 +15,17 @@
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id$
* $Source$
*/
/**
\file htdocs/fourn/commande/history.php
\ingroup commande
\brief Fiche commande
\version $Revision$
\version $Id$
*/
require("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/fourn.lib.php");
$langs->load("orders");
$langs->load("suppliers");
......@@ -62,27 +60,10 @@ if ($_GET["id"] > 0)
llxHeader('',$langs->trans("History"),"CommandeFournisseur",$addons);
$h = 0;
$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/fiche.php?id='.$commande->id;
$head[$h][1] = $langs->trans("OrderCard");
$h++;
$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/dispatch.php?id='.$commande->id;
$head[$h][1] = $langs->trans("OrderDispatch");
$h++;
$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/note.php?id='.$commande->id;
$head[$h][1] = $langs->trans("Note");
$h++;
$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/history.php?id='.$commande->id;
$head[$h][1] = $langs->trans("OrderFollow");
$a = $h;
$h++;
$head = ordersupplier_prepare_head($commande);
$title=$langs->trans("SupplierOrder");
dolibarr_fiche_head($head, $a, $title);
dolibarr_fiche_head($head, 'info', $title);
/*
......
......@@ -15,19 +15,17 @@
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id$
* $Source$
*/
/**
\file htdocs/fourn/commande/note.php
\ingroup commande
\brief Fiche commande
\version $Revision$
\brief Fiche note commande
\version $Id$
*/
require("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/fourn.lib.php");
$langs->load("orders");
$langs->load("suppliers");
......@@ -78,26 +76,10 @@ if ($_GET["id"] > 0)
$author->id = $commande->user_author_id;
$author->fetch();
$h = 0;
$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/fiche.php?id='.$commande->id;
$head[$h][1] = $langs->trans("OrderCard");
$h++;
$head = ordersupplier_prepare_head($commande);
$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/dispatch.php?id='.$commande->id;
$head[$h][1] = $langs->trans("OrderDispatch");
$h++;
$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/note.php?id='.$commande->id;
$head[$h][1] = $langs->trans("Note");
$a = $h;
$h++;
$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/history.php?id='.$commande->id;
$head[$h][1] = $langs->trans("OrderFollow");
$h++;
$title=$langs->trans("SupplierOrder");
dolibarr_fiche_head($head, $a, $title);
dolibarr_fiche_head($head, 'note', $title);
/*
......
......@@ -53,4 +53,40 @@ function facturefourn_prepare_head($fac)
return $head;
}
function ordersupplier_prepare_head($commande)
{
global $langs, $conf;
$h = 0;
$head = array();
$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/fiche.php?id='.$commande->id;
$head[$h][1] = $langs->trans("OrderCard");
$head[$h][2] = 'card';
$h++;
$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/dispatch.php?id='.$commande->id;
$head[$h][1] = $langs->trans("OrderDispatch");
$head[$h][2] = 'dispatch';
$h++;
$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/note.php?id='.$commande->id;
$head[$h][1] = $langs->trans("Note");
$head[$h][2] = 'note';
$h++;
$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/document.php?id='.$commande->id;
$head[$h][1] = $langs->trans("Documents");
$head[$h][2] = 'documents';
$h++;
$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/history.php?id='.$commande->id;
$head[$h][1] = $langs->trans("OrderFollow");
$head[$h][2] = 'info';
$h++;
return $head;
}
?>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment