From 6dfd5b1fac9e0cead6cde5966146f6580733c018 Mon Sep 17 00:00:00 2001 From: cla Date: Thu, 22 Jan 2015 14:15:34 +0100 Subject: [PATCH 1/4] Added extrafields features for Supplier Invoice Line and Supplier Order Line --- htdocs/core/lib/fourn.lib.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/htdocs/core/lib/fourn.lib.php b/htdocs/core/lib/fourn.lib.php index e4e7b04b057..cf1db634e88 100644 --- a/htdocs/core/lib/fourn.lib.php +++ b/htdocs/core/lib/fourn.lib.php @@ -186,10 +186,22 @@ function supplierorder_admin_prepare_head() $head[$h][2] = 'supplierorder'; $h++; + $head[$h][0] = DOL_URL_ROOT.'/admin/supplierorderdet_extrafields.php'; + $head[$h][1] = $langs->trans("ExtraFieldsLines"); + $head[$h][2] = 'supplierorderdet'; + $h++; + + + $head[$h][0] = DOL_URL_ROOT.'/admin/supplierinvoice_extrafields.php'; $head[$h][1] = $langs->trans("ExtraFieldsSupplierInvoices"); $head[$h][2] = 'supplierinvoice'; $h++; + + $head[$h][0] = DOL_URL_ROOT.'/admin/supplierinvoicedet_extrafields.php'; + $head[$h][1] = $langs->trans("ExtraFieldsLines"); + $head[$h][2] = 'supplierinvoicedet'; + $h++; complete_head_from_modules($conf,$langs,null,$head,$h,'supplierorder_admin','remove'); From c953a04687bd17f2f51e47718117d144d7ff4edc Mon Sep 17 00:00:00 2001 From: cla Date: Thu, 22 Jan 2015 14:18:33 +0100 Subject: [PATCH 2/4] Added files for Extrafields in Order/Invoice Supplier Line. New files sql added in install/mysql folder and 2 new pages to insert extrafields in admin folder --- .../admin/supplierinvoicedet_extrafields.php | 162 ++++++++++++++++++ htdocs/admin/supplierorderdet_extrafields.php | 159 +++++++++++++++++ ...ommande_fournisseurdet_extrafields.key.sql | 19 ++ ...lx_commande_fournisseurdet_extrafields.sql | 30 ++++ .../llx_facture_fourndet_extrafields.key.sql | 20 +++ .../llx_facture_fourndet_extrafields.sql | 26 +++ 6 files changed, 416 insertions(+) create mode 100644 htdocs/admin/supplierinvoicedet_extrafields.php create mode 100644 htdocs/admin/supplierorderdet_extrafields.php create mode 100644 htdocs/install/mysql/tables/llx_commande_fournisseurdet_extrafields.key.sql create mode 100644 htdocs/install/mysql/tables/llx_commande_fournisseurdet_extrafields.sql create mode 100644 htdocs/install/mysql/tables/llx_facture_fourndet_extrafields.key.sql create mode 100644 htdocs/install/mysql/tables/llx_facture_fourndet_extrafields.sql diff --git a/htdocs/admin/supplierinvoicedet_extrafields.php b/htdocs/admin/supplierinvoicedet_extrafields.php new file mode 100644 index 00000000000..b8525601a61 --- /dev/null +++ b/htdocs/admin/supplierinvoicedet_extrafields.php @@ -0,0 +1,162 @@ + + * Copyright (C) 2003 Jean-Louis Bergamo + * Copyright (C) 2004-2013 Laurent Destailleur + * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Florian Henry + * Copyright (C) 2013 Philippe Grand + * Copyright (C) 2013 Juanjo Menent + * Copyright (C) 2015 Claudio Aschieri + * + * 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 3 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, see . + */ + +/** + * \file htdocs/admin/supplierinvoicedet_extrafields.php + * \ingroup fourn + * \brief Page to setup extra fields of supplierinvoice line + */ + +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/fourn.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; + + +if (!$user->admin) + accessforbidden(); + +$langs->load("admin"); +$langs->load("other"); +$langs->load("bills"); +$langs->load("orders"); +$langs->load("suppliers"); + +$extrafields = new ExtraFields($db); +$form = new Form($db); + +// List of supported format +$tmptype2label=ExtraFields::$type2label; +$type2label=array(''); +foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val); + +$action=GETPOST('action', 'alpha'); +$attrname=GETPOST('attrname', 'alpha'); +$elementtype='facture_fourndet'; //Must be the $table_element of the class that manage extrafield + +if (!$user->admin) accessforbidden(); + + +/* + * Actions + */ + +require DOL_DOCUMENT_ROOT.'/core/actions_extrafields.inc.php'; + + + +/* + * View + */ + +$textobject=$langs->transnoentitiesnoconv("BillsSuppliers"); + +llxHeader('',$langs->trans("SuppliersSetup")); + +$linkback=''.$langs->trans("BackToModuleList").''; +print_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'setup'); +print "
\n"; + +$head = supplierorder_admin_prepare_head(); + +dol_fiche_head($head, 'supplierinvoicedet', $langs->trans("Suppliers"), 0, 'company'); + + +print $langs->trans("DefineHereComplementaryAttributes",$textobject).'
'."\n"; +print '
'; + +// Load attribute_label +$extrafields->fetch_name_optionals_label($elementtype); + +print ""; + +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print "\n"; + +$var=True; +foreach($extrafields->attribute_type as $key => $value) +{ + $var=!$var; + print ""; + print "\n"; + print "\n"; + print "\n"; + print '\n"; + print '\n"; + print '\n"; + print '\n"; + print ""; +} + +print "
'.$langs->trans("Label").''.$langs->trans("AttributeCode").''.$langs->trans("Type").''.$langs->trans("Size").''.$langs->trans("Unique").''.$langs->trans("Required").' 
".$extrafields->attribute_label[$key]."".$key."".$type2label[$extrafields->attribute_type[$key]]."'.$extrafields->attribute_size[$key]."'.yn($extrafields->attribute_unique[$key])."'.yn($extrafields->attribute_required[$key])."'.img_edit().''; + print "  ".img_delete()."
"; + +dol_fiche_end(); + + +// Buttons +if ($action != 'create' && $action != 'edit') +{ + print '
'; + print "".$langs->trans("NewAttribute").""; + print "
"; +} + + +/* ************************************************************************** */ +/* */ +/* Creation d'un champ optionnel */ +/* */ +/* ************************************************************************** */ + +if ($action == 'create') +{ + print "
"; + print_titre($langs->trans('NewAttribute')); + + require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; +} + +/* ************************************************************************** */ +/* */ +/* Edition d'un champ optionnel */ +/* */ +/* ************************************************************************** */ +if ($action == 'edit' && ! empty($attrname)) +{ + print "
"; + print_titre($langs->trans("FieldEdition", $attrname)); + + require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; +} + +llxFooter(); + +$db->close(); diff --git a/htdocs/admin/supplierorderdet_extrafields.php b/htdocs/admin/supplierorderdet_extrafields.php new file mode 100644 index 00000000000..20066aafab1 --- /dev/null +++ b/htdocs/admin/supplierorderdet_extrafields.php @@ -0,0 +1,159 @@ + + * Copyright (C) 2003 Jean-Louis Bergamo + * Copyright (C) 2004-2013 Laurent Destailleur + * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Florian Henry + * Copyright (C) 2013 Philippe Grand + * Copyright (C) 2015 Claudio Aschieri + * + * 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 3 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, see . + */ + +/** + * \file htdocs/admin/supplierorder_extrafields.php + * \ingroup fourn + * \brief Page to setup extra fields of supplierorder line + */ + +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/fourn.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; + + +if (!$user->admin) + accessforbidden(); + +$langs->load("admin"); +$langs->load("other"); +$langs->load("orders"); + +$extrafields = new ExtraFields($db); +$form = new Form($db); + +// List of supported format +$tmptype2label=ExtraFields::$type2label; +$type2label=array(''); +foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val); + +$action=GETPOST('action', 'alpha'); +$attrname=GETPOST('attrname', 'alpha'); +$elementtype='commande_fournisseurdet'; //Must be the $table_element of the class that manage extrafield + +if (!$user->admin) accessforbidden(); + + +/* + * Actions + */ + +require DOL_DOCUMENT_ROOT.'/core/actions_extrafields.inc.php'; + + + +/* + * View + */ + +$textobject=$langs->transnoentitiesnoconv("SuppliersOrders"); + +llxHeader('',$langs->trans("SuppliersSetup")); + +$linkback=''.$langs->trans("BackToModuleList").''; +print_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'setup'); +print "
\n"; + +$head = supplierorder_admin_prepare_head(); + +dol_fiche_head($head, 'supplierorderdet', $langs->trans("Suppliers"), 0, 'company'); + + +print $langs->trans("DefineHereComplementaryAttributes",$textobject).'
'."\n"; +print '
'; + +// Load attribute_label +$extrafields->fetch_name_optionals_label($elementtype); + +print ""; + +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print "\n"; + +$var=True; +foreach($extrafields->attribute_type as $key => $value) +{ + $var=!$var; + print ""; + print "\n"; + print "\n"; + print "\n"; + print '\n"; + print '\n"; + print '\n"; + print '\n"; + print ""; +} + +print "
'.$langs->trans("Label").''.$langs->trans("AttributeCode").''.$langs->trans("Type").''.$langs->trans("Size").''.$langs->trans("Unique").''.$langs->trans("Required").' 
".$extrafields->attribute_label[$key]."".$key."".$type2label[$extrafields->attribute_type[$key]]."'.$extrafields->attribute_size[$key]."'.yn($extrafields->attribute_unique[$key])."'.yn($extrafields->attribute_required[$key])."'.img_edit().''; + print "  ".img_delete()."
"; + +dol_fiche_end(); + + +// Buttons +if ($action != 'create' && $action != 'edit') +{ + print '
'; + print "".$langs->trans("NewAttribute").""; + print "
"; +} + + +/* ************************************************************************** */ +/* */ +/* Creation d'un champ optionnel */ +/* */ +/* ************************************************************************** */ + +if ($action == 'create') +{ + print "
"; + print_titre($langs->trans('NewAttribute')); + + require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; +} + +/* ************************************************************************** */ +/* */ +/* Edition d'un champ optionnel */ +/* */ +/* ************************************************************************** */ +if ($action == 'edit' && ! empty($attrname)) +{ + print "
"; + print_titre($langs->trans("FieldEdition", $attrname)); + + require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; +} + +llxFooter(); + +$db->close(); diff --git a/htdocs/install/mysql/tables/llx_commande_fournisseurdet_extrafields.key.sql b/htdocs/install/mysql/tables/llx_commande_fournisseurdet_extrafields.key.sql new file mode 100644 index 00000000000..81e177d4aa3 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_commande_fournisseurdet_extrafields.key.sql @@ -0,0 +1,19 @@ +-- ============================================================================ +-- Copyright (C) 2015 Claudio Aschieri +-- +-- 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 3 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, see . +-- +-- ============================================================================ + +ALTER TABLE llx_commande_fournisseurdet_extrafields ADD INDEX idx_commande_fournisseurdet_extrafields (fk_object); diff --git a/htdocs/install/mysql/tables/llx_commande_fournisseurdet_extrafields.sql b/htdocs/install/mysql/tables/llx_commande_fournisseurdet_extrafields.sql new file mode 100644 index 00000000000..c1ef550b761 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_commande_fournisseurdet_extrafields.sql @@ -0,0 +1,30 @@ +-- =================================================================== +-- Copyright (C) 2004 Rodolphe Quiedeville +-- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2007 Laurent Destailleur +-- Copyright (C) 2010 Juanjo Menent +-- Copyright (C) 2013 Florian HENRY +-- Copyright (C) 2015 Claudio Aschieri +-- +-- 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 3 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, see . +-- +-- =================================================================== + +create table llx_commande_fournisseurdet_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, + import_key varchar(14) +) ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_facture_fourndet_extrafields.key.sql b/htdocs/install/mysql/tables/llx_facture_fourndet_extrafields.key.sql new file mode 100644 index 00000000000..11884f7c228 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_facture_fourndet_extrafields.key.sql @@ -0,0 +1,20 @@ +-- =================================================================== +-- Copyright (C) 2015 Claudio Aschieri +-- +-- 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 3 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, see . +-- +-- =================================================================== + + +ALTER TABLE llx_facture_fourndet_extrafields ADD INDEX idx_facture_fourndet_extrafields (fk_object); diff --git a/htdocs/install/mysql/tables/llx_facture_fourndet_extrafields.sql b/htdocs/install/mysql/tables/llx_facture_fourndet_extrafields.sql new file mode 100644 index 00000000000..0f0ea67e52f --- /dev/null +++ b/htdocs/install/mysql/tables/llx_facture_fourndet_extrafields.sql @@ -0,0 +1,26 @@ +-- ======================================================================== +-- Copyright (C) 2015 Claudio Aschieri +-- +-- 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 3 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, see . +-- +-- ======================================================================== + +create table llx_facture_fourndet_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, + import_key varchar(14) -- import key +) ENGINE=innodb; + From c8480efbef421104a8746a9b585b614c98c0fda1 Mon Sep 17 00:00:00 2001 From: cla Date: Thu, 22 Jan 2015 15:01:27 +0100 Subject: [PATCH 3/4] update table name facture fourn det extrafields --- ...rafields.key.sql => llx_facture_fourn_det_extrafields.key.sql} | 0 ...ndet_extrafields.sql => llx_facture_fourn_det_extrafields.sql} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename htdocs/install/mysql/tables/{llx_facture_fourndet_extrafields.key.sql => llx_facture_fourn_det_extrafields.key.sql} (100%) rename htdocs/install/mysql/tables/{llx_facture_fourndet_extrafields.sql => llx_facture_fourn_det_extrafields.sql} (100%) diff --git a/htdocs/install/mysql/tables/llx_facture_fourndet_extrafields.key.sql b/htdocs/install/mysql/tables/llx_facture_fourn_det_extrafields.key.sql similarity index 100% rename from htdocs/install/mysql/tables/llx_facture_fourndet_extrafields.key.sql rename to htdocs/install/mysql/tables/llx_facture_fourn_det_extrafields.key.sql diff --git a/htdocs/install/mysql/tables/llx_facture_fourndet_extrafields.sql b/htdocs/install/mysql/tables/llx_facture_fourn_det_extrafields.sql similarity index 100% rename from htdocs/install/mysql/tables/llx_facture_fourndet_extrafields.sql rename to htdocs/install/mysql/tables/llx_facture_fourn_det_extrafields.sql From 134759ce28efa7dca05fc9831621fadbcb5411af Mon Sep 17 00:00:00 2001 From: cla Date: Thu, 22 Jan 2015 15:02:19 +0100 Subject: [PATCH 4/4] update table name facture_fourn_det_extrafields --- htdocs/admin/supplierinvoicedet_extrafields.php | 2 +- .../mysql/tables/llx_facture_fourn_det_extrafields.key.sql | 2 +- .../install/mysql/tables/llx_facture_fourn_det_extrafields.sql | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/admin/supplierinvoicedet_extrafields.php b/htdocs/admin/supplierinvoicedet_extrafields.php index b8525601a61..3596fc50d72 100644 --- a/htdocs/admin/supplierinvoicedet_extrafields.php +++ b/htdocs/admin/supplierinvoicedet_extrafields.php @@ -52,7 +52,7 @@ foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val); $action=GETPOST('action', 'alpha'); $attrname=GETPOST('attrname', 'alpha'); -$elementtype='facture_fourndet'; //Must be the $table_element of the class that manage extrafield +$elementtype='facture_fourn_det'; //Must be the $table_element of the class that manage extrafield if (!$user->admin) accessforbidden(); diff --git a/htdocs/install/mysql/tables/llx_facture_fourn_det_extrafields.key.sql b/htdocs/install/mysql/tables/llx_facture_fourn_det_extrafields.key.sql index 11884f7c228..2ba04f4b256 100644 --- a/htdocs/install/mysql/tables/llx_facture_fourn_det_extrafields.key.sql +++ b/htdocs/install/mysql/tables/llx_facture_fourn_det_extrafields.key.sql @@ -17,4 +17,4 @@ -- =================================================================== -ALTER TABLE llx_facture_fourndet_extrafields ADD INDEX idx_facture_fourndet_extrafields (fk_object); +ALTER TABLE llx_facture_fourn_det_extrafields ADD INDEX idx_facture_fourn_det_extrafields (fk_object); diff --git a/htdocs/install/mysql/tables/llx_facture_fourn_det_extrafields.sql b/htdocs/install/mysql/tables/llx_facture_fourn_det_extrafields.sql index 0f0ea67e52f..4faca1a4865 100644 --- a/htdocs/install/mysql/tables/llx_facture_fourn_det_extrafields.sql +++ b/htdocs/install/mysql/tables/llx_facture_fourn_det_extrafields.sql @@ -16,7 +16,7 @@ -- -- ======================================================================== -create table llx_facture_fourndet_extrafields +create table llx_facture_fourn_det_extrafields ( rowid integer AUTO_INCREMENT PRIMARY KEY, tms timestamp,