27require
'../../main.inc.php';
28require_once DOL_DOCUMENT_ROOT.
'/core/lib/accounting.lib.php';
29require_once DOL_DOCUMENT_ROOT.
'/accountancy/class/accountancycategory.class.php';
30require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formaccounting.class.php';
35$langs->loadLangs(array(
"bills",
"accountancy",
"compta"));
38$cancel =
GETPOST(
'cancel',
'alpha');
39$action =
GETPOST(
'action',
'aZ09');
40$cat_id =
GETPOST(
'account_category',
'int');
41$selectcpt =
GETPOST(
'cpt_bk',
'array');
42$cpt_id =
GETPOST(
'cptid',
'int');
49$limit =
GETPOST(
'limit',
'int') ?
GETPOST(
'limit',
'int') : $conf->liste_limit;
50$sortfield =
GETPOST(
'sortfield',
'aZ09comma');
51$sortorder =
GETPOST(
'sortorder',
'aZ09comma');
52$page = GETPOSTISSET(
'pageplusone') ? (
GETPOST(
'pageplusone') - 1) :
GETPOST(
"page",
'int');
53if (empty($page) || $page < 0 ||
GETPOST(
'button_search',
'alpha') ||
GETPOST(
'button_removefilter',
'alpha')) {
57$offset = $limit * $page;
61if (empty($sortfield)) {
62 $sortfield =
'account_number';
64if (empty($sortorder)) {
69if (!$user->hasRight(
'accounting',
'chartofaccount')) {
81if (!empty($selectcpt)) {
83 foreach ($selectcpt as $selectedoption) {
84 if (!array_key_exists($selectedoption, $cpts)) {
85 $cpts[$selectedoption] =
"'".$selectedoption.
"'";
89 $return = $accountingcategory->updateAccAcc($cat_id, $cpts);
92 setEventMessages($langs->trans(
'errors'), $accountingcategory->errors,
'errors');
94 setEventMessages($langs->trans(
'RecordModifiedSuccessfully'),
null,
'mesgs');
98if ($action ==
'delete') {
100 if ($accountingcategory->deleteCptCat($cpt_id)) {
113$form =
new Form($db);
116$help_url =
'EN:Module_Double_Entry_Accounting#Setup|FR:Module_Comptabilité_en_Partie_Double#Configuration';
118llxHeader(
'', $langs->trans(
'AccountingCategory'), $help_url);
120$linkback =
'<a href="'.DOL_URL_ROOT.
'/accountancy/admin/categories_list.php?restore_lastsearch_values=1">'.$langs->trans(
"BackToList").
'</a>';
121$titlepicto =
'setup';
123print
load_fiche_titre($langs->trans(
'AccountingCategory'), $linkback, $titlepicto);
125print
'<form name="add" action="'.$_SERVER[
"PHP_SELF"].
'" method="POST">'.
"\n";
126print
'<input type="hidden" name="token" value="'.newToken().
'">';
127print
'<input type="hidden" name="action" value="display">';
131print
'<table class="border centpercent">';
134print
'<tr><td class="titlefield">'.$langs->trans(
"AccountingCategory").
'</td>';
136$s = $formaccounting->select_accounting_category($cat_id,
'account_category', 1, 0, 0, 0);
137if ($formaccounting->nbaccounts_category <= 0) {
138 print
'<span class="opacitymedium">'.$s.
'</span>';
141 print
'<input type="submit" class="button small" value="'.$langs->trans(
"Select").
'">';
151if (!empty($cat_id)) {
152 $return = $accountingcategory->getAccountsWithNoCategory($cat_id);
158 $arraykeyvalue = array();
159 foreach ($accountingcategory->lines_cptbk as $key => $val) {
160 $doc_ref = !empty($val->doc_ref) ? $val->doc_ref :
'';
161 $arraykeyvalue[
length_accountg($val->numero_compte)] =
length_accountg($val->numero_compte) .
' - ' . $val->label_compte . ($doc_ref ?
' '.$doc_ref :
'');
164 if (is_array($accountingcategory->lines_cptbk) && count($accountingcategory->lines_cptbk) > 0) {
165 print
img_picto($langs->trans(
"AccountingAccount"),
'accounting_account',
'class="pictofixedwith"');
166 print $form->multiselectarray(
'cpt_bk', $arraykeyvalue,
GETPOST(
'cpt_bk',
'array'),
null,
null,
'', 0,
"80%",
'',
'', $langs->transnoentitiesnoconv(
"AddAccountFromBookKeepingWithNoCategories"));
167 print
'<input type="submit" class="button button-add small" id="" class="action-delete" value="'.$langs->trans(
"Add").
'"> ';
174if ((empty($action) || $action ==
'display' || $action ==
'delete') && $cat_id > 0) {
175 $param =
'account_category='.((int) $cat_id);
178 print
'<table class="noborder centpercent">'.
"\n";
179 print
'<tr class="liste_titre">';
180 print
getTitleFieldOfList(
'AccountAccounting', 0, $_SERVER[
'PHP_SELF'],
'account_number',
'', $param,
'', $sortfield, $sortorder,
'').
"\n";
181 print
getTitleFieldOfList(
'Label', 0, $_SERVER[
'PHP_SELF'],
'label',
'', $param,
'', $sortfield, $sortorder,
'').
"\n";
182 print
getTitleFieldOfList(
'', 0, $_SERVER[
'PHP_SELF'],
'',
'', $param,
'', $sortfield, $sortorder,
'').
"\n";
185 if (!empty($cat_id)) {
186 $return = $accountingcategory->display($cat_id);
191 if (is_array($accountingcategory->lines_display) && count($accountingcategory->lines_display) > 0) {
192 $accountingcategory->lines_display =
dol_sort_array($accountingcategory->lines_display, $sortfield, $sortorder, -1, 0, 1);
194 foreach ($accountingcategory->lines_display as $cpt) {
195 print
'<tr class="oddeven">';
196 print
'<td>'.length_accountg($cpt->account_number).
'</td>';
197 print
'<td>'.$cpt->label.
'</td>';
198 print
'<td class="right">';
199 print
'<a href="'.$_SERVER[
'PHP_SELF'].
'?action=delete&token='.newToken().
'&account_category='.$cat_id.
'&cptid='.$cpt->rowid.
'">';
200 print $langs->trans(
"DeleteFromCat");
201 print
img_picto($langs->trans(
"DeleteFromCat"),
'unlink',
'class="paddingleft"');
207 print
'<tr><td colspan="3"><span class="opacitymedium">'.$langs->trans(
"NoRecordFound").
'</span></td></tr>';
length_accountg($account)
Return General accounting account with defined length (used for product and miscellaneous)
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader()
Empty header.
Class to manage categories of an accounting account.
load_fiche_titre($titre, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='', $dragdropfile=0)
Show tabs of a record.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=false, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
dol_sort_array(&$array, $index, $order='asc', $natsort=0, $case_sensitive=0, $keepindex=0)
Advanced sort array by second index function, which produces ascending (default) or descending output...
getTitleFieldOfList($name, $thead=0, $file="", $field="", $begin="", $moreparam="", $moreattrib="", $sortfield="", $sortorder="", $prefix="", $disablesortlink=0, $tooltip='', $forcenowrapcolumntitle=0)
Get title line of an array.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0)
Set event messages in dol_events session object.
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.