Qual: Uniformize a lot of code (supplier_invoice => invoice_supplier, same for order)
New: Add link between supplier invoices and supplier orders.
This commit is contained in:
parent
81183e5ef0
commit
86ffc32195
@ -103,8 +103,8 @@ class modMyModule extends DolibarrModules
|
|||||||
// where entity can be
|
// where entity can be
|
||||||
// 'thirdparty' to add a tab in third party view
|
// 'thirdparty' to add a tab in third party view
|
||||||
// 'intervention' to add a tab in intervention view
|
// 'intervention' to add a tab in intervention view
|
||||||
// 'supplier_order' to add a tab in supplier order view
|
// 'order_supplier' to add a tab in supplier order view
|
||||||
// 'supplier_invoice' to add a tab in supplier invoice view
|
// 'invoice_supplier' to add a tab in supplier invoice view
|
||||||
// 'invoice' to add a tab in customer invoice view
|
// 'invoice' to add a tab in customer invoice view
|
||||||
// 'order' to add a tab in customer order view
|
// 'order' to add a tab in customer order view
|
||||||
// 'product' to add a tab in product view
|
// 'product' to add a tab in product view
|
||||||
|
|||||||
@ -154,12 +154,12 @@ if ($_GET["action"] == 'setdoc')
|
|||||||
{
|
{
|
||||||
$db->begin();
|
$db->begin();
|
||||||
|
|
||||||
if ($_GET["type"] == 'supplier_order' && dolibarr_set_const($db, "COMMANDE_SUPPLIER_ADDON_PDF",$_GET["value"],'chaine',0,'',$conf->entity))
|
if ($_GET["type"] == 'order_supplier' && dolibarr_set_const($db, "COMMANDE_SUPPLIER_ADDON_PDF",$_GET["value"],'chaine',0,'',$conf->entity))
|
||||||
{
|
{
|
||||||
$conf->global->COMMANDE_SUPPLIER_ADDON_PDF = $_GET["value"];
|
$conf->global->COMMANDE_SUPPLIER_ADDON_PDF = $_GET["value"];
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_GET["type"] == 'supplier_invoice' && dolibarr_set_const($db, "INVOICE_SUPPLIER_ADDON_PDF",$_GET["value"],'chaine',0,'',$conf->entity))
|
if ($_GET["type"] == 'invoice_supplier' && dolibarr_set_const($db, "INVOICE_SUPPLIER_ADDON_PDF",$_GET["value"],'chaine',0,'',$conf->entity))
|
||||||
{
|
{
|
||||||
$conf->global->INVOICE_SUPPLIER_ADDON_PDF = $_GET["value"];
|
$conf->global->INVOICE_SUPPLIER_ADDON_PDF = $_GET["value"];
|
||||||
}
|
}
|
||||||
@ -317,7 +317,7 @@ $dir = DOL_DOCUMENT_ROOT.'/includes/modules/supplier_order/pdf/';
|
|||||||
print_titre($langs->trans("OrdersModelModule"));
|
print_titre($langs->trans("OrdersModelModule"));
|
||||||
|
|
||||||
// Defini tableau def de modele
|
// Defini tableau def de modele
|
||||||
$type='supplier_order';
|
$type='order_supplier';
|
||||||
$def = array();
|
$def = array();
|
||||||
|
|
||||||
$sql = "SELECT nom";
|
$sql = "SELECT nom";
|
||||||
@ -438,7 +438,7 @@ $dir = DOL_DOCUMENT_ROOT.'/includes/modules/supplier_invoice/pdf/';
|
|||||||
print_titre($langs->trans("BillsPDFModules"));
|
print_titre($langs->trans("BillsPDFModules"));
|
||||||
|
|
||||||
// Defini tableau def de modele
|
// Defini tableau def de modele
|
||||||
$type='supplier_invoice';
|
$type='invoice_supplier';
|
||||||
$def = array();
|
$def = array();
|
||||||
|
|
||||||
$sql = "SELECT nom";
|
$sql = "SELECT nom";
|
||||||
|
|||||||
@ -161,7 +161,7 @@ if ($_REQUEST["account"] || $_REQUEST["ref"])
|
|||||||
$sql.= " ORDER BY dlr ASC";
|
$sql.= " ORDER BY dlr ASC";
|
||||||
|
|
||||||
// Supplier invoices
|
// Supplier invoices
|
||||||
$sql2= " SELECT 'supplier_invoice' as family, ff.rowid as objid, ff.facnumber as ref, (-1*ff.total_ttc) as total_ttc, ff.type, ff.date_lim_reglement as dlr,";
|
$sql2= " SELECT 'invoice_supplier' as family, ff.rowid as objid, ff.facnumber as ref, (-1*ff.total_ttc) as total_ttc, ff.type, ff.date_lim_reglement as dlr,";
|
||||||
$sql2.= " s.rowid as socid, s.nom, s.fournisseur";
|
$sql2.= " s.rowid as socid, s.nom, s.fournisseur";
|
||||||
$sql2.= " FROM ".MAIN_DB_PREFIX."facture_fourn as ff";
|
$sql2.= " FROM ".MAIN_DB_PREFIX."facture_fourn as ff";
|
||||||
$sql2.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON ff.fk_soc = s.rowid";
|
$sql2.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON ff.fk_soc = s.rowid";
|
||||||
@ -255,7 +255,7 @@ if ($_REQUEST["account"] || $_REQUEST["ref"])
|
|||||||
//$obj = $db->fetch_object($result);
|
//$obj = $db->fetch_object($result);
|
||||||
$obj = array_shift($tab_sqlobj);
|
$obj = array_shift($tab_sqlobj);
|
||||||
|
|
||||||
if ($obj->family == 'supplier_invoice')
|
if ($obj->family == 'invoice_supplier')
|
||||||
{
|
{
|
||||||
// TODO This code is to avoid to count suppliers credit note (ff.type = 2)
|
// TODO This code is to avoid to count suppliers credit note (ff.type = 2)
|
||||||
// Ajouter gestion des avoirs fournisseurs, champ
|
// Ajouter gestion des avoirs fournisseurs, champ
|
||||||
|
|||||||
@ -664,7 +664,7 @@ if ($_POST['action'] == 'add' && $user->rights->facture->creer)
|
|||||||
$object->remise_absolue = $_POST['remise_absolue'];
|
$object->remise_absolue = $_POST['remise_absolue'];
|
||||||
$object->remise_percent = $_POST['remise_percent'];
|
$object->remise_percent = $_POST['remise_percent'];
|
||||||
|
|
||||||
// If creation from another object of another module
|
// If creation from another object of another module (Example: origin=propal, originid=1)
|
||||||
if ($_POST['origin'] && $_POST['originid'])
|
if ($_POST['origin'] && $_POST['originid'])
|
||||||
{
|
{
|
||||||
// Parse element/subelement (ex: project_task)
|
// Parse element/subelement (ex: project_task)
|
||||||
@ -691,12 +691,13 @@ if ($_POST['action'] == 'add' && $user->rights->facture->creer)
|
|||||||
$classname = ucfirst($subelement);
|
$classname = ucfirst($subelement);
|
||||||
$srcobject = new $classname($db);
|
$srcobject = new $classname($db);
|
||||||
|
|
||||||
$result=$srcobject->fetch($_POST['originid']);
|
dol_syslog("Try to find source object origin=".$object->origin." originid=".$object->origin_id." to add lines");
|
||||||
|
$result=$srcobject->fetch($object->origin_id);
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
{
|
{
|
||||||
// TODO mutualiser
|
// TODO mutualiser
|
||||||
$lines = $srcobject->lignes;
|
$lines = $srcobject->lignes;
|
||||||
if (sizeof($lines)) $lines = $srcobject->lines;
|
if (sizeof($srcobject->lines)) $lines = $srcobject->lines;
|
||||||
if (empty($lines) && method_exists($srcobject,'fetch_lignes')) $lines = $srcobject->fetch_lignes();
|
if (empty($lines) && method_exists($srcobject,'fetch_lignes')) $lines = $srcobject->fetch_lignes();
|
||||||
if (empty($lines) && method_exists($srcobject,'fetch_lines')) $lines = $srcobject->fetch_lines();
|
if (empty($lines) && method_exists($srcobject,'fetch_lines')) $lines = $srcobject->fetch_lines();
|
||||||
|
|
||||||
@ -743,11 +744,13 @@ if ($_POST['action'] == 'add' && $user->rights->facture->creer)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
$mesg=$srcobject->error;
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
$mesg=$object->error;
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2924,8 +2927,6 @@ else
|
|||||||
$genallowed=$user->rights->facture->creer;
|
$genallowed=$user->rights->facture->creer;
|
||||||
$delallowed=$user->rights->facture->supprimer;
|
$delallowed=$user->rights->facture->supprimer;
|
||||||
|
|
||||||
$var=true;
|
|
||||||
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
$somethingshown=$formfile->show_documents('facture',$filename,$filedir,$urlsource,$genallowed,$delallowed,$object->modelpdf,1,0,0,28,0,'','','',$soc->default_lang);
|
$somethingshown=$formfile->show_documents('facture',$filename,$filedir,$urlsource,$genallowed,$delallowed,$object->modelpdf,1,0,0,28,0,'','','',$soc->default_lang);
|
||||||
|
|
||||||
|
|||||||
@ -233,10 +233,10 @@ class Facture extends CommonObject
|
|||||||
$sql.= ",".($this->remise_absolue>0?$this->remise_absolue:'NULL');
|
$sql.= ",".($this->remise_absolue>0?$this->remise_absolue:'NULL');
|
||||||
$sql.= ",".($this->remise_percent>0?$this->remise_percent:'NULL');
|
$sql.= ",".($this->remise_percent>0?$this->remise_percent:'NULL');
|
||||||
$sql.= ", '".$this->db->idate($this->date)."'";
|
$sql.= ", '".$this->db->idate($this->date)."'";
|
||||||
$sql.= ",".($this->note?"'".addslashes($this->note)."'":"null");
|
$sql.= ",".($this->note?"'".$this->db->escape($this->note)."'":"null");
|
||||||
$sql.= ",".($this->note_public?"'".addslashes($this->note_public)."'":"null");
|
$sql.= ",".($this->note_public?"'".$this->db->escape($this->note_public)."'":"null");
|
||||||
$sql.= ",".($this->ref_client?"'".addslashes($this->ref_client)."'":"null");
|
$sql.= ",".($this->ref_client?"'".$this->db->escape($this->ref_client)."'":"null");
|
||||||
$sql.= ",".($this->fk_facture_source?"'".addslashes($this->fk_facture_source)."'":"null");
|
$sql.= ",".($this->fk_facture_source?"'".$this->db->escape($this->fk_facture_source)."'":"null");
|
||||||
$sql.= ",".($user->id > 0 ? "'".$user->id."'":"null");
|
$sql.= ",".($user->id > 0 ? "'".$user->id."'":"null");
|
||||||
$sql.= ",".($this->fk_project?$this->fk_project:"null");
|
$sql.= ",".($this->fk_project?$this->fk_project:"null");
|
||||||
$sql.= ','.$this->cond_reglement_id;
|
$sql.= ','.$this->cond_reglement_id;
|
||||||
@ -249,6 +249,7 @@ class Facture extends CommonObject
|
|||||||
{
|
{
|
||||||
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.'facture');
|
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.'facture');
|
||||||
|
|
||||||
|
// Update ref with new one
|
||||||
$this->ref='(PROV'.$this->id.')';
|
$this->ref='(PROV'.$this->id.')';
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX."facture SET facnumber='".$this->ref."' WHERE rowid=".$this->id;
|
$sql = 'UPDATE '.MAIN_DB_PREFIX."facture SET facnumber='".$this->ref."' WHERE rowid=".$this->id;
|
||||||
|
|
||||||
|
|||||||
@ -344,23 +344,23 @@ class CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief La liste des valeurs possibles de type de contacts
|
* Return array with list of possible values for type of contacts
|
||||||
* \param source internal, external or all if not defined
|
* @param source internal, external or all if not defined
|
||||||
* \param order Sort order by : code or rowid
|
* @param order Sort order by : code or rowid
|
||||||
* \return array La liste des natures
|
* @return array List of type of contacts
|
||||||
*/
|
*/
|
||||||
function liste_type_contact($source='internal', $order='code')
|
function liste_type_contact($source='internal', $order='code')
|
||||||
{
|
{
|
||||||
global $langs;
|
global $langs;
|
||||||
|
|
||||||
$tab = array();
|
$tab = array();
|
||||||
|
|
||||||
$sql = "SELECT DISTINCT tc.rowid, tc.code, tc.libelle";
|
$sql = "SELECT DISTINCT tc.rowid, tc.code, tc.libelle";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_type_contact as tc";
|
$sql.= " FROM ".MAIN_DB_PREFIX."c_type_contact as tc";
|
||||||
$sql.= " WHERE tc.element='".$this->element."'";
|
$sql.= " WHERE tc.element='".$this->element."'";
|
||||||
if (! empty($source)) $sql.= " AND tc.source='".$source."'";
|
if (! empty($source)) $sql.= " AND tc.source='".$source."'";
|
||||||
$sql.= " ORDER by tc.".$order;
|
$sql.= " ORDER by tc.".$order;
|
||||||
|
|
||||||
|
//print "sql=".$sql;
|
||||||
$resql=$this->db->query($sql);
|
$resql=$this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
@ -379,8 +379,8 @@ class CommonObject
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->error=$this->db->error();
|
$this->error=$this->db->lasterror();
|
||||||
// dol_print_error($this->db);
|
//dol_print_error($this->db);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -987,7 +987,7 @@ class CommonObject
|
|||||||
$fieldlocaltax1='total_localtax1';
|
$fieldlocaltax1='total_localtax1';
|
||||||
$fieldlocaltax2='total_localtax2';
|
$fieldlocaltax2='total_localtax2';
|
||||||
|
|
||||||
if ($this->element == 'facture_fourn')
|
if ($this->element == 'facture_fourn' || $this->element == 'invoice_supplier')
|
||||||
{
|
{
|
||||||
$fieldtva='tva';
|
$fieldtva='tva';
|
||||||
}
|
}
|
||||||
@ -1038,7 +1038,7 @@ class CommonObject
|
|||||||
$fieldht='total';
|
$fieldht='total';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->element == 'facture_fourn')
|
if ($this->element == 'facture_fourn' || $this->element == 'invoice_supplier')
|
||||||
{
|
{
|
||||||
$fieldtva='total_tva';
|
$fieldtva='total_tva';
|
||||||
}
|
}
|
||||||
@ -1079,7 +1079,8 @@ class CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add objects linked in llx_element_element.
|
* Add objects linked in llx_element_element.
|
||||||
|
* @return int <=0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function add_object_linked()
|
function add_object_linked()
|
||||||
{
|
{
|
||||||
@ -1097,6 +1098,7 @@ class CommonObject
|
|||||||
$sql.= ", '".$this->element."'";
|
$sql.= ", '".$this->element."'";
|
||||||
$sql.= ")";
|
$sql.= ")";
|
||||||
|
|
||||||
|
dol_syslog("CommonObject::add_object_linked sql=".$sql);
|
||||||
if ($this->db->query($sql))
|
if ($this->db->query($sql))
|
||||||
{
|
{
|
||||||
$this->db->commit();
|
$this->db->commit();
|
||||||
@ -1104,7 +1106,7 @@ class CommonObject
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->error=$this->db->lasterror()." - sql=$sql";
|
$this->error=$this->db->lasterror();
|
||||||
$this->db->rollback();
|
$this->db->rollback();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -1345,25 +1347,29 @@ class CommonObject
|
|||||||
* Show linked object block
|
* Show linked object block
|
||||||
* TODO This must be moved into a html.class file instead of a business class.
|
* TODO This must be moved into a html.class file instead of a business class.
|
||||||
* But for the moment we don't know if it'st possible as we keep a method available on overloaded objects.
|
* But for the moment we don't know if it'st possible as we keep a method available on overloaded objects.
|
||||||
* @param $object
|
* @param $objecttype Type of object (invoice, propal, order, invoice_supplier, order_supplier, ...)
|
||||||
* @param $objectid
|
* @param $objectid
|
||||||
* @param $somethingshown
|
* @param $somethingshown
|
||||||
*/
|
*/
|
||||||
function showLinkedObjectBlock($object,$objectid,$somethingshown=0)
|
function showLinkedObjectBlock($objecttype,$objectid,$somethingshown=0)
|
||||||
{
|
{
|
||||||
global $langs,$bc;
|
global $langs,$bc;
|
||||||
|
|
||||||
$num = sizeof($objectid);
|
$num = sizeof($objectid);
|
||||||
if ($num)
|
if ($num)
|
||||||
{
|
{
|
||||||
$classpath = $object.'/class';
|
$classpath = $objecttype.'/class';
|
||||||
$tplpath = $object;
|
$tplpath = $objecttype;
|
||||||
if ($object == 'facture') $tplpath = 'compta/'.$object; $classpath = $tplpath.'/class'; // To work with non standard path
|
if ($objecttype == 'facture') $tplpath = 'compta/'.$objecttype; $classpath = $tplpath.'/class'; // To work with non standard path
|
||||||
if ($object == 'propal') $tplpath = 'comm/'.$object; $classpath = $tplpath.'/class'; // To work with non standard path
|
if ($objecttype == 'propal') $tplpath = 'comm/'.$objecttype; $classpath = $tplpath.'/class'; // To work with non standard path
|
||||||
|
if ($objecttype == 'invoice_supplier') $tplpath = 'fourn/facture'; $classpath = 'fourn/class'; // To work with non standard path
|
||||||
|
if ($objecttype == 'order_supplier') $tplpath = 'fourn/commande'; $classpath = 'fourn/class'; // To work with non standard path
|
||||||
|
|
||||||
//print $classpath." - ".$tplpath;
|
$classfile = strtolower($objecttype); $classname = ucfirst($objecttype);
|
||||||
$classname = ucfirst($object);
|
if ($objecttype == 'invoice_supplier') { $classfile='fournisseur.facture'; $classname='FactureFournisseur'; }
|
||||||
if(!class_exists($classname)) require(DOL_DOCUMENT_ROOT."/".$classpath."/".$object.".class.php");
|
if ($objecttype == 'order_supplier') { $classfile='fournisseur.commande'; $classname='CommandeFournisseur'; }
|
||||||
|
//print $classfile." - ".$classpath." - ".$tplpath;
|
||||||
|
if(!class_exists($classname)) require(DOL_DOCUMENT_ROOT."/".$classpath."/".$classfile.".class.php");
|
||||||
$linkedObjectBlock = new $classname($this->db);
|
$linkedObjectBlock = new $classname($this->db);
|
||||||
include(DOL_DOCUMENT_ROOT.'/'.$tplpath.'/tpl/linkedobjectblock.tpl.php');
|
include(DOL_DOCUMENT_ROOT.'/'.$tplpath.'/tpl/linkedobjectblock.tpl.php');
|
||||||
return $num;
|
return $num;
|
||||||
|
|||||||
@ -90,7 +90,7 @@ class FormActions
|
|||||||
/**
|
/**
|
||||||
* Show list of actions for element
|
* Show list of actions for element
|
||||||
* @param object Object
|
* @param object Object
|
||||||
* @param typeelement 'invoice','propal','order'
|
* @param typeelement 'invoice','propal','order','invoice_supplier','order_supplier'
|
||||||
* @param socid socid of user
|
* @param socid socid of user
|
||||||
* @return int <0 if KO, >=0 if OK
|
* @return int <0 if KO, >=0 if OK
|
||||||
*/
|
*/
|
||||||
@ -105,11 +105,16 @@ class FormActions
|
|||||||
$sql.= ' WHERE a.fk_user_author = u.rowid';
|
$sql.= ' WHERE a.fk_user_author = u.rowid';
|
||||||
if ($socid) $sql .= ' AND a.fk_soc = '.$socid;
|
if ($socid) $sql .= ' AND a.fk_soc = '.$socid;
|
||||||
if ($typeelement == 'invoice') $sql.= ' AND a.fk_facture = '.$object->id;
|
if ($typeelement == 'invoice') $sql.= ' AND a.fk_facture = '.$object->id;
|
||||||
if ($typeelement == 'supplier_invoice') $sql.= ' AND a.fk_supplier_invoice = '.$object->id;
|
elseif ($typeelement == 'invoice_supplier' || $typeelement == 'supplier_invoice') $sql.= ' AND a.fk_supplier_invoice = '.$object->id;
|
||||||
if ($typeelement == 'propal') $sql.= ' AND a.propalrowid = '.$object->id;
|
elseif ($typeelement == 'propal') $sql.= ' AND a.propalrowid = '.$object->id;
|
||||||
if ($typeelement == 'order') $sql.= ' AND a.fk_commande = '.$object->id;
|
elseif ($typeelement == 'order') $sql.= ' AND a.fk_commande = '.$object->id;
|
||||||
if ($typeelement == 'supplier_order') $sql.= ' AND a.fk_supplier_order = '.$object->id;
|
elseif ($typeelement == 'order_supplier' || $typeelement == 'supplier_order') $sql.= ' AND a.fk_supplier_order = '.$object->id;
|
||||||
if ($typeelement == 'project') $sql.= ' AND a.fk_project = '.$object->id;
|
elseif ($typeelement == 'project') $sql.= ' AND a.fk_project = '.$object->id;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dol_print_error('','Bad value for parameter typeelement');
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
dol_syslog("FormActions::showactions sql=".$sql);
|
dol_syslog("FormActions::showactions sql=".$sql);
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
@ -119,10 +124,10 @@ class FormActions
|
|||||||
if ($num)
|
if ($num)
|
||||||
{
|
{
|
||||||
if ($typeelement == 'invoice') $title=$langs->trans('ActionsOnBill');
|
if ($typeelement == 'invoice') $title=$langs->trans('ActionsOnBill');
|
||||||
if ($typeelement == 'supplier_invoice') $title=$langs->trans('ActionsOnSupplierBill');
|
if ($typeelement == 'invoice_supplier' || $typeelement == 'supplier_invoice') $title=$langs->trans('ActionsOnBill');
|
||||||
if ($typeelement == 'propal') $title=$langs->trans('ActionsOnPropal');
|
if ($typeelement == 'propal') $title=$langs->trans('ActionsOnPropal');
|
||||||
if ($typeelement == 'order') $title=$langs->trans('ActionsOnOrder');
|
if ($typeelement == 'order') $title=$langs->trans('ActionsOnOrder');
|
||||||
if ($typeelement == 'supplier_order') $title=$langs->trans('ActionsOnSupplierOrder');
|
if ($typeelement == 'order_supplier' || $typeelement == 'supplier_order') $title=$langs->trans('ActionsOnOrder');
|
||||||
if ($typeelement == 'project') $title=$langs->trans('ActionsOnProject');
|
if ($typeelement == 'project') $title=$langs->trans('ActionsOnProject');
|
||||||
|
|
||||||
print_titre($title);
|
print_titre($title);
|
||||||
|
|||||||
@ -126,7 +126,7 @@ class FormFile
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Show the box with list of available documents for object
|
* Show the box with list of available documents for object
|
||||||
* @param modulepart propal=propal, facture=facture, ...
|
* @param modulepart propal, facture, facture_fourn, ...
|
||||||
* @param filename Sub dir to scan (Example: '9/9', 'FA9999'). Use '' if filedir already complete)
|
* @param filename Sub dir to scan (Example: '9/9', 'FA9999'). Use '' if filedir already complete)
|
||||||
* @param filedir Dir to scan
|
* @param filedir Dir to scan
|
||||||
* @param urlsource Url of origin page (for return)
|
* @param urlsource Url of origin page (for return)
|
||||||
|
|||||||
@ -489,7 +489,8 @@ function PLineSelect(&$inc, $parent, $lines, $level=0, $selectedtask=0, $selecte
|
|||||||
|
|
||||||
$lastprojectid=0;
|
$lastprojectid=0;
|
||||||
|
|
||||||
for ($i = 0 ; $i < sizeof($lines) ; $i++)
|
$numlines=sizeof($lines);
|
||||||
|
for ($i = 0 ; $i < $numlines ; $i++)
|
||||||
{
|
{
|
||||||
if ($lines[$i]->fk_parent == $parent)
|
if ($lines[$i]->fk_parent == $parent)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -362,9 +362,9 @@ if ($conf->societe->enabled) { $rowspan++; $sectionauto[]=array('level'=>1,
|
|||||||
if ($conf->propal->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'propal', 'test'=>$conf->propal->enabled, 'label'=>$langs->trans("Prop"), 'desc'=>$langs->trans("ECMDocsByProposals")); }
|
if ($conf->propal->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'propal', 'test'=>$conf->propal->enabled, 'label'=>$langs->trans("Prop"), 'desc'=>$langs->trans("ECMDocsByProposals")); }
|
||||||
if ($conf->contrat->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'contract','test'=>$conf->contrat->enabled, 'label'=>$langs->trans("Contracts"), 'desc'=>$langs->trans("ECMDocsByContracts")); }
|
if ($conf->contrat->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'contract','test'=>$conf->contrat->enabled, 'label'=>$langs->trans("Contracts"), 'desc'=>$langs->trans("ECMDocsByContracts")); }
|
||||||
if ($conf->commande->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'order', 'test'=>$conf->commande->enabled,'label'=>$langs->trans("CustomersOrders"), 'desc'=>$langs->trans("ECMDocsByOrders")); }
|
if ($conf->commande->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'order', 'test'=>$conf->commande->enabled,'label'=>$langs->trans("CustomersOrders"), 'desc'=>$langs->trans("ECMDocsByOrders")); }
|
||||||
if ($conf->fournisseur->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'supplier_order', 'test'=>$conf->fournisseur->enabled, 'label'=>$langs->trans("SuppliersInvoices"), 'desc'=>$langs->trans("ECMDocsByOrders")); }
|
if ($conf->fournisseur->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'order_supplier', 'test'=>$conf->fournisseur->enabled, 'label'=>$langs->trans("SuppliersInvoices"), 'desc'=>$langs->trans("ECMDocsByOrders")); }
|
||||||
if ($conf->facture->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'invoice', 'test'=>$conf->facture->enabled, 'label'=>$langs->trans("CustomersInvoices"), 'desc'=>$langs->trans("ECMDocsByInvoices")); }
|
if ($conf->facture->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'invoice', 'test'=>$conf->facture->enabled, 'label'=>$langs->trans("CustomersInvoices"), 'desc'=>$langs->trans("ECMDocsByInvoices")); }
|
||||||
if ($conf->fournisseur->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'supplier_invoice', 'test'=>$conf->fournisseur->enabled, 'label'=>$langs->trans("SuppliersOrders"), 'desc'=>$langs->trans("ECMDocsByOrders")); }
|
if ($conf->fournisseur->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'invoice_supplier', 'test'=>$conf->fournisseur->enabled, 'label'=>$langs->trans("SuppliersOrders"), 'desc'=>$langs->trans("ECMDocsByOrders")); }
|
||||||
|
|
||||||
|
|
||||||
//***********************
|
//***********************
|
||||||
|
|||||||
@ -110,9 +110,9 @@ if ($conf->societe->enabled) { $rowspan++; $sectionauto[]=array('level'=>1,
|
|||||||
if ($conf->propal->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'propal', 'test'=>$conf->propal->enabled, 'label'=>$langs->trans("Prop"), 'desc'=>$langs->trans("ECMDocsByProposals")); }
|
if ($conf->propal->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'propal', 'test'=>$conf->propal->enabled, 'label'=>$langs->trans("Prop"), 'desc'=>$langs->trans("ECMDocsByProposals")); }
|
||||||
if ($conf->contrat->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'contract','test'=>$conf->contrat->enabled, 'label'=>$langs->trans("Contracts"), 'desc'=>$langs->trans("ECMDocsByContracts")); }
|
if ($conf->contrat->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'contract','test'=>$conf->contrat->enabled, 'label'=>$langs->trans("Contracts"), 'desc'=>$langs->trans("ECMDocsByContracts")); }
|
||||||
if ($conf->commande->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'order', 'test'=>$conf->commande->enabled,'label'=>$langs->trans("CustomersOrders"), 'desc'=>$langs->trans("ECMDocsByOrders")); }
|
if ($conf->commande->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'order', 'test'=>$conf->commande->enabled,'label'=>$langs->trans("CustomersOrders"), 'desc'=>$langs->trans("ECMDocsByOrders")); }
|
||||||
if ($conf->fournisseur->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'supplier_order', 'test'=>$conf->fournisseur->enabled, 'label'=>$langs->trans("SuppliersInvoices"), 'desc'=>$langs->trans("ECMDocsByOrders")); }
|
if ($conf->fournisseur->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'order_supplier', 'test'=>$conf->fournisseur->enabled, 'label'=>$langs->trans("SuppliersInvoices"), 'desc'=>$langs->trans("ECMDocsByOrders")); }
|
||||||
if ($conf->facture->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'invoice', 'test'=>$conf->facture->enabled, 'label'=>$langs->trans("CustomersInvoices"), 'desc'=>$langs->trans("ECMDocsByInvoices")); }
|
if ($conf->facture->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'invoice', 'test'=>$conf->facture->enabled, 'label'=>$langs->trans("CustomersInvoices"), 'desc'=>$langs->trans("ECMDocsByInvoices")); }
|
||||||
if ($conf->fournisseur->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'supplier_invoice', 'test'=>$conf->fournisseur->enabled, 'label'=>$langs->trans("SuppliersOrders"), 'desc'=>$langs->trans("ECMDocsByOrders")); }
|
if ($conf->fournisseur->enabled) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'invoice_supplier', 'test'=>$conf->fournisseur->enabled, 'label'=>$langs->trans("SuppliersOrders"), 'desc'=>$langs->trans("ECMDocsByOrders")); }
|
||||||
|
|
||||||
|
|
||||||
//***********************
|
//***********************
|
||||||
|
|||||||
@ -41,7 +41,7 @@ class FactureFournisseur extends Facture
|
|||||||
var $db;
|
var $db;
|
||||||
var $error;
|
var $error;
|
||||||
|
|
||||||
var $element='facture_fourn';
|
var $element='invoice_supplier';
|
||||||
var $table_element='facture_fourn';
|
var $table_element='facture_fourn';
|
||||||
var $table_element_line='facture_fourn_det';
|
var $table_element_line='facture_fourn_det';
|
||||||
var $fk_element='fk_facture_fourn';
|
var $fk_element='fk_facture_fourn';
|
||||||
@ -77,6 +77,7 @@ class FactureFournisseur extends Facture
|
|||||||
var $lines;
|
var $lines;
|
||||||
var $fournisseur;
|
var $fournisseur;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Constructeur de la classe
|
* \brief Constructeur de la classe
|
||||||
* \param DB Database access handler
|
* \param DB Database access handler
|
||||||
@ -86,8 +87,6 @@ class FactureFournisseur extends Facture
|
|||||||
function FactureFournisseur($DB, $socid='', $facid='')
|
function FactureFournisseur($DB, $socid='', $facid='')
|
||||||
{
|
{
|
||||||
$this->db = $DB ;
|
$this->db = $DB ;
|
||||||
$this->table = 'facture_fourn';
|
|
||||||
$this->tabledetail = 'facture_fourn_det';
|
|
||||||
|
|
||||||
$this->id = $facid;
|
$this->id = $facid;
|
||||||
$this->socid = $socid;
|
$this->socid = $socid;
|
||||||
@ -139,14 +138,14 @@ class FactureFournisseur extends Facture
|
|||||||
$sql.= ", date_lim_reglement";
|
$sql.= ", date_lim_reglement";
|
||||||
$sql.= ")";
|
$sql.= ")";
|
||||||
$sql.= " VALUES (";
|
$sql.= " VALUES (";
|
||||||
$sql.= "'".addslashes($number)."'";
|
$sql.= "'".$this->db->escape($number)."'";
|
||||||
$sql.= ", ".$conf->entity;
|
$sql.= ", ".$conf->entity;
|
||||||
$sql.= ", '".addslashes($this->libelle)."'";
|
$sql.= ", '".$this->db->escape($this->libelle)."'";
|
||||||
$sql.= ", ".$this->socid;
|
$sql.= ", ".$this->socid;
|
||||||
$sql.= ", ".$this->db->idate(gmmktime());
|
$sql.= ", ".$this->db->idate(gmmktime());
|
||||||
$sql.= ", '".$this->db->idate($this->date)."'";
|
$sql.= ", '".$this->db->idate($this->date)."'";
|
||||||
$sql.= ", '".addslashes($this->note)."'";
|
$sql.= ", '".$this->db->escape($this->note)."'";
|
||||||
$sql.= ", '".addslashes($this->note_public)."'";
|
$sql.= ", '".$this->db->escape($this->note_public)."'";
|
||||||
$sql.= ", ".$user->id.",";
|
$sql.= ", ".$user->id.",";
|
||||||
$sql.= $this->date_echeance!=''?"'".$this->db->idate($this->date_echeance)."'":"null";
|
$sql.= $this->date_echeance!=''?"'".$this->db->idate($this->date_echeance)."'":"null";
|
||||||
$sql.= ")";
|
$sql.= ")";
|
||||||
@ -156,6 +155,19 @@ class FactureFournisseur extends Facture
|
|||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.'facture_fourn');
|
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.'facture_fourn');
|
||||||
|
|
||||||
|
|
||||||
|
// Add object linked
|
||||||
|
if (! $error && $this->id && $this->origin && $this->origin_id)
|
||||||
|
{
|
||||||
|
$ret = $this->add_object_linked();
|
||||||
|
if (! $ret)
|
||||||
|
{
|
||||||
|
dol_print_error($this->db);
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($this->lines as $i => $val)
|
foreach ($this->lines as $i => $val)
|
||||||
{
|
{
|
||||||
$sql = 'INSERT INTO '.MAIN_DB_PREFIX.'facture_fourn_det (fk_facture_fourn)';
|
$sql = 'INSERT INTO '.MAIN_DB_PREFIX.'facture_fourn_det (fk_facture_fourn)';
|
||||||
|
|||||||
@ -1339,6 +1339,25 @@ if ($id > 0 || ! empty($ref))
|
|||||||
|
|
||||||
$somethingshown=$formfile->show_documents('commande_fournisseur',$comfournref,$filedir,$urlsource,$genallowed,$delallowed,$commande->modelpdf);
|
$somethingshown=$formfile->show_documents('commande_fournisseur',$comfournref,$filedir,$urlsource,$genallowed,$delallowed,$commande->modelpdf);
|
||||||
|
|
||||||
|
$object=$commande;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Linked object block
|
||||||
|
*/
|
||||||
|
$object->load_object_linked($object->id,$object->element);
|
||||||
|
|
||||||
|
foreach($object->linked_object as $linked_object => $linked_objectid)
|
||||||
|
{
|
||||||
|
$tmpmodule=$linked_object;
|
||||||
|
if ($linked_object == 'invoice_supplier') $tmpmodule='fournisseur';
|
||||||
|
if ($linked_object == 'order_supplier') $tmpmodule='fournisseur';
|
||||||
|
if($conf->$tmpmodule->enabled && $linked_object != $object->element)
|
||||||
|
{
|
||||||
|
$somethingshown=$object->showLinkedObjectBlock($linked_object,$linked_objectid,$somethingshown);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
print '</td><td valign="top" width="50%">';
|
print '</td><td valign="top" width="50%">';
|
||||||
|
|
||||||
if ( $user->rights->fournisseur->commande->commander && $commande->statut == 2)
|
if ( $user->rights->fournisseur->commande->commander && $commande->statut == 2)
|
||||||
@ -1400,10 +1419,12 @@ if ($id > 0 || ! empty($ref))
|
|||||||
}
|
}
|
||||||
|
|
||||||
// List of actions on element
|
// List of actions on element
|
||||||
// include_once(DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php');
|
/* Hidden because" available into "Log" tab
|
||||||
// $formactions=new FormActions($db);
|
print '<br>';
|
||||||
// $somethingshown=$formactions->showactions($commande,'supplier_order',$socid);
|
include_once(DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php');
|
||||||
|
$formactions=new FormActions($db);
|
||||||
|
$somethingshown=$formactions->showactions($commande,'order_supplier',$socid);
|
||||||
|
*/
|
||||||
|
|
||||||
print '</td></tr></table>';
|
print '</td></tr></table>';
|
||||||
}
|
}
|
||||||
|
|||||||
61
htdocs/fourn/commande/tpl/linkedobjectblock.tpl.php
Executable file
61
htdocs/fourn/commande/tpl/linkedobjectblock.tpl.php
Executable file
@ -0,0 +1,61 @@
|
|||||||
|
<?php
|
||||||
|
/* Copyright (C) 2010 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.
|
||||||
|
*
|
||||||
|
* $Id$
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
|
||||||
|
<!-- BEGIN PHP TEMPLATE -->
|
||||||
|
|
||||||
|
<?php
|
||||||
|
$langs->load("orders");
|
||||||
|
if ($somethingshown) { echo '<br>'; }
|
||||||
|
print_titre($langs->trans('RelatedOrders'));
|
||||||
|
?>
|
||||||
|
<table class="noborder" width="100%">
|
||||||
|
<tr class="liste_titre">
|
||||||
|
<td><?php echo $langs->trans("Ref"); ?></td>
|
||||||
|
<td align="center"><?php echo $langs->trans("Date"); ?></td>
|
||||||
|
<td align="right"><?php echo $langs->trans("AmountHTShort"); ?></td>
|
||||||
|
<td align="right"><?php echo $langs->trans("Status"); ?></td>
|
||||||
|
</tr>
|
||||||
|
<?php
|
||||||
|
$var=true;
|
||||||
|
for ($i = 0 ; $i < $num ; $i++)
|
||||||
|
{
|
||||||
|
$linkedObjectBlock->fetch($objectid[$i]);
|
||||||
|
$var=!$var;
|
||||||
|
?>
|
||||||
|
<tr <?php echo $bc[$var]; ?> ><td>
|
||||||
|
<a href="<?php echo DOL_URL_ROOT.'/fourn/commande/fiche.php?id='.$linkedObjectBlock->id ?>"><?php echo img_object($langs->trans("ShowOrder"),"order").' '.$linkedObjectBlock->ref; ?></a></td>
|
||||||
|
<td align="center"><?php echo dol_print_date($linkedObjectBlock->date,'day'); ?></td>
|
||||||
|
<td align="right"><?php echo price($linkedObjectBlock->total_ht); ?></td>
|
||||||
|
<td align="right"><?php echo $linkedObjectBlock->getLibStatut(3); ?></td>
|
||||||
|
</tr>
|
||||||
|
<?php
|
||||||
|
$total = $total + $linkedObjectBlock->total_ht;
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
|
<tr class="liste_total">
|
||||||
|
<td align="left" colspan="2"><?php echo $langs->trans('TotalHT'); ?></td>
|
||||||
|
<td align="right"><?php echo price($total); ?></td>
|
||||||
|
<td> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<!-- END PHP TEMPLATE -->
|
||||||
@ -202,7 +202,7 @@ if ($id > 0)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Ajouter une ligne de contact
|
* Ajouter une ligne de contact
|
||||||
* Non affich<EFBFBD> en mode modification de ligne
|
* Non affiche en mode modification de ligne
|
||||||
*/
|
*/
|
||||||
if ($_GET["action"] != 'editline' && $user->rights->facture->creer)
|
if ($_GET["action"] != 'editline' && $user->rights->facture->creer)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -238,7 +238,7 @@ if ($_POST['action'] == 'add' && $user->rights->fournisseur->facture->creer)
|
|||||||
if ($element == 'contract') { $element = $subelement = 'contrat'; }
|
if ($element == 'contract') { $element = $subelement = 'contrat'; }
|
||||||
if ($element == 'order_supplier') { $element = 'fourn'; $subelement = 'fournisseur.commande'; }
|
if ($element == 'order_supplier') { $element = 'fourn'; $subelement = 'fournisseur.commande'; }
|
||||||
|
|
||||||
$facfou->origin = $_POST['origin'];
|
$facfou->origin = $_POST['origin'];
|
||||||
$facfou->origin_id = $_POST['originid'];
|
$facfou->origin_id = $_POST['originid'];
|
||||||
|
|
||||||
$facid = $facfou->create($user);
|
$facid = $facfou->create($user);
|
||||||
@ -256,7 +256,7 @@ if ($_POST['action'] == 'add' && $user->rights->fournisseur->facture->creer)
|
|||||||
{
|
{
|
||||||
// TODO mutualiser
|
// TODO mutualiser
|
||||||
$lines = $srcobject->lignes;
|
$lines = $srcobject->lignes;
|
||||||
if (sizeof($lines)) $lines = $srcobject->lines;
|
if (sizeof($srcobject->lines)) $lines = $srcobject->lines;
|
||||||
if (empty($lines) && method_exists($srcobject,'fetch_lignes')) $lines = $srcobject->fetch_lignes();
|
if (empty($lines) && method_exists($srcobject,'fetch_lignes')) $lines = $srcobject->fetch_lignes();
|
||||||
if (empty($lines) && method_exists($srcobject,'fetch_lines')) $lines = $srcobject->fetch_lines();
|
if (empty($lines) && method_exists($srcobject,'fetch_lines')) $lines = $srcobject->fetch_lines();
|
||||||
|
|
||||||
@ -1796,17 +1796,34 @@ else
|
|||||||
$genallowed=$user->rights->fournisseur->facture->creer;
|
$genallowed=$user->rights->fournisseur->facture->creer;
|
||||||
$delallowed=$user->rights->fournisseur->facture->supprimer;
|
$delallowed=$user->rights->fournisseur->facture->supprimer;
|
||||||
|
|
||||||
$somethingshown=$formfile->show_documents('facture_fournisseur',$facfournref,$filedir,$urlsource,$genallowed,$delallowed,$facture->modelpdf);
|
print '<br>';
|
||||||
|
$somethingshown=$formfile->show_documents('facture_fournisseur',$facfournref,$filedir,$urlsource,$genallowed,$delallowed,$fac->modelpdf);
|
||||||
|
|
||||||
|
$object=$fac;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Linked object block
|
||||||
|
*/
|
||||||
|
$object->load_object_linked($object->id,$object->element);
|
||||||
|
|
||||||
|
foreach($object->linked_object as $linked_object => $linked_objectid)
|
||||||
|
{
|
||||||
|
$tmpmodule=$linked_object;
|
||||||
|
if ($linked_object == 'invoice_supplier') $tmpmodule='fournisseur';
|
||||||
|
if ($linked_object == 'order_supplier') $tmpmodule='fournisseur';
|
||||||
|
if($conf->$tmpmodule->enabled && $linked_object != $object->element)
|
||||||
|
{
|
||||||
|
$somethingshown=$object->showLinkedObjectBlock($linked_object,$linked_objectid,$somethingshown);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
print '</td><td valign="top" width="50%">';
|
print '</td><td valign="top" width="50%">';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
// List of actions on element
|
// List of actions on element
|
||||||
/*
|
|
||||||
include_once(DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php');
|
include_once(DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php');
|
||||||
$formactions=new FormActions($db);
|
$formactions=new FormActions($db);
|
||||||
$somethingshown=$formactions->showactions($fac,'invoice_supplier',$socid);
|
$somethingshown=$formactions->showactions($object,'invoice_supplier',$socid);
|
||||||
*/
|
|
||||||
|
|
||||||
print '</td></tr></table>';
|
print '</td></tr></table>';
|
||||||
}
|
}
|
||||||
|
|||||||
61
htdocs/fourn/facture/tpl/linkedobjectblock.tpl.php
Executable file
61
htdocs/fourn/facture/tpl/linkedobjectblock.tpl.php
Executable file
@ -0,0 +1,61 @@
|
|||||||
|
<?php
|
||||||
|
/* Copyright (C) 2010 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.
|
||||||
|
*
|
||||||
|
* $Id$
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
|
||||||
|
<!-- BEGIN PHP TEMPLATE -->
|
||||||
|
|
||||||
|
<?php
|
||||||
|
$langs->load("bills");
|
||||||
|
if ($somethingshown) { echo '<br>'; }
|
||||||
|
if ($num > 1) print_titre($langs->trans("RelatedBills"));
|
||||||
|
else print_titre($langs->trans("RelatedBill"));
|
||||||
|
?>
|
||||||
|
<table class="noborder" width="100%">
|
||||||
|
<tr class="liste_titre">
|
||||||
|
<td><?php echo $langs->trans("Ref"); ?></td>
|
||||||
|
<td align="center"><?php echo $langs->trans("Date"); ?></td>
|
||||||
|
<td align="right"><?php echo $langs->trans("AmountHTShort"); ?></td>
|
||||||
|
<td align="right"><?php echo $langs->trans("Status"); ?></td>
|
||||||
|
</tr>
|
||||||
|
<?php
|
||||||
|
$var=true;
|
||||||
|
for ($i = 0 ; $i < $num ; $i++)
|
||||||
|
{
|
||||||
|
$linkedObjectBlock->fetch($objectid[$i]);
|
||||||
|
$var=!$var;
|
||||||
|
?>
|
||||||
|
<tr <?php echo $bc[$var]; ?> ><td>
|
||||||
|
<a href="<?php echo DOL_URL_ROOT.'/fourn/facture/fiche.php?facid='.$linkedObjectBlock->id ?>"><?php echo img_object($langs->trans("ShowBill"),"bill").' '.$linkedObjectBlock->ref; ?></a></td>
|
||||||
|
<td align="center"><?php echo dol_print_date($linkedObjectBlock->date,'day'); ?></td>
|
||||||
|
<td align="right"><?php echo price($linkedObjectBlock->total_ht); ?></td>
|
||||||
|
<td align="right"><?php echo $linkedObjectBlock->getLibStatut(3); ?></td>
|
||||||
|
</tr>
|
||||||
|
<?php
|
||||||
|
$total = $total + $linkedObjectBlock->total_ht;
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<tr class="liste_total">
|
||||||
|
<td align="left" colspan="2"><?php echo $langs->trans("TotalHT"); ?></td>
|
||||||
|
<td align="right"><?php echo price($total); ?></td>
|
||||||
|
<td> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<!-- END PHP TEMPLATE -->
|
||||||
@ -92,17 +92,6 @@ class modGravatar extends DolibarrModules
|
|||||||
|
|
||||||
// Array to add new pages in new tabs
|
// Array to add new pages in new tabs
|
||||||
$this->tabs = array();
|
$this->tabs = array();
|
||||||
// where entity can be
|
|
||||||
// 'thirdparty' to add a tab in third party view
|
|
||||||
// 'intervention' to add a tab in intervention view
|
|
||||||
// 'supplier_order' to add a tab in supplier order view
|
|
||||||
// 'supplier_invoice' to add a tab in supplier invoice view
|
|
||||||
// 'invoice' to add a tab in customer invoice view
|
|
||||||
// 'order' to add a tab in customer order view
|
|
||||||
// 'product' to add a tab in product view
|
|
||||||
// 'propal' to add a tab in propal view
|
|
||||||
// 'member' to add a tab in fundation member view
|
|
||||||
|
|
||||||
|
|
||||||
// Boxes
|
// Boxes
|
||||||
$this->boxes = array(); // List of boxes
|
$this->boxes = array(); // List of boxes
|
||||||
|
|||||||
@ -273,7 +273,8 @@ class pdf_paiement
|
|||||||
$oldprowid = 0;
|
$oldprowid = 0;
|
||||||
$pdf->SetFillColor(220,220,220);
|
$pdf->SetFillColor(220,220,220);
|
||||||
$yp = 0;
|
$yp = 0;
|
||||||
for ($j = 0 ; $j < sizeof($lines) ; $j++)
|
$numlines=sizeof($lines);
|
||||||
|
for ($j = 0 ; $j < $numlines ; $j++)
|
||||||
{
|
{
|
||||||
$i = $j;
|
$i = $j;
|
||||||
if ($oldprowid <> $lines[$j][7])
|
if ($oldprowid <> $lines[$j][7])
|
||||||
|
|||||||
@ -44,7 +44,7 @@ class ModelePDFSuppliersInvoices
|
|||||||
{
|
{
|
||||||
global $conf;
|
global $conf;
|
||||||
|
|
||||||
$type='supplier_invoice';
|
$type='invoice_supplier';
|
||||||
$liste=array();
|
$liste=array();
|
||||||
|
|
||||||
include_once(DOL_DOCUMENT_ROOT.'/lib/functions2.lib.php');
|
include_once(DOL_DOCUMENT_ROOT.'/lib/functions2.lib.php');
|
||||||
|
|||||||
@ -49,7 +49,7 @@ class ModelePDFSuppliersOrders
|
|||||||
{
|
{
|
||||||
global $conf;
|
global $conf;
|
||||||
|
|
||||||
$type='supplier_order';
|
$type='order_supplier';
|
||||||
$liste=array();
|
$liste=array();
|
||||||
|
|
||||||
include_once(DOL_DOCUMENT_ROOT.'/lib/functions2.lib.php');
|
include_once(DOL_DOCUMENT_ROOT.'/lib/functions2.lib.php');
|
||||||
|
|||||||
@ -40,6 +40,6 @@ insert into llx_c_actioncomm (id, code, type, libelle, module) values ( 4, 'AC_E
|
|||||||
insert into llx_c_actioncomm (id, code, type, libelle, module) values ( 5, 'AC_RDV', 'system', 'Rendez-vous' ,NULL);
|
insert into llx_c_actioncomm (id, code, type, libelle, module) values ( 5, 'AC_RDV', 'system', 'Rendez-vous' ,NULL);
|
||||||
insert into llx_c_actioncomm (id, code, type, libelle, module) values ( 8, 'AC_COM', 'system', 'Send customer order by email' ,'order');
|
insert into llx_c_actioncomm (id, code, type, libelle, module) values ( 8, 'AC_COM', 'system', 'Send customer order by email' ,'order');
|
||||||
insert into llx_c_actioncomm (id, code, type, libelle, module) values ( 9, 'AC_FAC', 'system', 'Send customer invoice by email' ,'invoice');
|
insert into llx_c_actioncomm (id, code, type, libelle, module) values ( 9, 'AC_FAC', 'system', 'Send customer invoice by email' ,'invoice');
|
||||||
insert into llx_c_actioncomm (id, code, type, libelle, module) values (30, 'AC_SUP_ORD', 'system', 'Send supplier invoice by email' ,'supplier_order');
|
insert into llx_c_actioncomm (id, code, type, libelle, module) values (30, 'AC_SUP_ORD', 'system', 'Send supplier invoice by email' ,'order_supplier');
|
||||||
insert into llx_c_actioncomm (id, code, type, libelle, module) values (31, 'AC_SUP_INV', 'system', 'Send supplier invoice by email' ,'supplier_invoice');
|
insert into llx_c_actioncomm (id, code, type, libelle, module) values (31, 'AC_SUP_INV', 'system', 'Send supplier invoice by email' ,'invoice_supplier');
|
||||||
insert into llx_c_actioncomm (id, code, type, libelle, module) values (50, 'AC_OTH', 'system', 'Other' ,NULL);
|
insert into llx_c_actioncomm (id, code, type, libelle, module) values (50, 'AC_OTH', 'system', 'Other' ,NULL);
|
||||||
|
|||||||
@ -46,10 +46,10 @@ insert into llx_c_type_contact(rowid, element, source, code, libelle, active ) v
|
|||||||
insert into llx_c_type_contact(rowid, element, source, code, libelle, active ) values (61, 'facture', 'external', 'SHIPPING', 'Contact client livraison', 1);
|
insert into llx_c_type_contact(rowid, element, source, code, libelle, active ) values (61, 'facture', 'external', 'SHIPPING', 'Contact client livraison', 1);
|
||||||
insert into llx_c_type_contact(rowid, element, source, code, libelle, active ) values (62, 'facture', 'external', 'SERVICE', 'Contact client prestation', 1);
|
insert into llx_c_type_contact(rowid, element, source, code, libelle, active ) values (62, 'facture', 'external', 'SERVICE', 'Contact client prestation', 1);
|
||||||
|
|
||||||
insert into llx_c_type_contact(rowid, element, source, code, libelle, active ) values (70, 'facture_fourn', 'internal', 'SALESREPFOLL', 'Responsable suivi du paiement', 1);
|
insert into llx_c_type_contact(rowid, element, source, code, libelle, active ) values (70, 'invoice_supplier', 'internal', 'SALESREPFOLL', 'Responsable suivi du paiement', 1);
|
||||||
insert into llx_c_type_contact(rowid, element, source, code, libelle, active ) values (71, 'facture_fourn', 'external', 'BILLING', 'Contact fournisseur facturation', 1);
|
insert into llx_c_type_contact(rowid, element, source, code, libelle, active ) values (71, 'invoice_supplier', 'external', 'BILLING', 'Contact fournisseur facturation', 1);
|
||||||
insert into llx_c_type_contact(rowid, element, source, code, libelle, active ) values (72, 'facture_fourn', 'external', 'SHIPPING', 'Contact fournisseur livraison', 1);
|
insert into llx_c_type_contact(rowid, element, source, code, libelle, active ) values (72, 'invoice_supplier', 'external', 'SHIPPING', 'Contact fournisseur livraison', 1);
|
||||||
insert into llx_c_type_contact(rowid, element, source, code, libelle, active ) values (73, 'facture_fourn', 'external', 'SERVICE', 'Contact fournisseur prestation', 1);
|
insert into llx_c_type_contact(rowid, element, source, code, libelle, active ) values (73, 'invoice_supplier', 'external', 'SERVICE', 'Contact fournisseur prestation', 1);
|
||||||
|
|
||||||
insert into llx_c_type_contact(rowid, element, source, code, libelle, active ) values (91, 'commande','internal', 'SALESREPFOLL', 'Responsable suivi de la commande', 1);
|
insert into llx_c_type_contact(rowid, element, source, code, libelle, active ) values (91, 'commande','internal', 'SALESREPFOLL', 'Responsable suivi de la commande', 1);
|
||||||
insert into llx_c_type_contact(rowid, element, source, code, libelle, active ) values (100,'commande','external', 'BILLING', 'Contact client facturation commande', 1);
|
insert into llx_c_type_contact(rowid, element, source, code, libelle, active ) values (100,'commande','external', 'BILLING', 'Contact client facturation commande', 1);
|
||||||
|
|||||||
@ -149,3 +149,12 @@ INSERT INTO llx_action_def (code,titre,description,objet_type) values ('NOTIFY_E
|
|||||||
ALTER TABLE llx_prelevement_notifications MODIFY action varchar(32);
|
ALTER TABLE llx_prelevement_notifications MODIFY action varchar(32);
|
||||||
|
|
||||||
ALTER TABLE llx_c_tva ADD COLUMN accountancy_code varchar(15) DEFAULT NULL;
|
ALTER TABLE llx_c_tva ADD COLUMN accountancy_code varchar(15) DEFAULT NULL;
|
||||||
|
|
||||||
|
|
||||||
|
UPDATE llx_c_actioncomm set module='invoice_supplier' WHERE module='supplier_invoice';
|
||||||
|
UPDATE llx_c_actioncomm set module='order_supplier' WHERE module='supplier_order';
|
||||||
|
UPDATE llx_documentmodel set type='invoice_supplier' WHERE type='supplier_invoice';
|
||||||
|
UPDATE llx_documentmodel set type='order_supplier' WHERE type='supplier_order';
|
||||||
|
UPDATE llx_c_type_contact set element='invoice_supplier' WHERE element='facture_fourn';
|
||||||
|
UPDATE llx_c_type_contact set module='invoice_supplier' WHERE module='supplier_invoice';
|
||||||
|
UPDATE llx_c_type_contact set module='order_supplier' WHERE module='supplier_order';
|
||||||
|
|||||||
@ -24,7 +24,7 @@ create table llx_extra_fields
|
|||||||
tms timestamp,
|
tms timestamp,
|
||||||
entity integer DEFAULT 1 NOT NULL, -- multi company id
|
entity integer DEFAULT 1 NOT NULL, -- multi company id
|
||||||
|
|
||||||
object varchar(64) NOT NULL, -- type of link 'invoice', 'order', 'proposal', 'supplier_invoice', 'supplier_order'
|
object varchar(64) NOT NULL, -- type of link 'invoice', 'order', 'proposal', 'invoice_supplier', 'order_supplier'
|
||||||
name varchar(64) NOT NULL, -- code name of field
|
name varchar(64) NOT NULL, -- code name of field
|
||||||
label varchar(64) NOT NULL,
|
label varchar(64) NOT NULL,
|
||||||
format varchar(8) NOT NULL, -- date, string, integer, float
|
format varchar(8) NOT NULL, -- date, string, integer, float
|
||||||
|
|||||||
@ -62,10 +62,10 @@ function facturefourn_prepare_head($fac)
|
|||||||
// Show more tabs from modules
|
// Show more tabs from modules
|
||||||
// Entries must be declared in modules descriptor with line
|
// Entries must be declared in modules descriptor with line
|
||||||
// $this->tabs = array('entity:MyModule:@mymodule:/mymodule/mypage.php?id=__ID__');
|
// $this->tabs = array('entity:MyModule:@mymodule:/mymodule/mypage.php?id=__ID__');
|
||||||
if (is_array($conf->tabs_modules['supplier_invoice']))
|
if (is_array($conf->tabs_modules['invoice_supplier']))
|
||||||
{
|
{
|
||||||
$i=0;
|
$i=0;
|
||||||
foreach ($conf->tabs_modules['supplier_invoice'] as $value)
|
foreach ($conf->tabs_modules['invoice_supplier'] as $value)
|
||||||
{
|
{
|
||||||
$values=explode(':',$value);
|
$values=explode(':',$value);
|
||||||
if ($values[2]) $langs->load($values[2]);
|
if ($values[2]) $langs->load($values[2]);
|
||||||
@ -127,10 +127,10 @@ function ordersupplier_prepare_head($commande)
|
|||||||
// Show more tabs from modules
|
// Show more tabs from modules
|
||||||
// Entries must be declared in modules descriptor with line
|
// Entries must be declared in modules descriptor with line
|
||||||
// $this->tabs = array('entity:MyModule:@mymodule:/mymodule/mypage.php?id=__ID__');
|
// $this->tabs = array('entity:MyModule:@mymodule:/mymodule/mypage.php?id=__ID__');
|
||||||
if (is_array($conf->tabs_modules['supplier_order']))
|
if (is_array($conf->tabs_modules['order_supplier']))
|
||||||
{
|
{
|
||||||
$i=0;
|
$i=0;
|
||||||
foreach ($conf->tabs_modules['supplier_order'] as $value)
|
foreach ($conf->tabs_modules['order_supplier'] as $value)
|
||||||
{
|
{
|
||||||
$values=explode(':',$value);
|
$values=explode(':',$value);
|
||||||
if ($values[2]) $langs->load($values[2]);
|
if ($values[2]) $langs->load($values[2]);
|
||||||
|
|||||||
@ -283,7 +283,8 @@ function PLinesb(&$inc, $parent, $lines, &$level, &$projectsrole, &$tasksrole, $
|
|||||||
|
|
||||||
$var=true;
|
$var=true;
|
||||||
|
|
||||||
for ($i = 0 ; $i < sizeof($lines) ; $i++)
|
$numlines=sizeof($lines);
|
||||||
|
for ($i = 0 ; $i < $numlines ; $i++)
|
||||||
{
|
{
|
||||||
if ($parent == 0) $level = 0;
|
if ($parent == 0) $level = 0;
|
||||||
|
|
||||||
@ -395,7 +396,8 @@ function PLines(&$inc, $parent, &$lines, &$level, $var, $showproject, &$taskrole
|
|||||||
|
|
||||||
$projectsArrayId=explode(',',$projectsListId);
|
$projectsArrayId=explode(',',$projectsListId);
|
||||||
|
|
||||||
for ($i = 0 ; $i < sizeof($lines) ; $i++)
|
$numlines=sizeof($lines);
|
||||||
|
for ($i = 0 ; $i < $numlines ; $i++)
|
||||||
{
|
{
|
||||||
if ($parent == 0) $level = 0;
|
if ($parent == 0) $level = 0;
|
||||||
|
|
||||||
@ -528,7 +530,8 @@ function PLines(&$inc, $parent, &$lines, &$level, $var, $showproject, &$taskrole
|
|||||||
function SearchTaskInChild(&$inc, $parent, &$lines, &$taskrole)
|
function SearchTaskInChild(&$inc, $parent, &$lines, &$taskrole)
|
||||||
{
|
{
|
||||||
//print 'Search in line with parent id = '.$parent.'<br>';
|
//print 'Search in line with parent id = '.$parent.'<br>';
|
||||||
for ($i = 0 ; $i < sizeof($lines) ; $i++)
|
$numlines=sizeof($lines);
|
||||||
|
for ($i = 0 ; $i < $numlines ; $i++)
|
||||||
{
|
{
|
||||||
// Process line $lines[$i]
|
// Process line $lines[$i]
|
||||||
if ($lines[$i]->fk_parent == $parent && $lines[$i]->id != $lines[$i]->fk_parent)
|
if ($lines[$i]->fk_parent == $parent && $lines[$i]->id != $lines[$i]->fk_parent)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user