From 79d8351dda16bf83a7aece6683238cc6d056ccb5 Mon Sep 17 00:00:00 2001 From: Alexandre SPANGARO Date: Wed, 17 Jul 2019 14:09:25 +0200 Subject: [PATCH 1/2] NEW Extrafields on salaries --- htdocs/admin/salaries_extrafields.php | 117 ++++++++++++++++++ htdocs/core/lib/salaries.lib.php | 78 ++++++++---- htdocs/core/modules/modSalaries.class.php | 5 +- .../llx_payment_salary_extrafields.key.sql | 23 ++++ .../tables/llx_payment_salary_extrafields.sql | 27 ++++ 5 files changed, 225 insertions(+), 25 deletions(-) create mode 100644 htdocs/admin/salaries_extrafields.php create mode 100644 htdocs/install/mysql/tables/llx_payment_salary_extrafields.key.sql create mode 100644 htdocs/install/mysql/tables/llx_payment_salary_extrafields.sql diff --git a/htdocs/admin/salaries_extrafields.php b/htdocs/admin/salaries_extrafields.php new file mode 100644 index 00000000000..180e695407f --- /dev/null +++ b/htdocs/admin/salaries_extrafields.php @@ -0,0 +1,117 @@ + + * Copyright (C) 2004-2012 Laurent Destailleur + * Copyright (C) 2019 Alexandre Spangaro + * + * 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/salaries_extrafields.php + * \ingroup member + * \brief Page to setup extra fields of salaries + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/salaries.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; + +// Load translation files required by the page +$langs->loadLangs(array("admin","salaries")); + +$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->transnoentitiesnoconv($val); + +$action=GETPOST('action', 'alpha'); +$attrname=GETPOST('attrname', 'alpha'); +$elementtype='adherent'; //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("Members"); + +$help_url='EN:Module_Foundations|FR:Module_Adhérents|ES:Módulo_Miembros'; +llxHeader('', $langs->trans("MembersSetup"), $help_url); + + +$linkback=''.$langs->trans("BackToModuleList").''; +print load_fiche_titre($langs->trans("MembersSetup"), $linkback, 'title_setup'); + + +$head = member_admin_prepare_head(); + +dol_fiche_head($head, 'attributes', $langs->trans("Members"), -1, 'user'); + +require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php'; + +dol_fiche_end(); + + +// Buttons +if ($action != 'create' && $action != 'edit') +{ + print '
'; + print ''; + print "
"; +} + + +/* ************************************************************************** */ +/* */ +/* Creation of an optional field */ +/* */ +/* ************************************************************************** */ + +if ($action == 'create') +{ + print '

'; + print load_fiche_titre($langs->trans('NewAttribute')); + + require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; +} + +/* ************************************************************************** */ +/* */ +/* Edition of an optional field */ +/* */ +/* ************************************************************************** */ +if ($action == 'edit' && ! empty($attrname)) +{ + print '

'; + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); + + require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/core/lib/salaries.lib.php b/htdocs/core/lib/salaries.lib.php index 126063dce4d..418bc8bfaa4 100644 --- a/htdocs/core/lib/salaries.lib.php +++ b/htdocs/core/lib/salaries.lib.php @@ -1,6 +1,7 @@ + * Copyright (C) 2015 Charlie BENKE + * Copyright (C) 2019 Alexandre Spangaro * * 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 @@ -27,15 +28,15 @@ function salaries_prepare_head($object) { - global $db, $langs, $conf; + global $db, $langs, $conf; - $h = 0; - $head = array(); + $h = 0; + $head = array(); - $head[$h][0] = DOL_URL_ROOT.'/compta/salaries/card.php?id='.$object->id; - $head[$h][1] = $langs->trans("Card"); - $head[$h][2] = 'card'; - $h++; + $head[$h][0] = DOL_URL_ROOT.'/compta/salaries/card.php?id='.$object->id; + $head[$h][1] = $langs->trans("Card"); + $head[$h][2] = 'card'; + $h++; // Show more tabs from modules // Entries must be declared in modules descriptor with line @@ -43,23 +44,56 @@ function salaries_prepare_head($object) // $this->tabs = array('entity:-tabname); to remove a tab complete_head_from_modules($conf, $langs, $object, $head, $h, 'salaries'); - require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/link.class.php'; - $upload_dir = $conf->salaries->dir_output . "/" . dol_sanitizeFileName($object->ref); - $nbFiles = count(dol_dir_list($upload_dir, 'files', 0, '', '(\.meta|_preview.*\.png)$')); + $upload_dir = $conf->salaries->dir_output . "/" . dol_sanitizeFileName($object->ref); + $nbFiles = count(dol_dir_list($upload_dir, 'files', 0, '', '(\.meta|_preview.*\.png)$')); $nbLinks=Link::count($db, $object->element, $object->id); - $head[$h][0] = DOL_URL_ROOT.'/compta/salaries/document.php?id='.$object->id; - $head[$h][1] = $langs->trans('Documents'); - if (($nbFiles+$nbLinks) > 0) $head[$h][1].= ' '.($nbFiles+$nbLinks).''; - $head[$h][2] = 'documents'; - $h++; + $head[$h][0] = DOL_URL_ROOT.'/compta/salaries/document.php?id='.$object->id; + $head[$h][1] = $langs->trans('Documents'); + if (($nbFiles+$nbLinks) > 0) $head[$h][1].= ' '.($nbFiles+$nbLinks).''; + $head[$h][2] = 'documents'; + $h++; - $head[$h][0] = DOL_URL_ROOT.'/compta/salaries/info.php?id='.$object->id; - $head[$h][1] = $langs->trans("Info"); - $head[$h][2] = 'info'; - $h++; + $head[$h][0] = DOL_URL_ROOT.'/compta/salaries/info.php?id='.$object->id; + $head[$h][1] = $langs->trans("Info"); + $head[$h][2] = 'info'; + $h++; - complete_head_from_modules($conf, $langs, $object, $head, $h, 'salaries', 'remove'); + complete_head_from_modules($conf, $langs, $object, $head, $h, 'salaries', 'remove'); - return $head; + return $head; +} + +/** + * Return array head with list of tabs to view object informations + * + * @return array head + */ +function salaries_admin_prepare_head() +{ + global $langs, $conf, $user; + + $h = 0; + $head = array(); + + $head[$h][0] = DOL_URL_ROOT.'/admin/salaries.php'; + $head[$h][1] = $langs->trans("Miscellaneous"); + $head[$h][2] = 'general'; + $h++; + + // Show more tabs from modules + // Entries must be declared in modules descriptor with line + // $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab + // $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab + complete_head_from_modules($conf, $langs, '', $head, $h, 'salaries_admin'); + + $head[$h][0] = DOL_URL_ROOT.'/admin/salaries_extrafields.php'; + $head[$h][1] = $langs->trans("ExtraFieldsSalaries"); + $head[$h][2] = 'attributes'; + $h++; + + complete_head_from_modules($conf, $langs, '', $head, $h, 'salaries_admin', 'remove'); + + return $head; } diff --git a/htdocs/core/modules/modSalaries.class.php b/htdocs/core/modules/modSalaries.class.php index ed3aec4a48b..d68c6a36308 100644 --- a/htdocs/core/modules/modSalaries.class.php +++ b/htdocs/core/modules/modSalaries.class.php @@ -5,7 +5,7 @@ * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2014 Juanjo Menent - * Copyright (C) 2014 Alexandre Spangaro + * Copyright (C) 2014-2019 Alexandre Spangaro * * 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 @@ -68,8 +68,7 @@ class modSalaries extends DolibarrModules $this->dirs = array("/salaries/temp"); // Config pages - //$this->config_page_url = array('salaries.php'); - $this->config_page_url = array(); + $this->config_page_url = array('salaries.php'); // Dependencies $this->hidden = false; // A condition to hide module diff --git a/htdocs/install/mysql/tables/llx_payment_salary_extrafields.key.sql b/htdocs/install/mysql/tables/llx_payment_salary_extrafields.key.sql new file mode 100644 index 00000000000..6989d271ccc --- /dev/null +++ b/htdocs/install/mysql/tables/llx_payment_salary_extrafields.key.sql @@ -0,0 +1,23 @@ +-- =================================================================== +-- Copyright (C) 2002-2003 Rodolphe Quiedeville +-- Copyright (C) 2002-2003 Jean-Louis Bergamo +-- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2011 Laurent Destailleur +-- +-- 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_adherent_extrafields ADD INDEX idx_adherent_extrafields (fk_object); diff --git a/htdocs/install/mysql/tables/llx_payment_salary_extrafields.sql b/htdocs/install/mysql/tables/llx_payment_salary_extrafields.sql new file mode 100644 index 00000000000..3ad91052c24 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_payment_salary_extrafields.sql @@ -0,0 +1,27 @@ +-- =================================================================== +-- Copyright (C) 2002-2003 Rodolphe Quiedeville +-- Copyright (C) 2002-2003 Jean-Louis Bergamo +-- Copyright (C) 2009 Regis Houssin +-- +-- 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_adherent_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, -- member id + import_key varchar(14) -- import key +)ENGINE=innodb; From 9ab07344153bea1ef843f71eb462077432a63884 Mon Sep 17 00:00:00 2001 From: Alexandre SPANGARO Date: Fri, 19 Jul 2019 23:08:24 +0200 Subject: [PATCH 2/2] NEW Extrafields on salaries --- ChangeLog | 2 +- htdocs/.gitignore | 1 + htdocs/accountancy/journal/bankjournal.php | 2 +- htdocs/compta/accounting-files.php | 2 +- htdocs/compta/bank/bankentries_list.php | 2 +- htdocs/compta/bank/ligne.php | 2 +- htdocs/compta/bank/releve.php | 2 +- htdocs/compta/charges/index.php | 2 +- htdocs/compta/resultat/clientfourn.php | 2 +- htdocs/compta/sociales/payments.php | 2 +- htdocs/core/lib/salaries.lib.php | 10 ++-- htdocs/core/menus/init_menu_auguria.sql | 8 +-- htdocs/core/menus/standard/eldy.lib.php | 8 +-- htdocs/core/modules/modSalaries.class.php | 2 +- .../install/mysql/migration/10.0.0-11.0.0.sql | 12 +++++ .../llx_payment_salary_extrafields.key.sql | 7 +-- .../tables/llx_payment_salary_extrafields.sql | 8 ++- htdocs/langs/en_US/admin.lang | 1 + htdocs/projet/element.php | 4 +- htdocs/{ => salaries}/admin/salaries.php | 23 ++++---- .../admin/salaries_extrafields.php | 14 ++--- htdocs/{compta => }/salaries/card.php | 53 +++++++++++-------- htdocs/{compta => }/salaries/class/index.html | 0 .../salaries/class/paymentsalary.class.php | 50 +++++++++++++++-- .../salaries/class/salariesstats.class.php | 4 +- htdocs/{compta => }/salaries/document.php | 10 ++-- htdocs/{compta => }/salaries/info.php | 10 ++-- htdocs/{compta => }/salaries/list.php | 10 ++-- htdocs/{compta => }/salaries/stats/index.php | 6 +-- htdocs/user/bank.php | 4 +- 30 files changed, 164 insertions(+), 99 deletions(-) rename htdocs/{ => salaries}/admin/salaries.php (83%) rename htdocs/{ => salaries}/admin/salaries_extrafields.php (87%) rename htdocs/{compta => }/salaries/card.php (89%) rename htdocs/{compta => }/salaries/class/index.html (100%) rename htdocs/{compta => }/salaries/class/paymentsalary.class.php (93%) rename htdocs/{compta => }/salaries/class/salariesstats.class.php (97%) rename htdocs/{compta => }/salaries/document.php (91%) rename htdocs/{compta => }/salaries/info.php (84%) rename htdocs/{compta => }/salaries/list.php (96%) rename htdocs/{compta => }/salaries/stats/index.php (97%) diff --git a/ChangeLog b/ChangeLog index 472c3ffba81..21f01e805bf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -414,7 +414,7 @@ NEW: add option PROPOSAL_AUTO_ADD_AUTHOR_AS_CONTACT NEW: Add option to display thirdparty adress in combolist NEW: Add option to swap sender/recipient address on PDF NEW: Add option to display thirdparty adress in combolist -NEW: Add project on pament of salaries +NEW: Add project on payment of salaries NEW: Add SHIPPING_PDF_HIDE_WEIGHT_AND_VOLUME and NEW: Add somes hooks in bank planned entries NEW: Add supplier ref in item reception page diff --git a/htdocs/.gitignore b/htdocs/.gitignore index ac35d8fab2f..d51eaffd235 100644 --- a/htdocs/.gitignore +++ b/htdocs/.gitignore @@ -28,3 +28,4 @@ /nomenclature* /of/ /workstation/ +/oblyon* diff --git a/htdocs/accountancy/journal/bankjournal.php b/htdocs/accountancy/journal/bankjournal.php index cb56a4179b8..1bf1d8617db 100644 --- a/htdocs/accountancy/journal/bankjournal.php +++ b/htdocs/accountancy/journal/bankjournal.php @@ -45,7 +45,7 @@ require_once DOL_DOCUMENT_ROOT . '/compta/paiement/class/paiement.class.php'; require_once DOL_DOCUMENT_ROOT . '/don/class/don.class.php'; require_once DOL_DOCUMENT_ROOT . '/don/class/paymentdonation.class.php'; require_once DOL_DOCUMENT_ROOT . '/compta/tva/class/tva.class.php'; -require_once DOL_DOCUMENT_ROOT . '/compta/salaries/class/paymentsalary.class.php'; +require_once DOL_DOCUMENT_ROOT . '/salaries/class/paymentsalary.class.php'; require_once DOL_DOCUMENT_ROOT . '/compta/facture/class/facture.class.php'; require_once DOL_DOCUMENT_ROOT . '/fourn/class/paiementfourn.class.php'; require_once DOL_DOCUMENT_ROOT . '/fourn/class/fournisseur.facture.class.php'; diff --git a/htdocs/compta/accounting-files.php b/htdocs/compta/accounting-files.php index 9069045c8b3..e3bff713960 100644 --- a/htdocs/compta/accounting-files.php +++ b/htdocs/compta/accounting-files.php @@ -26,7 +26,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php'; +require_once DOL_DOCUMENT_ROOT.'/salaries/class/paymentsalary.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php'; require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php'; diff --git a/htdocs/compta/bank/bankentries_list.php b/htdocs/compta/bank/bankentries_list.php index 5609bb6b598..37e44ac9768 100644 --- a/htdocs/compta/bank/bankentries_list.php +++ b/htdocs/compta/bank/bankentries_list.php @@ -43,7 +43,7 @@ require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php'; +require_once DOL_DOCUMENT_ROOT.'/salaries/class/paymentsalary.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/paymentvarious.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/prelevement/class/bonprelevement.class.php'; require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; diff --git a/htdocs/compta/bank/ligne.php b/htdocs/compta/bank/ligne.php index 40906bfd455..4eb8a03ac64 100644 --- a/htdocs/compta/bank/ligne.php +++ b/htdocs/compta/bank/ligne.php @@ -386,7 +386,7 @@ if ($result) print ''; } elseif ($links[$key]['type']=='payment_salary') { - print ''; + print ''; print img_object($langs->trans('ShowPaymentSalary'), 'payment').' '; print $langs->trans("SalaryPayment"); print ''; diff --git a/htdocs/compta/bank/releve.php b/htdocs/compta/bank/releve.php index b93f381c555..b6b4d3e2106 100644 --- a/htdocs/compta/bank/releve.php +++ b/htdocs/compta/bank/releve.php @@ -662,7 +662,7 @@ else } elseif ($links[$key]['type']=='payment_salary') { - print ''; + print ''; print ' '.img_object($langs->trans('ShowPayment'), 'payment').' '; print $langs->trans("Payment"); print ''; diff --git a/htdocs/compta/charges/index.php b/htdocs/compta/charges/index.php index 4b62a98b80b..5ba7232dc95 100644 --- a/htdocs/compta/charges/index.php +++ b/htdocs/compta/charges/index.php @@ -31,7 +31,7 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/paymentsocialcontribution.class.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php'; +require_once DOL_DOCUMENT_ROOT.'/salaries/class/paymentsalary.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; diff --git a/htdocs/compta/resultat/clientfourn.php b/htdocs/compta/resultat/clientfourn.php index f0a01d1ae04..2182375ff1a 100644 --- a/htdocs/compta/resultat/clientfourn.php +++ b/htdocs/compta/resultat/clientfourn.php @@ -773,7 +773,7 @@ else print ' '; - print "".$langs->trans("Salary")." fk_user."\">".$obj->firstname." ".$obj->lastname."\n"; + print "".$langs->trans("Salary")." fk_user."\">".$obj->firstname." ".$obj->lastname."\n"; if ($modecompta == 'CREANCES-DETTES') print ''.price(-$obj->amount).''; print ''.price(-$obj->amount).''; diff --git a/htdocs/compta/sociales/payments.php b/htdocs/compta/sociales/payments.php index 384601ca989..9bf94a16b34 100644 --- a/htdocs/compta/sociales/payments.php +++ b/htdocs/compta/sociales/payments.php @@ -30,7 +30,7 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/paymentsocialcontribution.class.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php'; +require_once DOL_DOCUMENT_ROOT.'/salaries/class/paymentsalary.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; // Load translation files required by the page diff --git a/htdocs/core/lib/salaries.lib.php b/htdocs/core/lib/salaries.lib.php index 418bc8bfaa4..cb632ab2bfd 100644 --- a/htdocs/core/lib/salaries.lib.php +++ b/htdocs/core/lib/salaries.lib.php @@ -33,7 +33,7 @@ function salaries_prepare_head($object) $h = 0; $head = array(); - $head[$h][0] = DOL_URL_ROOT.'/compta/salaries/card.php?id='.$object->id; + $head[$h][0] = DOL_URL_ROOT.'/salaries/card.php?id='.$object->id; $head[$h][1] = $langs->trans("Card"); $head[$h][2] = 'card'; $h++; @@ -49,13 +49,13 @@ function salaries_prepare_head($object) $upload_dir = $conf->salaries->dir_output . "/" . dol_sanitizeFileName($object->ref); $nbFiles = count(dol_dir_list($upload_dir, 'files', 0, '', '(\.meta|_preview.*\.png)$')); $nbLinks=Link::count($db, $object->element, $object->id); - $head[$h][0] = DOL_URL_ROOT.'/compta/salaries/document.php?id='.$object->id; + $head[$h][0] = DOL_URL_ROOT.'/salaries/document.php?id='.$object->id; $head[$h][1] = $langs->trans('Documents'); if (($nbFiles+$nbLinks) > 0) $head[$h][1].= ' '.($nbFiles+$nbLinks).''; $head[$h][2] = 'documents'; $h++; - $head[$h][0] = DOL_URL_ROOT.'/compta/salaries/info.php?id='.$object->id; + $head[$h][0] = DOL_URL_ROOT.'/salaries/info.php?id='.$object->id; $head[$h][1] = $langs->trans("Info"); $head[$h][2] = 'info'; $h++; @@ -77,7 +77,7 @@ function salaries_admin_prepare_head() $h = 0; $head = array(); - $head[$h][0] = DOL_URL_ROOT.'/admin/salaries.php'; + $head[$h][0] = DOL_URL_ROOT.'/salaries/admin/salaries.php'; $head[$h][1] = $langs->trans("Miscellaneous"); $head[$h][2] = 'general'; $h++; @@ -88,7 +88,7 @@ function salaries_admin_prepare_head() // $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab complete_head_from_modules($conf, $langs, '', $head, $h, 'salaries_admin'); - $head[$h][0] = DOL_URL_ROOT.'/admin/salaries_extrafields.php'; + $head[$h][0] = DOL_URL_ROOT.'/salaries/admin/salaries_extrafields.php'; $head[$h][1] = $langs->trans("ExtraFieldsSalaries"); $head[$h][2] = 'attributes'; $h++; diff --git a/htdocs/core/menus/init_menu_auguria.sql b/htdocs/core/menus/init_menu_auguria.sql index c7b2c8a69a7..dcd874bdf3d 100644 --- a/htdocs/core/menus/init_menu_auguria.sql +++ b/htdocs/core/menus/init_menu_auguria.sql @@ -218,10 +218,10 @@ insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, left -- insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->don->enabled && $leftmenu=="donations"', __HANDLER__, 'left', 2003__+MAX_llx_menu__, 'billing', '', 2000__+MAX_llx_menu__, '/don/stats/index.php?mainmenu=billing&leftmenu=donations', 'Statistics', 1, 'donations', '$user->rights->don->lire', '', 2, 2, __ENTITY__); -- Special expenses insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled || $conf->salaries->enabled || $conf->loan->enabled || $conf->banque->enabled', __HANDLER__, 'left', 2200__+MAX_llx_menu__, 'billing', 'tax', 6__+MAX_llx_menu__, '/compta/charges/index.php?mainmenu=billing&leftmenu=tax', 'MenuSpecialExpenses', 0, 'compta', '(! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) || (! empty($conf->salaries->enabled) && ! empty($user->rights->salaries->read)) || (! empty($conf->loan->enabled) && $user->rights->loan->read) || (! empty($conf->banque->enabled) && $user->rights->banque->lire)', '', 0, 6, __ENTITY__); -insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->salaries->enabled', __HANDLER__, 'left', 2210__+MAX_llx_menu__, 'billing', 'tax_sal', 2200__+MAX_llx_menu__, '/compta/salaries/list.php?mainmenu=billing&leftmenu=tax_salary', 'Salaries', 1, 'salaries', '$user->rights->salaries->read', '', 0, 1, __ENTITY__); -insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->salaries->enabled && $leftmenu=="tax_salary"', __HANDLER__, 'left', 2211__+MAX_llx_menu__, 'billing', '', 2210__+MAX_llx_menu__, '/compta/salaries/card.php?mainmenu=billing&leftmenu=tax_salary&action=create', 'NewPayment', 2, 'companies', '$user->rights->salaries->write', '', 0, 2, __ENTITY__); -insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->salaries->enabled && $leftmenu=="tax_salary"', __HANDLER__, 'left', 2212__+MAX_llx_menu__, 'billing', '', 2210__+MAX_llx_menu__, '/compta/salaries/list.php?mainmenu=billing&leftmenu=tax_salary', 'Payments', 2, 'companies', '$user->rights->salaries->read', '', 0, 3, __ENTITY__); -insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->salaries->enabled && $leftmenu=="tax_salary"', __HANDLER__, 'left', 2213__+MAX_llx_menu__, 'billing', '', 2210__+MAX_llx_menu__, '/compta/salaries/stats/index.php?mainmenu=billing&leftmenu=tax_salary', 'Statistics', 2, 'companies', '$user->rights->salaries->read', '', 0, 4, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->salaries->enabled', __HANDLER__, 'left', 2210__+MAX_llx_menu__, 'billing', 'tax_sal', 2200__+MAX_llx_menu__, '/salaries/list.php?mainmenu=billing&leftmenu=tax_salary', 'Salaries', 1, 'salaries', '$user->rights->salaries->read', '', 0, 1, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->salaries->enabled && $leftmenu=="tax_salary"', __HANDLER__, 'left', 2211__+MAX_llx_menu__, 'billing', '', 2210__+MAX_llx_menu__, '/salaries/card.php?mainmenu=billing&leftmenu=tax_salary&action=create', 'NewPayment', 2, 'companies', '$user->rights->salaries->write', '', 0, 2, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->salaries->enabled && $leftmenu=="tax_salary"', __HANDLER__, 'left', 2212__+MAX_llx_menu__, 'billing', '', 2210__+MAX_llx_menu__, '/salaries/list.php?mainmenu=billing&leftmenu=tax_salary', 'Payments', 2, 'companies', '$user->rights->salaries->read', '', 0, 3, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->salaries->enabled && $leftmenu=="tax_salary"', __HANDLER__, 'left', 2213__+MAX_llx_menu__, 'billing', '', 2210__+MAX_llx_menu__, '/salaries/stats/index.php?mainmenu=billing&leftmenu=tax_salary', 'Statistics', 2, 'companies', '$user->rights->salaries->read', '', 0, 4, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->loan->enabled', __HANDLER__, 'left', 2220__+MAX_llx_menu__, 'billing', 'tax_loan', 2200__+MAX_llx_menu__, '/loan/list.php?mainmenu=billing&leftmenu=tax_loan', 'Loans', 1, 'loan', '$user->rights->loan->read', '', 0, 1, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->loan->enabled && $leftmenu=="tax_loan"', __HANDLER__, 'left', 2221__+MAX_llx_menu__, 'billing', '', 2220__+MAX_llx_menu__, '/loan/card.php?mainmenu=billing&leftmenu=tax_loan&action=create', 'NewLoan', 2, 'loan', '$user->rights->loan->write', '', 0, 2, __ENTITY__); --insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->loan->enabled && $leftmenu=="tax_loan"', __HANDLER__, 'left', 2222__+MAX_llx_menu__, 'billing', '', 2220__+MAX_llx_menu__, '/loan/payment/list.php?mainmenu=billing&leftmenu=tax_loan', 'Payments', 2, 'companies', '$user->rights->loan->read', '', 0, 3, __ENTITY__); diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php index 88595cd366a..bf886986ce2 100644 --- a/htdocs/core/menus/standard/eldy.lib.php +++ b/htdocs/core/menus/standard/eldy.lib.php @@ -1108,11 +1108,11 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM if (! empty($conf->salaries->enabled)) { $langs->load("salaries"); - $newmenu->add("/compta/salaries/list.php?leftmenu=tax_salary&mainmenu=billing", $langs->trans("Salaries"), 1, $user->rights->salaries->read, '', $mainmenu, 'tax_salary'); + $newmenu->add("/salaries/list.php?leftmenu=tax_salary&mainmenu=billing", $langs->trans("Salaries"), 1, $user->rights->salaries->read, '', $mainmenu, 'tax_salary'); if ($usemenuhider || empty($leftmenu) || preg_match('/^tax_salary/i', $leftmenu)) { - $newmenu->add("/compta/salaries/card.php?leftmenu=tax_salary&action=create", $langs->trans("NewPayment"), 2, $user->rights->salaries->write); - $newmenu->add("/compta/salaries/list.php?leftmenu=tax_salary", $langs->trans("Payments"), 2, $user->rights->salaries->read); - $newmenu->add("/compta/salaries/stats/index.php?leftmenu=tax_salary", $langs->trans("Statistics"), 2, $user->rights->salaries->read); + $newmenu->add("/salaries/card.php?leftmenu=tax_salary&action=create", $langs->trans("NewPayment"), 2, $user->rights->salaries->write); + $newmenu->add("/salaries/list.php?leftmenu=tax_salary", $langs->trans("Payments"), 2, $user->rights->salaries->read); + $newmenu->add("/salaries/stats/index.php?leftmenu=tax_salary", $langs->trans("Statistics"), 2, $user->rights->salaries->read); } } diff --git a/htdocs/core/modules/modSalaries.class.php b/htdocs/core/modules/modSalaries.class.php index d68c6a36308..71aff3a11a6 100644 --- a/htdocs/core/modules/modSalaries.class.php +++ b/htdocs/core/modules/modSalaries.class.php @@ -68,7 +68,7 @@ class modSalaries extends DolibarrModules $this->dirs = array("/salaries/temp"); // Config pages - $this->config_page_url = array('salaries.php'); + $this->config_page_url = array('salaries.php@salaries'); // Dependencies $this->hidden = false; // A condition to hide module diff --git a/htdocs/install/mysql/migration/10.0.0-11.0.0.sql b/htdocs/install/mysql/migration/10.0.0-11.0.0.sql index f8cc3062bde..7a768c24a89 100644 --- a/htdocs/install/mysql/migration/10.0.0-11.0.0.sql +++ b/htdocs/install/mysql/migration/10.0.0-11.0.0.sql @@ -50,3 +50,15 @@ ALTER TABLE llx_user ADD COLUMN iplastlogin varchar(250); ALTER TABLE llx_user ADD COLUMN ippreviouslogin varchar(250); ALTER TABLE llx_events ADD COLUMN prefix_session varchar(255) NULL; + +create table llx_payment_salary_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, -- salary payment id + import_key varchar(14) -- import key +)ENGINE=innodb; + +ALTER TABLE llx_payment_salary_extrafields ADD INDEX idx_payment_salary_extrafields (fk_object); + +UPDATE llx_bank_url set url = REPLACE( url, 'compta/salaries/', 'salaries/'); diff --git a/htdocs/install/mysql/tables/llx_payment_salary_extrafields.key.sql b/htdocs/install/mysql/tables/llx_payment_salary_extrafields.key.sql index 6989d271ccc..c038f1337d0 100644 --- a/htdocs/install/mysql/tables/llx_payment_salary_extrafields.key.sql +++ b/htdocs/install/mysql/tables/llx_payment_salary_extrafields.key.sql @@ -1,8 +1,5 @@ -- =================================================================== --- Copyright (C) 2002-2003 Rodolphe Quiedeville --- Copyright (C) 2002-2003 Jean-Louis Bergamo --- Copyright (C) 2009 Regis Houssin --- Copyright (C) 2011 Laurent Destailleur +-- Copyright (C) 2019 Alexandre Spangaro -- -- 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 @@ -20,4 +17,4 @@ -- =================================================================== -ALTER TABLE llx_adherent_extrafields ADD INDEX idx_adherent_extrafields (fk_object); +ALTER TABLE llx_payment_salary_extrafields ADD INDEX idx_payment_salary_extrafields (fk_object); diff --git a/htdocs/install/mysql/tables/llx_payment_salary_extrafields.sql b/htdocs/install/mysql/tables/llx_payment_salary_extrafields.sql index 3ad91052c24..fc87cd8146d 100644 --- a/htdocs/install/mysql/tables/llx_payment_salary_extrafields.sql +++ b/htdocs/install/mysql/tables/llx_payment_salary_extrafields.sql @@ -1,7 +1,5 @@ -- =================================================================== --- Copyright (C) 2002-2003 Rodolphe Quiedeville --- Copyright (C) 2002-2003 Jean-Louis Bergamo --- Copyright (C) 2009 Regis Houssin +-- Copyright (C) 2019 Alexandre Spangaro -- -- 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 @@ -18,10 +16,10 @@ -- -- =================================================================== -create table llx_adherent_extrafields +create table llx_payment_salary_extrafields ( rowid integer AUTO_INCREMENT PRIMARY KEY, tms timestamp, - fk_object integer NOT NULL, -- member id + fk_object integer NOT NULL, -- salary payment id import_key varchar(14) -- import key )ENGINE=innodb; diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index e14e15033d6..50cd7fe9bcb 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1193,6 +1193,7 @@ ExtraFieldsSupplierOrders=Complementary attributes (orders) ExtraFieldsSupplierInvoices=Complementary attributes (invoices) ExtraFieldsProject=Complementary attributes (projects) ExtraFieldsProjectTask=Complementary attributes (tasks) +ExtraFieldsSalaries=Complementary attributes (salaries) ExtraFieldHasWrongValue=Attribute %s has a wrong value. AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). diff --git a/htdocs/projet/element.php b/htdocs/projet/element.php index b4d2a8b290f..debdc33fdd3 100644 --- a/htdocs/projet/element.php +++ b/htdocs/projet/element.php @@ -52,7 +52,7 @@ if (! empty($conf->loan->enabled)) require_once DOL_DOCUMENT_ROOT.'/loan/class if (! empty($conf->stock->enabled)) require_once DOL_DOCUMENT_ROOT.'/product/stock/class/mouvementstock.class.php'; if (! empty($conf->tax->enabled)) require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php'; if (! empty($conf->banque->enabled)) require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/paymentvarious.class.php'; -if (! empty($conf->salaries->enabled)) require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php'; +if (! empty($conf->salaries->enabled)) require_once DOL_DOCUMENT_ROOT.'/salaries/class/paymentsalary.class.php'; // Load translation files required by the page $langs->loadLangs(array('projects', 'companies', 'suppliers', 'compta')); @@ -457,7 +457,7 @@ $listofreferent=array( 'datefieldname'=>'datev', 'margin'=>'minus', 'disableamount'=>0, - 'urlnew'=>DOL_URL_ROOT.'/compta/salaries/card.php?action=create&projectid='.$id, + 'urlnew'=>DOL_URL_ROOT.'/salaries/card.php?action=create&projectid='.$id, 'lang'=>'salaries', 'buttonnew'=>'AddSalaryPayment', 'testnew'=>$user->rights->salaries->write, diff --git a/htdocs/admin/salaries.php b/htdocs/salaries/admin/salaries.php similarity index 83% rename from htdocs/admin/salaries.php rename to htdocs/salaries/admin/salaries.php index 324ae1b0a17..c3a4e849852 100644 --- a/htdocs/admin/salaries.php +++ b/htdocs/salaries/admin/salaries.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2014-2019 Alexandre Spangaro * * 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 @@ -22,10 +22,11 @@ * \brief Setup page to configure salaries module */ -require '../main.inc.php'; +require '../../main.inc.php'; // Class require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/salaries.lib.php'; if (! empty($conf->accounting->enabled)) require_once DOL_DOCUMENT_ROOT . '/core/class/html.formaccounting.class.php'; // Load translation files required by the page @@ -39,7 +40,7 @@ $action = GETPOST('action', 'alpha'); // Other parameters SALARIES_* $list = array ( - 'SALARIES_XXX', + 'SALARIES_ACCOUNTING_ACCOUNT_PAYMENT', ); /* @@ -80,29 +81,33 @@ if (! empty($conf->accounting->enabled)) $formaccounting = new FormAccounting($d $linkback=''.$langs->trans("BackToModuleList").''; print load_fiche_titre($langs->trans('SalariesSetup'), $linkback, 'title_setup'); +$head = salaries_admin_prepare_head(); + +dol_fiche_head($head, 'general', $langs->trans("Salaries"), -1, 'payment'); + +// Document templates +print load_fiche_titre($langs->trans("Options"), '', ''); + print '
'; print ''; print ''; -//dol_fiche_head(null, '', '', -1); - /* * Params */ print ''; print ''; -print ''; +print ''; +print '\n"; print "\n"; foreach ($list as $key) { - - print ''; // Param $label = $langs->trans($key); - print ''; + print ''; // Value print ''."\n"; } - // Other attributes - $parameters=array(); - $reshook=$hookmanager->executeHooks('formObjectOptions', $parameters, $object, $action); // Note that $action and $object may have been modified by hook - print $hookmanager->resPrint; + // Other attributes + $parameters=array(); + $reshook=$hookmanager->executeHooks('formObjectOptions', $parameters, $object, $action); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + if (empty($reshook)) + { + print $object->showOptionals($extrafields, 'edit', $parameters); + } print '
' . $langs->trans('Options') . ''.$langs->trans("Parameters").''.$langs->trans("Value")."
'; diff --git a/htdocs/admin/salaries_extrafields.php b/htdocs/salaries/admin/salaries_extrafields.php similarity index 87% rename from htdocs/admin/salaries_extrafields.php rename to htdocs/salaries/admin/salaries_extrafields.php index 180e695407f..7920acf5c6c 100644 --- a/htdocs/admin/salaries_extrafields.php +++ b/htdocs/salaries/admin/salaries_extrafields.php @@ -40,7 +40,7 @@ foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->transnoentiti $action=GETPOST('action', 'alpha'); $attrname=GETPOST('attrname', 'alpha'); -$elementtype='adherent'; //Must be the $table_element of the class that manage extrafield +$elementtype='payment_salary'; //Must be the $table_element of the class that manage extrafield if (!$user->admin) accessforbidden(); @@ -57,19 +57,19 @@ require DOL_DOCUMENT_ROOT.'/core/actions_extrafields.inc.php'; * View */ -$textobject = $langs->transnoentitiesnoconv("Members"); +$textobject = $langs->transnoentitiesnoconv("Salaries"); -$help_url='EN:Module_Foundations|FR:Module_Adhérents|ES:Módulo_Miembros'; -llxHeader('', $langs->trans("MembersSetup"), $help_url); +$help_url=''; +llxHeader('', $langs->trans("SalariesSetup"), $help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print load_fiche_titre($langs->trans("MembersSetup"), $linkback, 'title_setup'); +print load_fiche_titre($langs->trans("SalariesSetup"), $linkback, 'title_setup'); -$head = member_admin_prepare_head(); +$head = salaries_admin_prepare_head(); -dol_fiche_head($head, 'attributes', $langs->trans("Members"), -1, 'user'); +dol_fiche_head($head, 'attributes', $langs->trans("Salaries"), -1, 'user'); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php'; diff --git a/htdocs/compta/salaries/card.php b/htdocs/salaries/card.php similarity index 89% rename from htdocs/compta/salaries/card.php rename to htdocs/salaries/card.php index c19b18bc0f0..5028dae747e 100644 --- a/htdocs/compta/salaries/card.php +++ b/htdocs/salaries/card.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2011-2019 Alexandre Spangaro * Copyright (C) 2014 Laurent Destailleur * Copyright (C) 2015 Jean-François Ferry * Copyright (C) 2015 Charlie BENKE @@ -20,20 +20,21 @@ */ /** - * \file htdocs/compta/salaries/card.php + * \file htdocs/salaries/card.php * \ingroup salaries * \brief Page of salaries payments */ -require '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/salaries.lib.php'; +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT . '/core/lib/date.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/salaries/class/paymentsalary.class.php'; +require_once DOL_DOCUMENT_ROOT . '/compta/bank/class/account.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/lib/salaries.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/extrafields.class.php'; if (! empty($conf->projet->enabled)) { - require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; - require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php'; + require_once DOL_DOCUMENT_ROOT . '/projet/class/project.class.php'; + require_once DOL_DOCUMENT_ROOT . '/core/class/html.formprojet.class.php'; } // Load translation files required by the page @@ -51,12 +52,14 @@ if ($user->societe_id) $socid=$user->societe_id; $result = restrictedArea($user, 'salaries', '', '', ''); $object = new PaymentSalary($db); +$extrafields = new ExtraFields($db); + +// fetch optionals attributes and labels +$extralabels=$extrafields->fetch_name_optionals_label($object->table_element); // Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context $hookmanager->initHooks(array('salarycard','globalcard')); - - /** * Actions */ @@ -100,11 +103,15 @@ if ($action == 'add' && empty($cancel)) $object->fk_user_author=$user->id; $object->fk_project= GETPOST('fk_project', 'int'); - // Set user current salary as ref salaray for the payment + // Set user current salary as ref salary for the payment $fuser=new User($db); $fuser->fetch(GETPOST("fk_user", "int")); $object->salary=$fuser->salary; + // Fill array 'array_options' with data from add form + $ret = $extrafields->setOptionalsFromPost($extralabels, $object); + if ($ret < 0) $error++; + if (empty($datep) || empty($datev) || empty($datesp) || empty($dateep)) { setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), null, 'errors'); @@ -174,7 +181,7 @@ if ($action == 'delete') if ($result >= 0) { $db->commit(); - header("Location: ".DOL_URL_ROOT.'/compta/salaries/list.php'); + header("Location: ".DOL_URL_ROOT.'/salaries/list.php'); exit; } else @@ -333,10 +340,14 @@ if ($action == 'create') print '
'; @@ -365,7 +376,7 @@ if ($id) dol_fiche_head($head, 'card', $langs->trans("SalaryPayment"), -1, 'payment'); - $linkback = ''.$langs->trans("BackToList").''; + $linkback = ''.$langs->trans("BackToList").''; $morehtmlref='
'; @@ -453,10 +464,8 @@ if ($id) } } - // Other attributes - $parameters=array(); - $reshook=$hookmanager->executeHooks('formObjectOptions', $parameters, $object, $action); // Note that $action and $object may have been modified by hook - print $hookmanager->resPrint; + // Other attributes + include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_view.tpl.php'; print ''; diff --git a/htdocs/compta/salaries/class/index.html b/htdocs/salaries/class/index.html similarity index 100% rename from htdocs/compta/salaries/class/index.html rename to htdocs/salaries/class/index.html diff --git a/htdocs/compta/salaries/class/paymentsalary.class.php b/htdocs/salaries/class/paymentsalary.class.php similarity index 93% rename from htdocs/compta/salaries/class/paymentsalary.class.php rename to htdocs/salaries/class/paymentsalary.class.php index 1d0bad641fc..905829e4696 100644 --- a/htdocs/compta/salaries/class/paymentsalary.class.php +++ b/htdocs/salaries/class/paymentsalary.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2011-2019 Alexandre Spangaro * Copyright (C) 2014 Juanjo Menent * * This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ */ /** - * \file htdocs/compta/salaries/class/paymentsalary.class.php + * \file htdocs/salaries/class/paymentsalary.class.php * \ingroup salaries * \brief Class for salaries module payment */ @@ -157,6 +157,19 @@ class PaymentSalary extends CommonObject return -1; } + // Update extrafield + if (! $error) + { + if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + { + $result=$this->insertExtraFields(); + if ($result < 0) + { + $error++; + } + } + } + if (! $notrigger) { // Call trigger @@ -242,6 +255,10 @@ class PaymentSalary extends CommonObject $this->fk_account = $obj->fk_account; $this->fk_type = $obj->fk_type; $this->rappro = $obj->rappro; + + // Retreive all extrafield + // fetch optionals attributes and labels + $this->fetch_optionals(); } $this->db->free($resql); @@ -272,6 +289,19 @@ class PaymentSalary extends CommonObject if ($result < 0) return -1; // End call triggers + // Delete donation + if (! $error) + { + $sql = "DELETE FROM " . MAIN_DB_PREFIX . "payment_salary_extrafields"; + $sql.= " WHERE fk_object=" . $this->id; + + $resql = $this->db->query($sql); + if (! $resql) + { + $this->errors[] = $this->db->lasterror(); + $error++; + } + } $sql = "DELETE FROM ".MAIN_DB_PREFIX."payment_salary"; $sql.= " WHERE rowid=".$this->id; @@ -418,6 +448,18 @@ class PaymentSalary extends CommonObject $result=$acc->fetch($this->accountid); if ($result <= 0) dol_print_error($this->db); + // Update extrafield + if (! $error) { + if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + { + $result=$this->insertExtraFields(); + if ($result < 0) + { + $error++; + } + } + } + // Insert payment into llx_bank // Add link 'payment_salary' in bank_url between payment and bank transaction $bank_line_id = $acc->addline( @@ -449,7 +491,7 @@ class PaymentSalary extends CommonObject if (! $error) { // Add link 'payment_salary' in bank_url between payment and bank transaction - $url=DOL_URL_ROOT.'/compta/salaries/card.php?id='; + $url=DOL_URL_ROOT.'/salaries/card.php?id='; $result=$acc->add_url_line($bank_line_id, $this->id, $url, "(SalaryPayment)", "payment_salary"); if ($result <= 0) @@ -554,7 +596,7 @@ class PaymentSalary extends CommonObject $label.= '
'; $label.= '' . $langs->trans('Ref') . ': ' . $this->ref; - $url = DOL_URL_ROOT.'/compta/salaries/card.php?id='.$this->id; + $url = DOL_URL_ROOT.'/salaries/card.php?id='.$this->id; if ($option != 'nolink') { diff --git a/htdocs/compta/salaries/class/salariesstats.class.php b/htdocs/salaries/class/salariesstats.class.php similarity index 97% rename from htdocs/compta/salaries/class/salariesstats.class.php rename to htdocs/salaries/class/salariesstats.class.php index 0287f4978df..8671c4b6b0d 100644 --- a/htdocs/compta/salaries/class/salariesstats.class.php +++ b/htdocs/salaries/class/salariesstats.class.php @@ -17,12 +17,12 @@ */ /** - * \file htdocs/compta/salaries/class/salariesstats.class.php + * \file htdocs/salaries/class/salariesstats.class.php * \ingroup salaries * \brief Fichier de la classe de gestion des stats des salaires */ include_once DOL_DOCUMENT_ROOT . '/core/class/stats.class.php'; -include_once DOL_DOCUMENT_ROOT . '/compta/salaries/class/paymentsalary.class.php'; +include_once DOL_DOCUMENT_ROOT . '/salaries/class/paymentsalary.class.php'; /** * Classe permettant la gestion des stats des salaires diff --git a/htdocs/compta/salaries/document.php b/htdocs/salaries/document.php similarity index 91% rename from htdocs/compta/salaries/document.php rename to htdocs/salaries/document.php index 3ff92d23c1c..8cf985c1b88 100644 --- a/htdocs/compta/salaries/document.php +++ b/htdocs/salaries/document.php @@ -6,7 +6,7 @@ * Copyright (C) 2005 Simon TOSSER * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2013 Cédric Salvador - * Copyright (C) 2015-2017 Alexandre Spangaro + * Copyright (C) 2015-2019 Alexandre Spangaro * * 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 @@ -24,16 +24,16 @@ */ /** - * \file htdocs/compta/salaries/document.php + * \file htdocs/salaries/document.php * \ingroup salaries * \brief Page of linked files onto salaries */ -require '../../main.inc.php'; +require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/salaries.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php'; +require_once DOL_DOCUMENT_ROOT.'/salaries/class/paymentsalary.class.php'; // Load translation files required by the page $langs->loadLangs(array("compta","bills","users","salaries","hrm")); @@ -99,7 +99,7 @@ if ($object->id) $totalsize+=$file['size']; } - $linkback = ''.$langs->trans("BackToList").''; + $linkback = ''.$langs->trans("BackToList").''; $morehtmlref='
'; diff --git a/htdocs/compta/salaries/info.php b/htdocs/salaries/info.php similarity index 84% rename from htdocs/compta/salaries/info.php rename to htdocs/salaries/info.php index 4ef9691bd31..59de25378f7 100644 --- a/htdocs/compta/salaries/info.php +++ b/htdocs/salaries/info.php @@ -1,7 +1,7 @@ * Copyright (C) 2015 Charlie BENKE - * Copyright (C) 2017 Alexandre Spangaro + * Copyright (C) 2017-2019 Alexandre Spangaro * * 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 @@ -18,13 +18,13 @@ */ /** - * \file htdocs/compta/salaries/info.php + * \file htdocs/salaries/info.php * \ingroup salaries * \brief Page with info about salaries contribution */ -require '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php'; +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/salaries/class/paymentsalary.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/salaries.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; @@ -54,7 +54,7 @@ $head = salaries_prepare_head($object); dol_fiche_head($head, 'info', $langs->trans("SalaryPayment"), -1, 'payment'); -$linkback = ''.$langs->trans("BackToList").''; +$linkback = ''.$langs->trans("BackToList").''; $morehtmlref='
'; diff --git a/htdocs/compta/salaries/list.php b/htdocs/salaries/list.php similarity index 96% rename from htdocs/compta/salaries/list.php rename to htdocs/salaries/list.php index 4fa8bd09a76..8694b99ae78 100644 --- a/htdocs/compta/salaries/list.php +++ b/htdocs/salaries/list.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2011-2019 Alexandre Spangaro * Copyright (C) 2015-2016 Laurent Destailleur * Copyright (C) 2015 Jean-François Ferry * @@ -18,13 +18,13 @@ */ /** - * \file htdocs/compta/salaries/list.php + * \file htdocs/salaries/list.php * \ingroup salaries * \brief List of salaries payments */ -require '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php'; +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/salaries/class/paymentsalary.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; if (! empty($conf->accounting->enabled)) require_once DOL_DOCUMENT_ROOT . '/accountancy/class/accountingjournal.class.php'; @@ -150,7 +150,7 @@ if ($result) $newcardbutton=''; if (! empty($user->rights->salaries->write)) { - $newcardbutton=''.$langs->trans('NewSalaryPayment').''; + $newcardbutton=''.$langs->trans('NewSalaryPayment').''; $newcardbutton.= ''; $newcardbutton.= ''; } diff --git a/htdocs/compta/salaries/stats/index.php b/htdocs/salaries/stats/index.php similarity index 97% rename from htdocs/compta/salaries/stats/index.php rename to htdocs/salaries/stats/index.php index d6f94427cce..cac3c8c9f34 100644 --- a/htdocs/compta/salaries/stats/index.php +++ b/htdocs/salaries/stats/index.php @@ -17,14 +17,14 @@ */ /** - * \file htdocs/compta/salaries/stats/index.php + * \file htdocs/salaries/stats/index.php * \ingroup salaries * \brief Page for statistics of module salaries */ require '../../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/salariesstats.class.php'; +require_once DOL_DOCUMENT_ROOT.'/salaries/class/salariesstats.class.php'; // Load translation files required by the page $langs->loadLangs(array("salaries","companies")); @@ -178,7 +178,7 @@ if (! count($arrayyears)) $arrayyears[$nowyear]=$nowyear; $h=0; $head = array(); -$head[$h][0] = DOL_URL_ROOT . '/compta/salaries/stats/index.php'; +$head[$h][0] = DOL_URL_ROOT . '/salaries/stats/index.php'; $head[$h][1] = $langs->trans("ByMonthYear"); $head[$h][2] = 'byyear'; $h++; diff --git a/htdocs/user/bank.php b/htdocs/user/bank.php index 196819f1a4a..76d1f6d4c69 100644 --- a/htdocs/user/bank.php +++ b/htdocs/user/bank.php @@ -34,7 +34,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/user/class/userbankaccount.class.php'; if (! empty($conf->holiday->enabled)) require_once DOL_DOCUMENT_ROOT.'/holiday/class/holiday.class.php'; if (! empty($conf->expensereport->enabled)) require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php'; -if (! empty($conf->salaries->enabled)) require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php'; +if (! empty($conf->salaries->enabled)) require_once DOL_DOCUMENT_ROOT.'/salaries/class/paymentsalary.class.php'; // Load translation files required by page $langs->loadLangs(array('companies', 'commercial', 'banks', 'bills', 'trips', 'holiday', 'salaries')); @@ -307,7 +307,7 @@ if ($action != 'edit' && $action != 'create') // If not bank account yet, $acco print ''; print ''; - print '
'; + print ''; print '';
'.$langs->trans("LastSalaries", ($num<=$MAXLIST?"":$MAXLIST)).''.$langs->trans("AllSalaries").' '.$num.''; print '
'.$langs->trans("LastSalaries", ($num<=$MAXLIST?"":$MAXLIST)).''.$langs->trans("AllSalaries").' '.$num.'