diff --git a/htdocs/compta/bank/class/account.class.php b/htdocs/compta/bank/class/account.class.php index c25bc073d1f..b0437ee9e1b 100644 --- a/htdocs/compta/bank/class/account.class.php +++ b/htdocs/compta/bank/class/account.class.php @@ -848,6 +848,7 @@ class Account extends CommonObject $sql.= " ba.domiciliation, ba.proprio, ba.owner_address, ba.state_id, ba.fk_pays as country_id,"; $sql.= " ba.account_number, ba.accountancy_journal, ba.currency_code,"; $sql.= " ba.min_allowed, ba.min_desired, ba.comment,"; + $sql.= " ba.datec as date_creation, ba.tms as date_update,"; $sql.= ' c.code as country_code, c.label as country,'; $sql.= ' d.code_departement as state_code, d.nom as state'; $sql.= " FROM ".MAIN_DB_PREFIX."bank_account as ba"; @@ -903,6 +904,9 @@ class Account extends CommonObject $this->min_desired = $obj->min_desired; $this->comment = $obj->comment; + $this->date_creation = $this->db->jdate($obj->date_creation); + $this->date_update = $this->db->jdate($obj->date_update); + // Retreive all extrafield for thirdparty // fetch optionals attributes and labels require_once(DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'); @@ -910,7 +914,6 @@ class Account extends CommonObject $extralabels=$extrafields->fetch_name_optionals_label($this->table_element,true); $this->fetch_optionals($this->id,$extralabels); - return 1; } else diff --git a/htdocs/compta/bank/index.php b/htdocs/compta/bank/index.php index 56735d15fce..17650605d04 100644 --- a/htdocs/compta/bank/index.php +++ b/htdocs/compta/bank/index.php @@ -32,6 +32,7 @@ require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; $langs->load("banks"); $langs->load("categories"); +$langs->load("accountancy"); $action=GETPOST('action','alpha'); $massaction=GETPOST('massaction','alpha'); @@ -82,9 +83,10 @@ $fieldstosearchall = array( $checkedtypetiers=0; $arrayfields=array( 'b.ref'=>array('label'=>$langs->trans("BankAccounts"), 'checked'=>1), - 'accountype'=>array('label'=>$langs->trans("AccountType"), 'checked'=>1), + 'accountype'=>array('label'=>$langs->trans("Type"), 'checked'=>1), 'b.label'=>array('label'=>$langs->trans("Label"), 'checked'=>1), 'b.number'=>array('label'=>$langs->trans("AccountIdShort"), 'checked'=>1), + 'b.account_number'=>array('label'=>$langs->trans("AccountAccounting"), 'checked'=>$conf->accountancy->enabled), 'toreconcile'=>array('label'=>$langs->trans("TransactionsToConciliate"), 'checked'=>1), 'b.datec'=>array('label'=>$langs->trans("DateCreation"), 'checked'=>0, 'position'=>500), 'b.tms'=>array('label'=>$langs->trans("DateModificationShort"), 'checked'=>0, 'position'=>500), @@ -137,7 +139,7 @@ $title=$langs->trans('BankAccounts'); // Load array of financial accounts (opened by default) $accounts = array(); -$sql = "SELECT rowid, label, courant, rappro"; +$sql = "SELECT rowid, label, courant, rappro, account_number, datec as date_creation, tms as date_update"; // Add fields from extrafields foreach ($extrafields->attribute_label as $key => $val) $sql.=($extrafields->attribute_type[$key] != 'separate' ? ",ef.".$key.' as options_'.$key : ''); // Add fields from hooks @@ -272,7 +274,7 @@ if (! empty($moreforfilter)) } $varpage=empty($contextpage)?$_SERVER["PHP_SELF"]:$contextpage; -//$selectedfields=$form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields +$selectedfields=$form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields print '
| '; + print ' | '; +} // Transactions to reconcile if (! empty($arrayfields['toreconcile']['checked'])) { @@ -390,7 +401,10 @@ if (! empty($arrayfields['b.clos']['checked'])) print ''; } // Balance -print ''; +if (! empty($arrayfields['balance']['checked'])) +{ + print ' | '; +} // Action column print ' | '; $searchpitco=$form->showFilterAndCheckAddButtons($massactionbutton?1:0, 'checkforselect', 1); @@ -415,32 +429,112 @@ foreach ($accounts as $key=>$type) $solde = $acc->solde(1); print ' | |||||||||||||||
| '.$acc->getNomUrl(1).' | '; - print ''.$acc->label.' | '; - print ''; - print $acc->type_lib[$acc->type]; - print ' | '; - print ''.$acc->number.' | '; - print ''; - if ($acc->rappro) + + // Ref + if (! empty($arrayfields['b.ref']['checked'])) + { + print ' | '.$acc->getNomUrl(1).' | '; + } + + // Label + if (! empty($arrayfields['b.label']['checked'])) + { + print ''.$acc->label.' | '; + } + + // Account type + if (! empty($arrayfields['accountype']['checked'])) + { + print ''; + print $acc->type_lib[$acc->type]; + print ' | '; + } + + // Number + if (! empty($arrayfields['b.number']['checked'])) + { + print ''.$acc->number.' | '; + } + + // Account number + if (! empty($arrayfields['b.account_number']['checked'])) + { + include_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php'; + print ''.length_accountg($acc->account_number).' | '; + } + + // Transactions to reconcile + if (! empty($arrayfields['toreconcile']['checked'])) + { + print ''; + if ($acc->rappro) + { + $result=$acc->load_board($user,$acc->id); + if ($result<0) { + setEventMessages($acc->error, $acc->errors, 'errors'); + } else { + print $result->nbtodo; + if ($result->nbtodolate) print ' ('.$result->nbtodolate.img_warning($langs->trans("Late")).')'; + } + } + else print $langs->trans("FeatureDisabled"); + print ' | '; + } + + + // Extra fields + if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label)) { - $result=$acc->load_board($user,$acc->id); - if ($result<0) { - setEventMessages($acc->error, $acc->errors, 'errors'); - } else { - print $result->nbtodo; - if ($result->nbtodolate) print ' ('.$result->nbtodolate.img_warning($langs->trans("Late")).')'; - } + foreach($extrafields->attribute_label as $key => $val) + { + if (! empty($arrayfields["ef.".$key]['checked'])) + { + print 'getAlignFlag($key); + if ($align) print ' align="'.$align.'"'; + print '>'; + $tmpkey='options_'.$key; + print $extrafields->showOutputField($key, $obj->$tmpkey, '', 1); + print ' | '; + if (! $i) $totalarray['nbfield']++; + } + } } - else print $langs->trans("FeatureDisabled"); - print ''; - // Status - print ''.$acc->getLibStatut(5).' | '; - // - print ''; - print ''.price($solde, 0, $langs, 0, 0, -1, $acc->currency_code).''; - print ' | '; - + // Fields from hook + $parameters=array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $reshook=$hookmanager->executeHooks('printFieldListValue',$parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + // Date creation + if (! empty($arrayfields['b.datec']['checked'])) + { + print ''; + print dol_print_date($acc->date_creation, 'dayhour'); + print ' | '; + if (! $i) $totalarray['nbfield']++; + } + // Date modification + if (! empty($arrayfields['b.tms']['checked'])) + { + print ''; + print dol_print_date($acc->date_update, 'dayhour'); + print ' | '; + if (! $i) $totalarray['nbfield']++; + } + + // Statut + if (! empty($arrayfields['b.clos']['checked'])) + { + print ''.$acc->getLibStatut(5).' | '; + } + + // Balance + if (! empty($arrayfields['balance']['checked'])) + { + print ''; + print ''.price($solde, 0, $langs, 0, 0, -1, $acc->currency_code).''; + print ' | '; + } + // Action column print ''; if ($massactionbutton || $massaction) // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined |