diff --git a/htdocs/install/mysql/migration/13.0.0-14.0.0.sql b/htdocs/install/mysql/migration/13.0.0-14.0.0.sql
index bfdecd334b7..08b4bbbc903 100644
--- a/htdocs/install/mysql/migration/13.0.0-14.0.0.sql
+++ b/htdocs/install/mysql/migration/13.0.0-14.0.0.sql
@@ -122,3 +122,36 @@ ALTER TABLE llx_societe ADD INDEX idx_societe_warehouse(fk_warehouse);
ALTER TABLE llx_socpeople MODIFY poste varchar(255);
ALTER TABLE llx_chargesociales ADD COLUMN fk_user integer DEFAULT NULL;
+
+RENAME TABLE llx_payment_salary TO llx_salary;
+RENAME TABLE llx_payment_salary_extrafields TO llx_salary_extrafields;
+
+ALTER TABLE llx_salary RENAME INDEX idx_payment_salary_ref TO idx_salary_ref;
+ALTER TABLE llx_salary RENAME INDEX idx_payment_salary_user TO idx_salary_user;
+ALTER TABLE llx_salary RENAME INDEX idx_payment_salary_datep TO idx_salary_datep;
+ALTER TABLE llx_salary RENAME INDEX idx_payment_salary_datesp TO idx_salary_datesp;
+ALTER TABLE llx_salary RENAME INDEX idx_payment_salary_dateep TO idx_salary_dateep;
+ALTER TABLE llx_salary DROP CONSTRAINT fk_payment_salary_user, ADD CONSTRAINT fk_salary_user FOREIGN KEY (fk_user) REFERENCES llx_user (rowid);
+ALTER TABLE llx_salary_extrafields RENAME INDEX idx_payment_salary_extrafields TO idx_salary_extrafields;
+
+ALTER TABLE llx_salary ADD paye smallint default 1 NOT NULL;
+ALTER TABLE llx_salary ADD fk_account integer;
+
+ALTER TABLE llx_salary ALTER COLUMN paye SET DEFAULT 0;
+
+create table llx_payment_salary
+(
+ rowid integer AUTO_INCREMENT PRIMARY KEY,
+ fk_salary integer,
+ datec datetime, -- date de creation
+ tms timestamp,
+ datep datetime, -- payment date
+ amount double(24,8) DEFAULT 0,
+ fk_typepaiement integer NOT NULL,
+ num_paiement varchar(50),
+ note text,
+ fk_bank integer NOT NULL,
+ fk_user_creat integer, -- creation user
+ fk_user_modif integer -- last modification user
+
+)ENGINE=innodb;
diff --git a/htdocs/salaries/card.php b/htdocs/salaries/card.php
index 8e1615f599f..449592d5c00 100644
--- a/htdocs/salaries/card.php
+++ b/htdocs/salaries/card.php
@@ -25,7 +25,6 @@
* \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.'/salaries/class/salary.class.php';
@@ -493,6 +492,16 @@ if ($action == 'create')
print ' ';
print '';
+ // Project
+ if (!empty($conf->projet->enabled))
+ {
+ $formproject = new FormProjets($db);
+
+ print '
'.$langs->trans("Project").' ';
+ $formproject->select_projects(-1, $projectid, 'fk_project', 0, 0, 1, 1);
+ print ' ';
+ }
+
// Bank
if (!empty($conf->banque->enabled))
{
@@ -503,9 +512,9 @@ if ($action == 'create')
}
// Type payment
- print '';
+ print ' ';
print $form->editfieldkey('PaymentMode', 'selectpaymenttype', '', $object, 0, 'string', '', 1).' ';
- $form->select_types_paiements(GETPOST("paymenttype", 'aZ09'), "paymenttype", '', 2);
+ $form->select_types_paiements(GETPOST("paymenttype", 'aZ09'), "paymenttype", '');
print ' ';
// Auto create payment
@@ -513,13 +522,13 @@ if ($action == 'create')
print ' '."\n";
// Date payment
- print '';
+ print ' ';
print $form->editfieldkey('DatePayment', 'datep', '', $object, 0, 'string', '', 1).' ';
print $form->selectDate((empty($datep) ? '' : $datep), "datep", 0, 0, 0, 'add', 1, 1);
print ' ';
// Date value for bank
- print '';
+ print ' ';
print $form->editfieldkey('DateValue', 'datev', '', $object, 0).' ';
print $form->selectDate((empty($datev) ?-1 : $datev), "datev", '', '', '', 'add', 1, 1);
print ' ';
@@ -534,16 +543,6 @@ if ($action == 'create')
print ' '."\n";
}
- // Project
- if (!empty($conf->projet->enabled))
- {
- $formproject = new FormProjets($db);
-
- print ''.$langs->trans("Project").' ';
- $formproject->select_projects(-1, $projectid, 'fk_project', 0, 0, 1, 1);
- print ' ';
- }
-
// Comments
print '';
print ''.$langs->trans("Comments").' ';
@@ -646,7 +645,7 @@ if ($id)
$morehtmlref .= '';
} else {
diff --git a/htdocs/salaries/class/salary.class.php b/htdocs/salaries/class/salary.class.php
index 42a59c7ed05..606e4b70921 100644
--- a/htdocs/salaries/class/salary.class.php
+++ b/htdocs/salaries/class/salary.class.php
@@ -448,27 +448,16 @@ class Salary extends CommonObject
if ($this->id > 0)
{
- if (!empty($conf->banque->enabled) && !empty($this->amount))
- {
- // Insert into llx_bank
- require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php';
-
- $acc = new Account($this->db);
- $result = $acc->fetch($this->accountid);
- if ($result <= 0) dol_print_error($this->db);
-
- // Update extrafield
- if (!$error) {
- if (!$error)
+ // Update extrafield
+ if (!$error) {
+ if (!$error)
+ {
+ $result = $this->insertExtraFields();
+ if ($result < 0)
{
- $result = $this->insertExtraFields();
- if ($result < 0)
- {
- $error++;
- }
+ $error++;
}
}
-
}
// Call trigger
diff --git a/htdocs/salaries/list.php b/htdocs/salaries/list.php
index a776a2a8191..7054cb7d37d 100644
--- a/htdocs/salaries/list.php
+++ b/htdocs/salaries/list.php
@@ -25,7 +25,7 @@
*/
require '../main.inc.php';
-require_once DOL_DOCUMENT_ROOT.'/salaries/class/salary.class.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';
@@ -577,7 +577,7 @@ while ($i < ($limit ? min($num, $limit) : $num)) {
}
}
- if (!$i) $totalarray['pos'][$totalarray['nbfield']] = 'totalttcfield';
+// if (!$i) $totalarray['pos'][$totalarray['nbfield']] = 'totalttcfield';
// Amount
print ''.price($obj->amount).' ';
@@ -589,6 +589,9 @@ while ($i < ($limit ? min($num, $limit) : $num)) {
}
$totalarray['val']['totalttcfield'] += $obj->amount;
+ print ''.$salstatic->LibStatut($obj->paye, 5, $obj->alreadypayed).' ';
+ if (!$i) $totalarray['nbfield']++;
+
// Extra fields
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php';
// Fields from hook