--- /tmp/dsg/dolibarr/htdocs/compta/bank/various_payment/github_card.php +++ /tmp/dsg/dolibarr/htdocs/compta/bank/various_payment/client_card.php @@ -1,6 +1,6 @@ - * Copyright (C) 2018-2020 Frédéric France +/* Copyright (C) 2017-2019 Alexandre Spangaro + * Copyright (C) 2018 Frédéric France * * 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 @@ -30,7 +30,8 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formaccounting.class.php'; require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountingaccount.class.php'; require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountingjournal.class.php'; -if (!empty($conf->projet->enabled)) { +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'; } @@ -40,23 +41,18 @@ // Get parameters $id = GETPOST('id', 'int'); -$action = GETPOST('action', 'alpha'); -$confirm = GETPOST('confirm'); -$cancel = GETPOST('cancel', 'aZ09'); +$action = GETPOST('action', 'alpha'); +$cancel = GETPOST('cancel', 'aZ09'); $backtopage = GETPOST('backtopage', 'alpha'); $accountid = GETPOST("accountid") > 0 ? GETPOST("accountid", "int") : 0; $label = GETPOST("label", "alpha"); $sens = GETPOST("sens", "int"); $amount = price2num(GETPOST("amount", "alpha")); -$paymenttype = GETPOST("paymenttype", "aZ09"); +$paymenttype = GETPOST("paymenttype", "int"); $accountancy_code = GETPOST("accountancy_code", "alpha"); +$subledger_account = GETPOST("subledger_account", "alpha"); $projectid = (GETPOST('projectid', 'int') ? GETPOST('projectid', 'int') : GETPOST('fk_project', 'int')); -if (!empty($conf->accounting->enabled) && !empty($conf->global->ACCOUNTANCY_COMBO_FOR_AUX)) { - $subledger_account = GETPOST("subledger_account", "alpha") > 0 ? GETPOST("subledger_account", "alpha") : ''; -} else { - $subledger_account = GETPOST("subledger_account", "alpha"); -} // Security check $socid = GETPOST("socid", "int"); @@ -111,20 +107,18 @@ $object->datev = $datev; $object->datep = $datep; $object->amount = price2num(GETPOST("amount", 'alpha')); - $object->label = GETPOST("label", 'restricthtml'); - $object->note = GETPOST("note", 'restricthtml'); - $object->type_payment = dol_getIdFromCode($db, GETPOST('paymenttype'), 'c_paiement', 'code', 'id', 1); + $object->label = GETPOST("label", 'none'); + $object->note = GETPOST("note", 'none'); + $object->type_payment = GETPOST("paymenttype", 'int') > 0 ? GETPOST("paymenttype", "int") : 0; $object->num_payment = GETPOST("num_payment", 'alpha'); - $object->chqemetteur = GETPOST("chqemetteur", 'alpha'); - $object->chqbank = GETPOST("chqbank", 'alpha'); $object->fk_user_author = $user->id; $object->category_transaction = GETPOST("category_transaction", 'alpha'); $object->accountancy_code = GETPOST("accountancy_code") > 0 ? GETPOST("accountancy_code", "alpha") : ""; - $object->subledger_account = $subledger_account; - - $object->sens = GETPOSTINT('sens'); - $object->fk_project = GETPOSTINT('fk_project'); + $object->subledger_account = GETPOST("subledger_account") > 0 ? GETPOST("subledger_account", "alpha") : ""; + + $object->sens = GETPOST('sens'); + $object->fk_project = GETPOST('fk_project', 'int'); if (empty($datep) || empty($datev)) { @@ -132,6 +126,12 @@ setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), null, 'errors'); $error++; } + if (empty($object->type_payment) || $object->type_payment < 0) + { + $langs->load('errors'); + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("PaymentMode")), null, 'errors'); + $error++; + } if (empty($object->amount)) { $langs->load('errors'); @@ -144,22 +144,11 @@ setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("BankAccount")), null, 'errors'); $error++; } - if (empty($object->type_payment) || $object->type_payment < 0) - { - $langs->load('errors'); - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("PaymentMode")), null, 'errors'); - $error++; - } + // TODO Remove this and allow instead to edit a various payment to enter accounting code if (!empty($conf->accounting->enabled) && !$object->accountancy_code) { $langs->load('errors'); setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("AccountAccounting")), null, 'errors'); - $error++; - } - if ($object->sens < 0) - { - $langs->load('errors'); - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Sens")), null, 'errors'); $error++; } @@ -174,7 +163,9 @@ $urltogo = ($backtopage ? $backtopage : DOL_URL_ROOT.'/compta/bank/various_payment/list.php'); header("Location: ".$urltogo); exit; - } else { + } + else + { $db->rollback(); setEventMessages($object->error, $object->errors, 'errors'); $action = "create"; @@ -207,26 +198,30 @@ $db->commit(); header("Location: ".DOL_URL_ROOT.'/compta/bank/various_payment/list.php'); exit; - } else { + } + else + { $object->error = $accountline->error; $db->rollback(); setEventMessages($object->error, $object->errors, 'errors'); } - } else { + } + else + { $db->rollback(); setEventMessages($object->error, $object->errors, 'errors'); } - } else { + } + else + { setEventMessages('Error try do delete a line linked to a conciliated bank transaction', null, 'errors'); } } if ($action == 'setsubledger_account') { - $db->begin(); - $result = $object->fetch($id); - $object->subledger_account = $subledger_account; + $object->subledger_account = (GETPOST("subledger_account") > 0 ? GETPOST("subledger_account", "alpha") : ""); $res = $object->update($user); if ($res > 0) { @@ -238,76 +233,6 @@ } } -// Action clone object -if ($action == 'confirm_clone' && $confirm != 'yes') { $action = ''; } - -if ($action == 'confirm_clone' && $confirm == 'yes' && ($user->rights->banque->modifier)) -{ - $db->begin(); - - $originalId = $id; - - $object->fetch($id); - - if ($object->id > 0) - { - $object->id = $object->ref = null; - - if (GETPOST('clone_label', 'alphanohtml')) { - $object->label = GETPOST('clone_label', 'alphanohtml'); - } else { - $object->label = $langs->trans("CopyOf").' '.$object->label; - } - - $newdatepayment = dol_mktime(0, 0, 0, GETPOST('clone_date_paymentmonth', 'int'), GETPOST('clone_date_paymentday', 'int'), GETPOST('clone_date_paymentyear', 'int')); - $newdatevalue = dol_mktime(0, 0, 0, GETPOST('clone_date_valuemonth', 'int'), GETPOST('clone_date_valueday', 'int'), GETPOST('clone_date_valueyear', 'int')); - if ($newdatepayment) $object->datep = $newdatepayment; - if (!empty($newdatevalue)) { - $object->datev = $newdatevalue; - } else { - $object->datev = $newdatepayment; - } - - if (GETPOSTISSET("clone_sens")) { - $object->sens = GETPOST("clone_sens", 'int'); - } else { - $object->sens = $object->sens; - } - - if (GETPOST("clone_amount", "alpha")) { - $object->amount = price2num(GETPOST("clone_amount", "alpha")); - } else { - $object->amount = price2num($object->amount); - } - - if ($object->check()) - { - $id = $object->create($user); - if ($id > 0) - { - $db->commit(); - $db->close(); - - header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); - exit; - } else { - $id = $originalId; - $db->rollback(); - - setEventMessages($object->error, $object->errors, 'errors'); - } - } else { - $id = $originalId; - $db->rollback(); - - setEventMessages($object->error, $object->errors, 'errors'); - } - } else { - $db->rollback(); - dol_print_error($db, $object->error); - } -} - /* * View @@ -337,7 +262,7 @@ $bankcateg = new BankCateg($db); foreach ($bankcateg->fetchAll() as $bankcategory) { - $options[$bankcategory->id] = $bankcategory->label; + $options[$bankcategory->id] = $bankcategory->label; } /* ************************************************************************** */ @@ -347,43 +272,6 @@ /* ************************************************************************** */ if ($action == 'create') { - // Update fields properties in realtime - if (!empty($conf->use_javascript_ajax)) - { - print "\n".''."\n"; - } - print '
'; print ''; print ''; @@ -391,7 +279,7 @@ print load_fiche_titre($langs->trans("NewVariousPayment"), '', 'object_payment'); - print dol_get_fiche_head('', ''); + dol_fiche_head('', ''); print ''; @@ -413,6 +301,13 @@ print ''; print ''; + // Sens + print ''; + // Amount print ''; } // Type payment - print '\n"; - print ''; + print ''; // Number - print ''; - print ''."\n"; - - // Check transmitter - print ''; - print ''; - - // Bank name - print ''; - print ''; + if (!empty($conf->banque->enabled)) + { + // Number + print ''; + print ''."\n"; + } + + // Project + if (!empty($conf->projet->enabled)) + { + $formproject = new FormProjets($db); + + // Associated project + $langs->load("projects"); + + print ''; + } + + // 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; + + // Category + if (is_array($options) && count($options) && $conf->categorie->enabled) + { + print ''; + } // Accountancy account - if (!empty($conf->accounting->enabled)) { + if (!empty($conf->accounting->enabled)) + { // TODO Remove the fieldrequired and allow instead to edit a various payment to enter accounting code print ''; - print ''; - } else { // For external software + print ''; + } + else // For external software + { print ''; print ''; } - // Subledger account - if (!empty($conf->accounting->enabled)) { - print ''; - print ''; - } else { // For external software - print ''; - print ''; - } - - // Sens - print ''; - - // Project - if (!empty($conf->projet->enabled)) - { - $formproject = new FormProjets($db); - - // Associated project - $langs->load("projects"); - - print ''; - } - - // 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; - - // Category - if (is_array($options) && count($options) && $conf->categorie->enabled) { - print ''; - } + // Subledger account + if (!empty($conf->accounting->enabled)) + { + print ''; + print ''; + } + else // For external software + { + print ''; + print ''; + } print '
'; + print $form->editfieldkey('Sens', 'sens', '', $object, 0, 'string', '', 1).''; + $sensarray = array('0' => $langs->trans("Debit"), '1' => $langs->trans("Credit")); + print $form->selectarray('sens', $sensarray, $sens); + print '
'; print $form->editfieldkey('Amount', 'amount', '', $object, 0, 'string', '', 1).''; @@ -424,106 +319,100 @@ { print '
'; print $form->editfieldkey('BankAccount', 'selectaccountid', '', $object, 0, 'string', '', 1).''; - $form->select_comptes($accountid, "accountid", 0, '', 2); // Affiche liste des comptes courant + $form->select_comptes($accountid, "accountid", 0, '', 1); // Affiche liste des comptes courant print '
'.$langs->trans('PaymentMode').''; - $form->select_types_paiements($paymenttype, 'paymenttype', '', 2); - print "
'; + print $form->editfieldkey('PaymentMode', 'selectpaymenttype', '', $object, 0, 'string', '', 1).''; + $form->select_types_paiements($paymenttype, "paymenttype"); + print '
'.$langs->trans("Project").''; + + $numproject = $formproject->select_projects(-1, $projectid, 'fk_project', 0, 0, 1, 1); + + print '
'.$langs->trans("RubriquesTransactions").''; + print Form::selectarray('category_transaction', $options, GETPOST('category_transaction'), 1); + print '
'.$langs->trans("AccountAccounting").''; + print ''; print $formaccounting->select_account($accountancy_code, 'accountancy_code', 1, null, 1, 1); - print '
'.$langs->trans("AccountAccounting").''; print '
'.$langs->trans("SubledgerAccount").''; - if (!empty($conf->global->ACCOUNTANCY_COMBO_FOR_AUX)) { - print $formaccounting->select_auxaccount($subledger_account, 'subledger_account', 1, ''); - } else { - print ''; - } - print '
'.$langs->trans("SubledgerAccount").''; - print '
'; - $labelsens = $form->textwithpicto('Sens', $langs->trans("AccountingDirectionHelp")); - print $form->editfieldkey($labelsens, 'sens', '', $object, 0, 'string', '', 1).''; - $sensarray = array('0' => $langs->trans("Debit"), '1' => $langs->trans("Credit")); - print $form->selectarray('sens', $sensarray, $sens, 1, 0, 0, '', 0, 0, 0, '', 'minwidth100', 1); - print '
'.$langs->trans("Project").''; - - $numproject = $formproject->select_projects(-1, $projectid, 'fk_project', 0, 0, 1, 1); - - print '
'.$langs->trans("RubriquesTransactions").''; - print img_picto('', 'category').Form::selectarray('category_transaction', $options, GETPOST('category_transaction'), 1, 0, 0, '', 0, 0, 0, '', 'minwidth300', 1); - print '
'.$langs->trans("SubledgerAccount").''; + if (!empty($conf->global->ACCOUNTANCY_COMBO_FOR_AUX)) + { + print $formaccounting->select_auxaccount($subledger_account, 'subledger_account', 1, ''); + } + else + { + print ''; + } + print '
'.$langs->trans("SubledgerAccount").''; + print '
'; - print dol_get_fiche_end(); + dol_fiche_end(); print '
'; - print ''; + print ''; print '   '; - print ''; + print ''; print '
'; print '
'; @@ -542,25 +431,7 @@ $head = various_payment_prepare_head($object); - // Clone confirmation - if ($action === 'clone') - { - $set_value_help = $form->textwithpicto('', $langs->trans($langs->trans("AccountingDirectionHelp"))); - $sensarray = array('0' => $langs->trans("Debit"), '1' => $langs->trans("Credit")); - - $formquestion = array( - array('type' => 'text', 'name' => 'clone_label', 'label' => $langs->trans("Label"), 'value' => $langs->trans("CopyOf").' '.$object->label), - array('type' => 'date', 'tdclass'=>'fieldrequired', 'name' => 'clone_date_payment', 'label' => $langs->trans("DatePayment"), 'value' => -1), - array('type' => 'date', 'name' => 'clone_date_value', 'label' => $langs->trans("DateValue"), 'value' => -1), - array('type' => 'other', 'tdclass'=>'fieldrequired', 'name' => 'clone_accountid', 'label' => $langs->trans("BankAccount"), 'value' => $form->select_comptes($object->fk_account, "accountid", 0, '', 1, '', 0, 'minwidth200', 1)), - array('type' => 'text', 'name' => 'clone_amount', 'label' => $langs->trans("Amount"), 'value' => price($object->amount)), - array('type' => 'select', 'name' => 'clone_sens', 'label' => $langs->trans("Sens") . ' ' . $set_value_help, 'values' => $sensarray, 'default' => $object->sens), - ); - - print $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ToClone'), $langs->trans('ConfirmCloneVariousPayment', $object->ref), 'confirm_clone', $formquestion, 'yes', 1, 350); - } - - print dol_get_fiche_head($head, 'card', $langs->trans("VariousPayment"), -1, $object->picto); + dol_fiche_head($head, 'card', $langs->trans("VariousPayment"), -1, $object->picto); $morehtmlref = '
'; // Project @@ -639,12 +510,12 @@ } print ''; - // Subledger account - print ''; - print $form->editfieldkey('SubledgerAccount', 'subledger_account', $object->subledger_account, $object, (!$alreadyaccounted && $user->rights->banque->modifier), 'string', '', 0); - print ''; - print $form->editfieldval('SubledgerAccount', 'subledger_account', $object->subledger_account, $object, (!$alreadyaccounted && $user->rights->banque->modifier), 'string', '', 0); - print ''; + // Subledger account + print ''; + print $form->editfieldkey('SubledgerAccount', 'subledger_account', $object->subledger_account, $object, (!$alreadyaccounted && $user->rights->banque->modifier), 'string', '', 0); + print ''; + print $form->editfieldval('SubledgerAccount', 'subledger_account', $object->subledger_account, $object, (!$alreadyaccounted && $user->rights->banque->modifier), 'string', '', 0); + print ''; if (!empty($conf->banque->enabled)) { @@ -672,7 +543,7 @@ print '
'; - print dol_get_fiche_end(); + dol_fiche_end(); /* @@ -683,12 +554,6 @@ // TODO // Add button modify - // Clone - if ($user->rights->banque->modifier) - { - print '"; - } - // Delete if (empty($object->rappro)) { @@ -697,12 +562,16 @@ if ($alreadyaccounted) { print ''; } else { - print ''; - } - } else { + print ''; + } + } + else + { print ''; } - } else { + } + else + { print ''; } --- /tmp/dsg/dolibarr/htdocs/compta/bank/various_payment/github_document.php +++ /tmp/dsg/dolibarr/htdocs/compta/bank/various_payment/client_document.php @@ -34,7 +34,7 @@ $id = GETPOST('id', 'int'); $ref = GETPOST('ref', 'alpha'); -$action = GETPOST('action', 'aZ09'); +$action = GETPOST('action', 'alpha'); $confirm = GETPOST('confirm', 'alpha'); // Security check @@ -44,8 +44,8 @@ // Get parameters $limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; -$sortfield = GETPOST('sortfield', 'aZ09comma'); -$sortorder = GETPOST('sortorder', 'aZ09comma'); +$sortfield = GETPOST('sortfield', 'alpha'); +$sortorder = GETPOST('sortorder', 'alpha'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 $offset = $limit * $page; @@ -83,7 +83,7 @@ { $head = various_payment_prepare_head($object); - print dol_get_fiche_head($head, 'documents', $langs->trans("VariousPayment"), -1, $object->picto); + dol_fiche_head($head, 'documents', $langs->trans("VariousPayment"), -1, $object->picto); $morehtmlref = '
'; // Project @@ -143,13 +143,15 @@ print '
'; - print dol_get_fiche_end(); + dol_fiche_end(); $modulepart = 'banque'; $permission = $user->rights->banque->modifier; $param = '&id='.$object->id; include_once DOL_DOCUMENT_ROOT.'/core/tpl/document_actions_post_headers.tpl.php'; -} else { +} +else +{ print $langs->trans("ErrorUnknown"); } --- /tmp/dsg/dolibarr/htdocs/compta/bank/various_payment/github_info.php +++ /tmp/dsg/dolibarr/htdocs/compta/bank/various_payment/client_info.php @@ -50,7 +50,7 @@ $head = various_payment_prepare_head($object); -print dol_get_fiche_head($head, 'info', $langs->trans("VariousPayment"), -1, $object->picto); +dol_fiche_head($head, 'info', $langs->trans("VariousPayment"), -1, $object->picto); $morehtmlref = '
'; --- /tmp/dsg/dolibarr/htdocs/compta/bank/various_payment/github_list.php +++ /tmp/dsg/dolibarr/htdocs/compta/bank/various_payment/client_list.php @@ -2,7 +2,6 @@ /* Copyright (C) 2017-2019 Alexandre Spangaro * Copyright (C) 2017 Laurent Destailleur * Copyright (C) 2018 Frédéric France - * Copyright (C) 2020 Tobias Sekan * * 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 @@ -30,7 +29,6 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formaccounting.class.php'; require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountingaccount.class.php'; require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountingjournal.class.php'; -require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; // Load translation files required by the page $langs->loadLangs(array("compta", "banks", "bills", "accountancy")); @@ -46,22 +44,15 @@ $search_ref = GETPOST('search_ref', 'int'); $search_user = GETPOST('search_user', 'alpha'); $search_label = GETPOST('search_label', 'alpha'); -$search_datep_start = dol_mktime(0, 0, 0, GETPOST('search_date_startmonth', 'int'), GETPOST('search_date_startday', 'int'), GETPOST('search_date_startyear', 'int')); -$search_datep_end = dol_mktime(23, 59, 59, GETPOST('search_date_endmonth', 'int'), GETPOST('search_date_endday', 'int'), GETPOST('search_date_endyear', 'int')); -$search_datev_start = dol_mktime(0, 0, 0, GETPOST('search_date_value_startmonth', 'int'), GETPOST('search_date_value_startday', 'int'), GETPOST('search_date_value_startyear', 'int')); -$search_datev_end = dol_mktime(23, 59, 59, GETPOST('search_date_value_endmonth', 'int'), GETPOST('search_date_value_endday', 'int'), GETPOST('search_date_value_endyear', 'int')); +$search_date_start = dol_mktime(0, 0, 0, GETPOST('search_date_startmonth', 'int'), GETPOST('search_date_startday', 'int'), GETPOST('search_date_startyear', 'int')); +$search_date_end = dol_mktime(23, 59, 59, GETPOST('search_date_endmonth', 'int'), GETPOST('search_date_endday', 'int'), GETPOST('search_date_endyear', 'int')); $search_amount_deb = GETPOST('search_amount_deb', 'alpha'); $search_amount_cred = GETPOST('search_amount_cred', 'alpha'); -$search_bank_account = GETPOST('search_account', 'int'); -$search_bank_entry = GETPOST('search_bank_entry', 'int'); +$search_account = GETPOST('search_account', 'int'); $search_accountancy_account = GETPOST("search_accountancy_account"); if ($search_accountancy_account == - 1) $search_accountancy_account = ''; $search_accountancy_subledger = GETPOST("search_accountancy_subledger"); if ($search_accountancy_subledger == - 1) $search_accountancy_subledger = ''; -if (empty($search_datep_start)) $search_datep_start = GETPOST("search_datep_start", 'int'); -if (empty($search_datep_end)) $search_datep_end = GETPOST("search_datep_end", 'int'); -if (empty($search_datev_start)) $search_datev_start = GETPOST("search_datev_start", 'int'); -if (empty($search_datev_end)) $search_datev_end = GETPOST("search_datev_end", 'int'); $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); @@ -71,7 +62,7 @@ $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortfield) $sortfield = "v.datep,v.rowid"; -if (!$sortorder) $sortorder = "DESC,DESC"; +if (!$sortorder) $sortorder = "DESC"; $filtre = GETPOST("filtre", 'alpha'); @@ -84,103 +75,39 @@ $part = explode(':', $val); if ($part[0] == 'v.fk_typepayment') $typeid = $part[1]; } -} else { +} +else +{ $typeid = GETPOST('typeid'); } if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All test are required to be compatible with all browsers { - $search_ref = ''; - $search_label = ''; - $search_datep_start = ''; - $search_datep_end = ''; - $search_datev_start = ''; - $search_datev_end = ''; - $search_amount_deb = ''; - $search_amount_cred = ''; - $search_bank_account = ''; - $search_bank_entry = ''; + $search_ref = ""; + $search_label = ""; + $search_date_start = ''; + $search_date_end = ''; + $search_amount_deb = ""; + $search_amount_cred = ""; + $search_account = ''; $search_accountancy_account = ''; $search_accountancy_subledger = ''; - $typeid = ''; -} - -$search_all = GETPOSTISSET("search_all") ? trim(GETPOST("search_all", 'alpha')) : trim(GETPOST('sall')); - -/* -* TODO: fill array "$fields" in "/compta/bank/class/paymentvarious.class.php" and use -* -* -* $object = new PaymentVarious($db); -* -* $search = array(); -* foreach ($object->fields as $key => $val) -* { -* if (GETPOST('search_'.$key, 'alpha')) $search[$key] = GETPOST('search_'.$key, 'alpha'); -* } - -* $fieldstosearchall = array(); -* foreach ($object->fields as $key => $val) -* { -* if ($val['searchall']) $fieldstosearchall['t.'.$key] = $val['label']; -* } -* -*/ - -// List of fields to search into when doing a "search in all" -$fieldstosearchall = array( - 'v.rowid'=>"Ref", - 'v.label'=>"Label", - 'v.datep'=>"DatePayment", - 'v.datev'=>"DateValue", - 'v.amount'=>$langs->trans("Debit").", ".$langs->trans("Credit"), -); - -// Definition of fields for lists -$arrayfields = array( - 'ref' =>array('label'=>"Ref", 'checked'=>1, 'position'=>100), - 'label' =>array('label'=>"Label", 'checked'=>1, 'position'=>110), - 'datep' =>array('label'=>"DatePayment", 'checked'=>1, 'position'=>120), - 'datev' =>array('label'=>"DateValue", 'checked'=>1, 'position'=>130), - 'type' =>array('label'=>"PaymentMode", 'checked'=>1, 'position'=>140), - 'project' =>array('label'=>"Project", 'checked'=>1, 'position'=>200, "enabled"=>!empty($conf->projet->enabled)), - 'bank' =>array('label'=>"BankAccount", 'checked'=>1, 'position'=>300, "enabled"=>!empty($conf->banque->enabled)), - 'entry' =>array('label'=>"BankTransactionLine", 'checked'=>1, 'position'=>310, "enabled"=>!empty($conf->banque->enabled)), - 'account' =>array('label'=>"AccountAccountingShort", 'checked'=>1, 'position'=>400, "enabled"=>!empty($conf->accounting->enabled)), - 'subledger' =>array('label'=>"SubledgerAccount", 'checked'=>1, 'position'=>410, "enabled"=>!empty($conf->accounting->enabled)), - 'debit' =>array('label'=>"Debit", 'checked'=>1, 'position'=>500), - 'credit' =>array('label'=>"Credit", 'checked'=>1, 'position'=>510), -); - -$arrayfields = dol_sort_array($arrayfields, 'position'); - -/* - * Actions - */ - -$parameters = array(); -$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks -if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); - -if (empty($reshook)) { - // Selection of new fields - include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php'; -} + $typeid = ""; +} + /* * View */ +llxHeader(); + $form = new Form($db); -if ($arrayfields['account']['checked'] || $arrayfields['subledger']['checked']) $formaccounting = new FormAccounting($db); -if ($arrayfields['bank']['checked'] && !empty($conf->accounting->enabled)) $accountingjournal = new AccountingJournal($db); -if ($arrayfields['ref']['checked']) $variousstatic = new PaymentVarious($db); -if ($arrayfields['bank']['checked']) $accountstatic = new Account($db); -if ($arrayfields['project']['checked']) $proj = new Project($db); -if ($arrayfields['entry']['checked']) $bankline = new AccountLine($db); -if ($arrayfields['account']['checked']) $accountingaccount = new AccountingAccount($db); - -$sql = "SELECT v.rowid, v.sens, v.amount, v.label, v.datep as datep, v.datev as datev, v.fk_typepayment as type, v.num_payment, v.fk_bank, v.accountancy_code, v.subledger_account, v.fk_projet as fk_project,"; +$formaccounting = new FormAccounting($db); +$variousstatic = new PaymentVarious($db); +$accountstatic = new Account($db); + +$sql = "SELECT v.rowid, v.sens, v.amount, v.label, v.datep as datep, v.datev as datev, v.fk_typepayment as type, v.num_payment, v.fk_bank, v.accountancy_code, v.subledger_account,"; $sql .= " ba.rowid as bid, ba.ref as bref, ba.number as bnumber, ba.account_number as bank_account_number, ba.fk_accountancy_journal as accountancy_journal, ba.label as blabel,"; $sql .= " pst.code as payment_code"; $sql .= " FROM ".MAIN_DB_PREFIX."payment_various as v"; @@ -192,14 +119,11 @@ // Search criteria if ($search_ref) $sql .= " AND v.rowid=".$db->escape($search_ref); if ($search_label) $sql .= natural_search(array('v.label'), $search_label); -if ($search_datep_start) $sql .= " AND v.datep >= '".$db->idate($search_datep_start)."'"; -if ($search_datep_end) $sql .= " AND v.datep <= '".$db->idate($search_datep_end)."'"; -if ($search_datev_start) $sql .= " AND v.datev >= '".$db->idate($search_datev_start)."'"; -if ($search_datev_end) $sql .= " AND v.datev <= '".$db->idate($search_datev_end)."'"; +if ($search_date_start) $sql .= " AND v.datep >= '".$db->idate($search_date_start)."'"; +if ($search_date_end) $sql .= " AND v.datep <= '".$db->idate($search_date_end)."'"; if ($search_amount_deb) $sql .= natural_search("v.amount", $search_amount_deb, 1); if ($search_amount_cred) $sql .= natural_search("v.amount", $search_amount_cred, 1); -if ($search_bank_account > 0) $sql .= " AND b.fk_account=".$db->escape($search_bank_account); -if ($search_bank_entry > 0) $sql .= " AND b.fk_account=".$db->escape($search_bank_account); +if ($search_account > 0) $sql .= " AND b.fk_account=".$db->escape($search_account); if ($search_accountancy_account > 0) $sql .= " AND v.accountancy_code=".$db->escape($search_accountancy_account); if ($search_accountancy_subledger > 0) $sql .= " AND v.subledger_account=".$db->escape($search_accountancy_subledger); if ($typeid > 0) $sql .= " AND v.fk_typepayment=".$typeid; @@ -207,7 +131,6 @@ $filtre = str_replace(":", "=", $filtre); $sql .= " AND ".$filtre; } -if ($search_all) $sql .= natural_search(array_keys($fieldstosearchall), $search_all); $sql .= $db->order($sortfield, $sortorder); @@ -223,19 +146,6 @@ if ($result) { $num = $db->num_rows($result); - - // Direct jump if only one record found - if ($num == 1 && !empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $search_all) - { - $obj = $db->fetch_object($result); - $id = $obj->rowid; - header("Location: ".DOL_URL_ROOT.'/compta/bank/various_payment/card.php?id='.$id); - exit; - } - - // must be place behind the last "header(...)" call - llxHeader(); - $i = 0; $total = 0; @@ -244,22 +154,22 @@ if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit); if ($search_ref) $param .= '&search_ref='.urlencode($search_ref); if ($search_label) $param .= '&search_label='.urlencode($search_label); - if ($search_datep_start) $param .= '&search_datep_start='.urlencode($search_datep_start); - if ($search_datep_end) $param .= '&search_datep_end='.urlencode($search_datep_end); - if ($search_datev_start) $param .= '&search_datev_start='.urlencode($search_datev_start); - if ($search_datev_end) $param .= '&search_datev_end='.urlencode($search_datev_end); - if ($typeid > 0) $param .= '&typeid='.urlencode($typeid); - if ($search_amount_deb) $param .= '&search_amount_deb='.urlencode($search_amount_deb); - if ($search_amount_cred) $param .= '&search_amount_cred='.urlencode($search_amount_cred); - if ($search_bank_account > 0) $param .= '&search_account='.urlencode($search_bank_account); + if ($search_date_start) $param .= '&search_date_start='.urlencode($search_date_start); + if ($search_date_end) $param .= '&search_date_end='.urlencode($search_date_end); + if ($typeid > 0) $param .= '&typeid='.urlencode($typeid); + if ($search_amount_deb) $param .= '&search_amount_deb='.urlencode($search_amount_deb); + if ($search_amount_cred) $param .= '&search_amount_cred='.urlencode($search_amount_cred); + if ($search_account > 0) $param .= '&search_amount='.urlencode($search_account); if ($search_accountancy_account > 0) $param .= '&search_accountancy_account='.urlencode($search_accountancy_account); if ($search_accountancy_subledger > 0) $param .= '&search_accountancy_subledger='.urlencode($search_accountancy_subledger); if ($optioncss != '') $param .= '&optioncss='.urlencode($optioncss); - $url = DOL_URL_ROOT.'/compta/bank/various_payment/card.php?action=create'; - if (!empty($socid)) $url .= '&socid='.$socid; - $newcardbutton = dolGetButtonTitle($langs->trans('MenuNewVariousPayment'), '', 'fa fa-plus-circle', $url, '', $user->rights->banque->modifier); + $newcardbutton = ''; + if ($user->rights->banque->modifier) + { + $newcardbutton .= dolGetButtonTitle($langs->trans('MenuNewVariousPayment'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/compta/bank/various_payment/card.php?action=create'); + } print '
'; @@ -269,106 +179,59 @@ print ''; print ''; print ''; - print ''; print_barre_liste($langs->trans("MenuVariousPayment"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $totalnboflines, 'object_payment', 0, $newcardbutton, '', $limit, 0, 0, 1); - if ($search_all) - { - foreach ($fieldstosearchall as $key => $val) $fieldstosearchall[$key] = $langs->trans($val); - print '
'.$langs->trans("FilterOnInto", $search_all).join(', ', $fieldstosearchall).'
'; - } - - $varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage; - $selectedfields = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields - print '
'; - print ''; + print '
'."\n"; print ''; - if (!empty($conf->global->MAIN_VIEW_LINE_NUMBER_IN_LIST)) { + // Ref + print ''; + + // Label + print ''; + + // Date + print ''; + + // Type + print ''; + + // Account + if (!empty($conf->banque->enabled)) + { print ''; - } - - // Ref - if ($arrayfields['ref']['checked']) { - print ''; - } - - // Label - if ($arrayfields['label']['checked']) { - print ''; - } - - // Payment date - if ($arrayfields['datep']['checked']) { - print ''; - } - - // Value date - if ($arrayfields['datev']['checked']) { - print ''; - } - - // Payment type - if ($arrayfields['type']['checked']) { - print ''; - } - - // Project - if ($arrayfields['project']['checked']) { - print ''; - } - - // Bank account - if ($arrayfields['bank']['checked']) { - print ''; - } - - // Bank entry - if ($arrayfields['entry']['checked']) { - print ''; } // Accounting account - if ($arrayfields['account']['checked']) { + if (!empty($conf->accounting->enabled)) + { + // Accounting account print ''; - } - - // Subledger account - if ($arrayfields['subledger']['checked']) { + + // Subledger account print ''; - } + print ''; // Credit - if ($arrayfields['credit']['checked']) { - print ''; - } + print ''; print ''; - print ''; + print "\n"; + print ''; - - if (!empty($conf->global->MAIN_VIEW_LINE_NUMBER_IN_LIST)) print_liste_field_titre('#', $_SERVER['PHP_SELF'], '', '', $param, '', $sortfield, $sortorder); - - if ($arrayfields['ref']['checked']) print_liste_field_titre($arrayfields['ref']['label'], $_SERVER["PHP_SELF"], 'v.rowid', '', $param, '', $sortfield, $sortorder); - if ($arrayfields['label']['checked']) print_liste_field_titre($arrayfields['label']['label'], $_SERVER["PHP_SELF"], 'v.label', '', $param, '', $sortfield, $sortorder, 'left '); - if ($arrayfields['datep']['checked']) print_liste_field_titre($arrayfields['datep']['label'], $_SERVER["PHP_SELF"], 'v.datep,v.rowid', '', $param, '', $sortfield, $sortorder, 'center '); - if ($arrayfields['datev']['checked']) print_liste_field_titre($arrayfields['datev']['label'], $_SERVER["PHP_SELF"], 'v.datev,v.rowid', '', $param, '', $sortfield, $sortorder, 'center '); - if ($arrayfields['type']['checked']) print_liste_field_titre($arrayfields['type']['label'], $_SERVER["PHP_SELF"], 'type', '', $param, '', $sortfield, $sortorder, 'left '); - if ($arrayfields['project']['checked']) print_liste_field_titre($arrayfields['project']['label'], $_SERVER["PHP_SELF"], 'fk_project', '', $param, '', $sortfield, $sortorder); - if ($arrayfields['bank']['checked']) print_liste_field_titre($arrayfields['bank']['label'], $_SERVER["PHP_SELF"], 'ba.label', '', $param, '', $sortfield, $sortorder); - if ($arrayfields['entry']['checked']) print_liste_field_titre($arrayfields['entry']['label'], $_SERVER["PHP_SELF"], 'ba.label', '', $param, '', $sortfield, $sortorder); - if ($arrayfields['account']['checked']) print_liste_field_titre($arrayfields['account']['label'], $_SERVER["PHP_SELF"], 'v.accountancy_code', '', $param, '', $sortfield, $sortorder, 'left '); - if ($arrayfields['subledger']['checked']) print_liste_field_titre($arrayfields['subledger']['label'], $_SERVER["PHP_SELF"], 'v.subledger_account', '', $param, '', $sortfield, $sortorder, 'left '); - if ($arrayfields['debit']['checked']) print_liste_field_titre($arrayfields['debit']['label'], $_SERVER["PHP_SELF"], 'v.amount', '', $param, '', $sortfield, $sortorder, 'right '); - if ($arrayfields['credit']['checked']) print_liste_field_titre($arrayfields['credit']['label'], $_SERVER["PHP_SELF"], 'v.amount', '', $param, '', $sortfield, $sortorder, 'right '); - - // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'param'=>$param, 'sortfield'=>$sortfield, 'sortorder'=>$sortorder); - $reshook = $hookmanager->executeHooks('printFieldListOption', $parameters); // Note that $action and $object may have been modified by hook - print $hookmanager->resPrint; - - print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], '', '', '', '', $sortfield, $sortorder, 'maxwidthsearch '); - print ''; + print_liste_field_titre("Ref", $_SERVER["PHP_SELF"], "v.rowid", "", $param, "", $sortfield, $sortorder); + print_liste_field_titre("Label", $_SERVER["PHP_SELF"], "v.label", "", $param, '', $sortfield, $sortorder, 'left '); + print_liste_field_titre("DatePayment", $_SERVER["PHP_SELF"], "v.datep,v.rowid", "", $param, '', $sortfield, $sortorder, 'center '); + print_liste_field_titre("PaymentMode", $_SERVER["PHP_SELF"], "type", "", $param, '', $sortfield, $sortorder, 'left '); + if (!empty($conf->banque->enabled)) print_liste_field_titre("BankAccount", $_SERVER["PHP_SELF"], "ba.label", "", $param, "", $sortfield, $sortorder); + if (!empty($conf->accounting->enabled)) print_liste_field_titre("AccountAccountingShort", $_SERVER["PHP_SELF"], "v.accountancy_code", "", $param, '', $sortfield, $sortorder, 'left '); + if (!empty($conf->accounting->enabled)) print_liste_field_titre("SubledgerAccount", $_SERVER["PHP_SELF"], "v.subledger_account", "", $param, '', $sortfield, $sortorder, 'left '); + print_liste_field_titre("Debit", $_SERVER["PHP_SELF"], "v.amount", "", $param, '', $sortfield, $sortorder, 'right '); + print_liste_field_titre("Credit", $_SERVER["PHP_SELF"], "v.amount", "", $param, '', $sortfield, $sortorder, 'right '); + print_liste_field_titre('', $_SERVER["PHP_SELF"], "", '', '', '', $sortfield, $sortorder, 'maxwidthsearch '); + print "\n"; $totalarray = array(); @@ -428,68 +272,31 @@ { $obj = $db->fetch_object($result); + print ''; + $variousstatic->id = $obj->rowid; $variousstatic->ref = $obj->rowid; - $variousstatic->label = $obj->label; - - print ''; - - // No - if (!empty($conf->global->MAIN_VIEW_LINE_NUMBER_IN_LIST)) { - print ''; - } // Ref - if ($arrayfields['ref']['checked']) { - print '"; - if (!$i) $totalarray['nbfield']++; - } + print "\n"; + if (!$i) $totalarray['nbfield']++; // Label payment - if ($arrayfields['label']['checked']) { - print '"; - if (!$i) $totalarray['nbfield']++; - } + print "\n"; + if (!$i) $totalarray['nbfield']++; // Date payment - if ($arrayfields['datep']['checked']) { - print '"; - if (!$i) $totalarray['nbfield']++; - } - - - // Date value - if ($arrayfields['datev']['checked']) { - print '"; - if (!$i) $totalarray['nbfield']++; - } + print '\n"; + if (!$i) $totalarray['nbfield']++; // Type - if ($arrayfields['type']['checked']) { + print ''; + if (!$i) $totalarray['nbfield']++; + + // Account + if (!empty($conf->banque->enabled)) + { print ''; - if (!$i) $totalarray['nbfield']++; - } - - // Project - if ($arrayfields['project']['checked']) { - print ''; - if (!$i) $totalarray['nbfield']++; - } - - // Bank account - if ($arrayfields['bank']['checked']) { - print ''; if (!$i) $totalarray['nbfield']++; } - // Bank entry - if ($arrayfields['entry']['checked']) { - $bankline->fetch($obj->fk_bank); - print ''; - if (!$i) $totalarray['nbfield']++; - } - // Accounting account - if ($arrayfields['account']['checked']) { + if (!empty($conf->accounting->enabled)) { + $accountingaccount = new AccountingAccount($db); $accountingaccount->fetch('', $obj->accountancy_code, 1); print ''; @@ -527,42 +329,38 @@ } // Accounting subledger account - if ($arrayfields['subledger']['checked']) { + if (!empty($conf->accounting->enabled)) + { print ''; if (!$i) $totalarray['nbfield']++; } // Debit - if ($arrayfields['debit']['checked']) { - print ''; - } + print ''; // Credit - if ($arrayfields['credit']['checked']) { - print ''; - } - + print ''; print ''; if (!$i) $totalarray['nbfield']++; - print ""; + print "\n"; $i++; } @@ -575,7 +373,9 @@ print ''; $db->free($result); -} else { +} +else +{ dol_print_error($db); }
'; + print ''; + print ''; + print '
'; + print $langs->trans('From').' '; + print $form->selectDate($search_date_start ? $search_date_start : -1, 'search_date_start', 0, 0, 1); + print '
'; + print '
'; + print $langs->trans('to').' '; + print $form->selectDate($search_date_end ? $search_date_end : -1, 'search_date_end', 0, 0, 1); + + print '
'; + print '
'; + $form->select_types_paiements($typeid, 'typeid', '', 0, 1, 1, 16); + print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
'; - print $form->selectDate($search_datep_start ? $search_datep_start : -1, 'search_date_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); - print '
'; - print '
'; - print $form->selectDate($search_datep_end ? $search_datep_end : -1, 'search_date_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to')); - print '
'; - print '
'; - print '
'; - print $form->selectDate($search_datev_start ? $search_datev_start : -1, 'search_date_value_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); - print '
'; - print '
'; - print $form->selectDate($search_datev_end ? $search_datev_end : -1, 'search_date_value_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to')); - print '
'; - print '
'; - $form->select_types_paiements($typeid, 'typeid', '', 0, 1, 1, 16, 1, 'maxwidth100'); - print ''; - // TODO - print ''; - $form->select_comptes($search_bank_account, 'search_account', 0, '', 1, '', 0, 'maxwidth100'); - print ''; - print ''; + $form->select_comptes($search_account, 'search_account', 0, '', 1); print ''; print '
'; print $formaccounting->select_account($search_accountancy_account, 'search_accountancy_account', 1, array(), 1, 1, 'maxwidth200'); print '
'; print '
'; print '
'; print $formaccounting->select_auxaccount($search_accountancy_subledger, 'search_accountancy_subledger', 1, 'maxwidth200'); @@ -377,50 +240,31 @@ } // Debit - if ($arrayfields['debit']['checked']) { - print '
'; - print ''; - print ''; - print ''; - print ''; $searchpicto = $form->showFilterAndCheckAddButtons(0); print $searchpicto; print '
'.(($offset * $limit) + $i).''.$variousstatic->getNomUrl(1)."".$variousstatic->getNomUrl(1)."'.$variousstatic->label."".dol_trunc($obj->label, 40)."'.dol_print_date($obj->datep, 'day')."'.dol_print_date($obj->datev, 'day')."'.dol_print_date($db->jdate($obj->datep), 'day')."'.$langs->trans("PaymentTypeShort".$obj->payment_code).' '.$obj->num_payment.''; - if ($obj->payment_code) { - print $langs->trans("PaymentTypeShort".$obj->payment_code); - print ' '; - } - print $obj->num_payment; - print ''; - if ($obj->fk_project > 0) { - $proj->fetch($obj->fk_project); - print $proj->getNomUrl(1); - } - print ''; if ($obj->bid > 0) { $accountstatic->id = $obj->bid; @@ -498,28 +305,23 @@ if (!empty($conf->accounting->enabled)) { $accountstatic->account_number = $obj->bank_account_number; + + $accountingjournal = new AccountingJournal($db); $accountingjournal->fetch($obj->accountancy_journal); $accountstatic->accountancy_journal = $accountingjournal->getNomUrl(0, 1, 1, '', 1); } $accountstatic->label = $obj->blabel; print $accountstatic->getNomUrl(1); - } else { - print ' '; } + else print ' '; print ''.$bankline->getNomUrl(1).''.$accountingaccount->getNomUrl(0, 1, 1, '', 1).''.length_accounta($obj->subledger_account).''; - if ($obj->sens == 0) - { - print price($obj->amount); - $totalarray['val']['total_deb'] += $obj->amount; - } - if (!$i) $totalarray['nbfield']++; - if (!$i) $totalarray['pos'][$totalarray['nbfield']] = 'total_deb'; - print ''; + if ($obj->sens == 0) + { + print price($obj->amount); + $totalarray['val']['total_deb'] += $obj->amount; + } + if (!$i) $totalarray['nbfield']++; + if (!$i) $totalarray['pos'][$totalarray['nbfield']] = 'total_deb'; + print ''; - if ($obj->sens == 1) - { - print price($obj->amount); - $totalarray['val']['total_cred'] += $obj->amount; - } - if (!$i) $totalarray['nbfield']++; - if (!$i) $totalarray['pos'][$totalarray['nbfield']] = 'total_cred'; - print ''; + if ($obj->sens == 1) + { + print price($obj->amount); + $totalarray['val']['total_cred'] += $obj->amount; + } + if (!$i) $totalarray['nbfield']++; + if (!$i) $totalarray['pos'][$totalarray['nbfield']] = 'total_cred'; + print '