Close #18607 : Implementation of salary button
This commit is contained in:
parent
5b801665e3
commit
0d9280f945
@ -21,4 +21,5 @@ LastSalaries=Latest %s salaries
|
|||||||
AllSalaries=All salaries
|
AllSalaries=All salaries
|
||||||
SalariesStatistics=Salary statistics
|
SalariesStatistics=Salary statistics
|
||||||
SalariesAndPayments=Salaries and payments
|
SalariesAndPayments=Salaries and payments
|
||||||
ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ?
|
ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ?
|
||||||
|
FillFieldFirst=Fill employee field first
|
||||||
|
|||||||
@ -22,3 +22,4 @@ AllSalaries=Tous les salaires
|
|||||||
SalariesStatistics=Statistiques
|
SalariesStatistics=Statistiques
|
||||||
SalariesAndPayments=Salaires et paiements
|
SalariesAndPayments=Salaires et paiements
|
||||||
ConfirmDeleteSalaryPayment=Voulez-vous supprimer ce paiement de salaire ?
|
ConfirmDeleteSalaryPayment=Voulez-vous supprimer ce paiement de salaire ?
|
||||||
|
FillFieldFirst=Remplisez d'abord le champ salarié
|
||||||
|
|||||||
73
htdocs/salaries/ajax/ajaxsalaries.php
Normal file
73
htdocs/salaries/ajax/ajaxsalaries.php
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
<?php
|
||||||
|
/* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
|
||||||
|
* Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
|
* Copyright (C) 2007-2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
|
* Copyright (C) 2010 Cyrille de Lambert <info@auguria.net>
|
||||||
|
*
|
||||||
|
* 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file htdocs/salaries/ajax/ajaxsalaries.php
|
||||||
|
* \brief File to return Ajax response on salary request
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (!defined('NOTOKENRENEWAL')) {
|
||||||
|
define('NOTOKENRENEWAL', 1); // Disables token renewal
|
||||||
|
}
|
||||||
|
if (!defined('NOREQUIREMENU')) {
|
||||||
|
define('NOREQUIREMENU', '1');
|
||||||
|
}
|
||||||
|
if (!defined('NOREQUIREHTML')) {
|
||||||
|
define('NOREQUIREHTML', '1');
|
||||||
|
}
|
||||||
|
if (!defined('NOREQUIREAJAX')) {
|
||||||
|
define('NOREQUIREAJAX', '1');
|
||||||
|
}
|
||||||
|
if (!defined('NOREQUIRESOC')) {
|
||||||
|
define('NOREQUIRESOC', '1');
|
||||||
|
}
|
||||||
|
if (!defined('NOCSRFCHECK')) {
|
||||||
|
define('NOCSRFCHECK', '1');
|
||||||
|
}
|
||||||
|
|
||||||
|
require '../../main.inc.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/salaries/class/salary.class.php';
|
||||||
|
|
||||||
|
restrictedArea($user, 'salaries');
|
||||||
|
|
||||||
|
$fk_user = GETPOST('fk_user', 'int');
|
||||||
|
$return_arr = array();
|
||||||
|
if (!empty(GETPOST('fk_user', 'int'))) {
|
||||||
|
$sql = "SELECT s.amount, s.rowid FROM ".MAIN_DB_PREFIX."salary as s";
|
||||||
|
$sql .= " WHERE s.fk_user = ".$fk_user;
|
||||||
|
$sql .= " AND s.paye = 1";
|
||||||
|
$sql .= $db->order("s.dateep", "DESC");
|
||||||
|
|
||||||
|
$resql = $db->query($sql);
|
||||||
|
if ($resql) {
|
||||||
|
$obj = $db->fetch_object($resql);
|
||||||
|
$label = "Salary amount";
|
||||||
|
$row_array['label'] = $label;
|
||||||
|
$row_array['value'] = $obj->amount;
|
||||||
|
$row_array['key'] = "Amount";
|
||||||
|
|
||||||
|
array_push($return_arr, $row_array);
|
||||||
|
echo json_encode($return_arr);
|
||||||
|
} else {
|
||||||
|
echo json_encode(array('nom'=>'Error', 'label'=>'Error', 'key'=>'Error', 'value'=>'Error'));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
echo json_encode(array('nom'=>'ErrorBadParameter', 'label'=>'ErrorBadParameter', 'key'=>'ErrorBadParameter', 'value'=>'ErrorBadParameter'));
|
||||||
|
}
|
||||||
@ -466,8 +466,10 @@ if ($action == 'create') {
|
|||||||
// Amount
|
// Amount
|
||||||
print '<tr><td>';
|
print '<tr><td>';
|
||||||
print $form->editfieldkey('Amount', 'amount', '', $object, 0, 'string', '', 1).'</td><td>';
|
print $form->editfieldkey('Amount', 'amount', '', $object, 0, 'string', '', 1).'</td><td>';
|
||||||
print '<input name="amount" id="amount" class="minwidth75 maxwidth100" value="'.GETPOST("amount").'">';
|
print '<input name="amount" id="amount" class="minwidth75 maxwidth100" value="'.GETPOST("amount").'"> ';
|
||||||
print '</td></tr>';
|
print '<button class="dpInvisibleButtons" id="updateAmountWithLastSalary" name="_useless" type="button">'.$langs->trans('UpdateAmountWithLastSalary').'</a>';
|
||||||
|
print '</td>';
|
||||||
|
print '</tr>';
|
||||||
|
|
||||||
// Project
|
// Project
|
||||||
if (!empty($conf->projet->enabled)) {
|
if (!empty($conf->projet->enabled)) {
|
||||||
@ -560,6 +562,42 @@ if ($action == 'create') {
|
|||||||
print $form->buttonsSaveCancel("Save", "Cancel", $addition_button);
|
print $form->buttonsSaveCancel("Save", "Cancel", $addition_button);
|
||||||
|
|
||||||
print '</form>';
|
print '</form>';
|
||||||
|
print '<script>';
|
||||||
|
print '$( document ).ready(function() {';
|
||||||
|
print '$("#updateAmountWithLastSalary").on("click",function updateAmountWithLastSalary(){
|
||||||
|
var fk_user = $("#fk_user").val()
|
||||||
|
var url = "'.DOL_URL_ROOT.'/salaries/ajax/ajaxsalaries.php?fk_user="+fk_user;
|
||||||
|
if(fk_user != -1){
|
||||||
|
$.get(
|
||||||
|
url,
|
||||||
|
function( data ) {
|
||||||
|
if(data!=null){
|
||||||
|
console.log("Data returned: "+data);
|
||||||
|
item = JSON.parse(data);
|
||||||
|
if(item[0].key == "Amount"){
|
||||||
|
value = item[0].value;
|
||||||
|
if(value != null){
|
||||||
|
$("#amount").val(item[0].value);
|
||||||
|
}else{
|
||||||
|
console.error("Error: Ajax url "+url+" has returned a null value.");
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
console.error("Error: Ajax url "+url+" has returned the wrong key.");
|
||||||
|
}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
console.error("Error: Ajax url "+url+" has returned an empty page.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
}else{
|
||||||
|
alert("'.$langs->trans("FillFieldFirst").'");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
})';
|
||||||
|
print '</script>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user