From 9e2a0cb671ffce328d10ee54d60ab0e531ff8b81 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Tue, 9 Sep 2014 09:46:57 +0200 Subject: [PATCH] Fix: debug of accountancy module --- htdocs/{ => accountancy}/admin/fiscalyear.php | 24 ++- .../admin/fiscalyear_card.php | 63 +++---- .../admin/fiscalyear_info.php | 10 +- htdocs/accountancy/journal/sellsjournal.php | 84 +++++----- htdocs/core/class/fiscalyear.class.php | 37 +++-- htdocs/core/lib/fiscalyear.lib.php | 6 +- htdocs/core/menus/standard/eldy.lib.php | 19 ++- htdocs/core/modules/modAccounting.class.php | 154 +++++++++--------- 8 files changed, 201 insertions(+), 196 deletions(-) rename htdocs/{ => accountancy}/admin/fiscalyear.php (92%) rename htdocs/{ => accountancy}/admin/fiscalyear_card.php (93%) rename htdocs/{ => accountancy}/admin/fiscalyear_info.php (94%) diff --git a/htdocs/admin/fiscalyear.php b/htdocs/accountancy/admin/fiscalyear.php similarity index 92% rename from htdocs/admin/fiscalyear.php rename to htdocs/accountancy/admin/fiscalyear.php index dfb404b0b6b..5907c754644 100644 --- a/htdocs/admin/fiscalyear.php +++ b/htdocs/accountancy/admin/fiscalyear.php @@ -16,12 +16,12 @@ */ /** - * \file htdocs/admin/fiscalyear.php + * \file htdocs/accountancy/admin/fiscalyear.php * \ingroup fiscal year * \brief Setup page to configure fiscal year */ -require '../main.inc.php'; +require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/fiscalyear.class.php'; @@ -55,6 +55,8 @@ $object = new Fiscalyear($db); * View */ +$max=100; + $form = new Form($db); llxHeader('',$title); @@ -68,16 +70,13 @@ $sql.= " FROM ".MAIN_DB_PREFIX."accounting_fiscalyear as f"; $sql.= " WHERE f.entity = ".$conf->entity; $result = $db->query($sql); - -$max=10; - if ($result) { $var=false; $num = $db->num_rows($result); $i = 0; - + // Load attribute_label print '<table class="noborder" width="100%">'; print '<tr class="liste_titre">'; @@ -85,13 +84,13 @@ if ($result) print '<td>'.$langs->trans("Label").'</td>'; print '<td>'.$langs->trans("DateStart").'</td>'; print '<td>'.$langs->trans("DateEnd").'</td>'; - print '<td>'.$langs->trans("Statut").'</td>'; + print '<td align="right">'.$langs->trans("Statut").'</td>'; print '</tr>'; - + if ($num) { $fiscalyearstatic=new Fiscalyear($db); - + while ($i < $num && $i < $max) { $obj = $db->fetch_object($result); @@ -102,7 +101,7 @@ if ($result) print '<td align="left">'.$obj->label.'</td>'; print '<td align="left">'.dol_print_date($db->jdate($obj->date_start),'day').'</td>'; print '<td align="left">'.dol_print_date($db->jdate($obj->date_end),'day').'</td>'; - print '<td>'.$fiscalyearstatic->LibStatut($obj->statut,5).'</td>'; + print '<td align="right">'.$fiscalyearstatic->LibStatut($obj->statut,5).'</td>'; print '</tr>'; $var=!$var; $i++; @@ -113,10 +112,9 @@ if ($result) { print '<tr '.$bc[$var].'><td colspan="5">'.$langs->trans("None").'</td></tr>'; } - + print '</table>'; - print '</form>'; -} +} else { dol_print_error($db); diff --git a/htdocs/admin/fiscalyear_card.php b/htdocs/accountancy/admin/fiscalyear_card.php similarity index 93% rename from htdocs/admin/fiscalyear_card.php rename to htdocs/accountancy/admin/fiscalyear_card.php index b30cf2a69fc..423ac88b490 100644 --- a/htdocs/admin/fiscalyear_card.php +++ b/htdocs/accountancy/admin/fiscalyear_card.php @@ -16,11 +16,11 @@ */ /** - * \file htdocs/admin/fiscalyear_card.php + * \file htdocs/accountancy/admin/fiscalyear_card.php * \brief Page to show a fiscal year */ -require '../main.inc.php'; +require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/fiscalyear.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/fiscalyear.class.php'; @@ -51,6 +51,7 @@ $object = new Fiscalyear($db); $date_start=dol_mktime(0,0,0,GETPOST('fiscalyearmonth','int'),GETPOST('fiscalyearday','int'),GETPOST('fiscalyearyear','int')); $date_end=dol_mktime(0,0,0,GETPOST('fiscalyearendmonth','int'),GETPOST('fiscalyearendday','int'),GETPOST('fiscalyearendyear','int')); + /* * Actions */ @@ -74,9 +75,7 @@ else if ($action == 'add') if (! GETPOST('cancel','alpha')) { $error=0; - - $db->begin(); - + $object->date_start = $date_start; $object->date_end = $date_end; $object->label = GETPOST('label','alpha'); @@ -96,21 +95,27 @@ else if ($action == 'add') if (! $error) { - $id = $object->create($user); + $db->begin(); + + $id = $object->create($user); if ($id > 0) { + $db->commit(); + header("Location: " . $_SERVER["PHP_SELF"] . "?id=" . $id); exit; } else - { - setEventMessage($object->error, 'errors'); + { + $db->rollback(); + + setEventMessage($object->error, 'errors'); $action='create'; } } else - { + { $action='create'; } } @@ -127,7 +132,7 @@ else if ($action == 'update') if (! GETPOST('cancel','alpha')) { $result = $object->fetch($id); - + $object->date_start = empty($_POST["fiscalyear"])?'':$date_start; $object->date_end = empty($_POST["fiscalyearend"])?'':$date_end; $object->label = GETPOST('label','alpha'); @@ -175,7 +180,7 @@ if ($action == 'create') // Label print '<tr><td class="fieldrequired">'.$langs->trans("Label").'</td><td><input name="label" size="32" value="' . GETPOST("label") . '"></td></tr>'; - + // Date start print '<tr><td class="fieldrequired">'.$langs->trans("DateStart").'</td><td>'; print $form->select_date(($date_start?$date_start:''),'fiscalyear'); @@ -185,7 +190,7 @@ if ($action == 'create') print '<tr><td class="fieldrequired">'.$langs->trans("DateEnd").'</td><td>'; print $form->select_date(($date_end?$date_end:-1),'fiscalyearend'); print '</td></tr>'; - + // Statut print '<tr>'; print '<td class="fieldrequired">'.$langs->trans("Statut").'</td>'; @@ -207,11 +212,11 @@ else if ($id) { $head = fiscalyear_prepare_head($object); - dol_fiche_head($head, 'card', $langs->trans("FiscalYearCard"), 0, 'cron'); - if ($action == 'edit') { - print '<form name="update" action="' . $_SERVER["PHP_SELF"] . '" method="POST">' . "\n"; + dol_fiche_head($head, 'card', $langs->trans("FiscalYearCard"), 0, 'cron'); + + print '<form name="update" action="' . $_SERVER["PHP_SELF"] . '" method="POST">' . "\n"; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="action" value="update">'; print '<input type="hidden" name="id" value="'.$id.'">'; @@ -223,12 +228,12 @@ else if ($id) print '<td width="20%">'.$langs->trans("Ref").'</td><td>'; print $object->ref; print '</td></tr>'; - + // Label print '<tr><td class="fieldrequired">'.$langs->trans("Label").'</td><td>'; print '<input name="label" class="flat" size="32" value="'.$object->label.'">'; print '</td></tr>'; - + // Date start print '<tr><td class="fieldrequired">'.$langs->trans("DateStart").'</td><td>'; print $form->select_date($object->date_start?$object->date_start:-1,'fiscalyear'); @@ -238,7 +243,7 @@ else if ($id) print '<tr><td class="fieldrequired">'.$langs->trans("DateEnd").'</td><td>'; print $form->select_date($object->date_end?$object->date_end:-1,'fiscalyearend'); print '</td></tr>'; - + // Statut print '<tr><td>'.$langs->trans("Statut").'</td><td>'; print $form->selectarray('statut',$statut2label,$object->statut); @@ -252,7 +257,7 @@ else if ($id) print '</form>'; - print '</div>'; + dol_fiche_end(); } else { @@ -264,18 +269,20 @@ else if ($id) print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$id,$langs->trans("DeleteFiscalYear"),$langs->trans("ConfirmDeleteFiscalYear"),"confirm_delete"); } - - print '<table class="border" width="100%">'; + + dol_fiche_head($head, 'card', $langs->trans("FiscalYearCard"), 0, 'cron'); + + print '<table class="border" width="100%">'; $linkback = '<a href="'.DOL_URL_ROOT.'/admin/fiscalyear.php">'.$langs->trans("BackToList").'</a>'; - + // Ref print '<tr><td width="25%">'.$langs->trans("Ref").'</td><td width="50%">'; print $object->ref; print '</td><td width="25%">'; print $linkback; print '</td></tr>'; - + // Label print '<tr><td valign="top">'; print $form->editfieldkey("Label",'label',$object->label,$object,$conf->global->MAIN_EDIT_ALSO_INLINE,'alpha:32'); @@ -289,7 +296,7 @@ else if ($id) print '</td><td colspan="2">'; print $form->editfieldval("Date",'date_start',$object->date_start,$object,$conf->global->MAIN_EDIT_ALSO_INLINE,'datepicker'); print '</td></tr>'; - + // Date end print '<tr><td>'; print $form->editfieldkey("Date",'date_end',$object->date_end,$object,$conf->global->MAIN_EDIT_ALSO_INLINE,'datepicker'); @@ -300,9 +307,9 @@ else if ($id) // Statut print '<tr><td>'.$langs->trans("Status").'</td><td colspan="2">'.$object->getLibStatut(4).'</td></tr>'; - print "</table><br>"; + print "</table>"; - print '</div>'; + dol_fiche_end(); /* * Barre d'actions @@ -311,9 +318,9 @@ else if ($id) print '<div class="tabsAction">'; print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=edit&id='.$id.'">'.$langs->trans('Modify').'</a>'; - + print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?action=delete&id='.$id.'">'.$langs->trans('Delete').'</a>'; - + print '</div>'; } } diff --git a/htdocs/admin/fiscalyear_info.php b/htdocs/accountancy/admin/fiscalyear_info.php similarity index 94% rename from htdocs/admin/fiscalyear_info.php rename to htdocs/accountancy/admin/fiscalyear_info.php index c59d75c8376..b6fa546edff 100644 --- a/htdocs/admin/fiscalyear_info.php +++ b/htdocs/accountancy/admin/fiscalyear_info.php @@ -16,11 +16,11 @@ */ /** - * \file htdocs/admin/fiscalyear_card.php + * \file htdocs/accountancy/admin/fiscalyear_card.php * \brief Page to show info of a fiscal year */ -require '../main.inc.php'; +require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/fiscalyear.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; @@ -43,15 +43,15 @@ if ($id) $object = new Fiscalyear($db); $object->fetch($id); $object->info($id); - + $head = fiscalyear_prepare_head($object); - + dol_fiche_head($head, 'info', $langs->trans("FiscalYearCard"), 0, 'cron'); print '<table width="100%"><tr><td>'; dol_print_object_info($object); print '</td></tr></table>'; - + print '</div>'; } diff --git a/htdocs/accountancy/journal/sellsjournal.php b/htdocs/accountancy/journal/sellsjournal.php index f1f61b0062a..587a0d387a4 100644 --- a/htdocs/accountancy/journal/sellsjournal.php +++ b/htdocs/accountancy/journal/sellsjournal.php @@ -29,12 +29,12 @@ */ require '../../main.inc.php'; - + // Class require_once DOL_DOCUMENT_ROOT.'/core/lib/report.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'); +require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; require_once DOL_DOCUMENT_ROOT.'/societe/class/client.class.php'; require_once DOL_DOCUMENT_ROOT.'/accountancy/class/bookkeeping.class.php'; require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountingaccount.class.php'; @@ -118,16 +118,16 @@ if ($result) { $tabtva = array (); $tabttc = array (); $tabcompany = array (); - + $num = $db->num_rows($result); $i = 0; - + while ( $i < $num ) { $obj = $db->fetch_object($result); // les variables $cptcli = (! empty($conf->global->COMPTA_ACCOUNT_CUSTOMER)) ? $conf->global->COMPTA_ACCOUNT_CUSTOMER : $langs->trans("CodeNotDef"); $compta_soc = (! empty($obj->code_compta)) ? $obj->code_compta : $cptcli; - + $compta_prod = $obj->compte; if (empty($compta_prod)) { if ($obj->product_type == 0) @@ -137,7 +137,7 @@ if ($result) { } $cpttva = (! empty($conf->global->COMPTA_VAT_ACCOUNT)) ? $conf->global->COMPTA_VAT_ACCOUNT : $langs->trans("CodeNotDef"); $compta_tva = (! empty($obj->account_tva) ? $obj->account_tva : $cpttva); - + // Invoice lines $tabfac[$obj->rowid]["date"] = $obj->df; $tabfac[$obj->rowid]["ref"] = $obj->facnumber; @@ -156,9 +156,9 @@ if ($result) { $tabcompany[$obj->rowid] = array ( 'id' => $obj->socid, 'name' => $obj->name, - 'code_client' => $obj->code_compta + 'code_client' => $obj->code_compta ); - + $i ++; } } else { @@ -172,7 +172,7 @@ if ($result) { // Bookkeeping Write if ($action == 'writebookkeeping') { $now = dol_now(); - + foreach ( $tabfac as $key => $val ) { foreach ( $tabttc[$key] as $k => $mt ) { $bookkeeping = new BookKeeping($db); @@ -190,10 +190,10 @@ if ($action == 'writebookkeeping') { $bookkeeping->debit = ($mt >= 0) ? $mt : 0; $bookkeeping->credit = ($mt < 0) ? $mt : 0; $bookkeeping->code_journal = $conf->global->ACCOUNTING_SELL_JOURNAL; - + $bookkeeping->create(); } - + // Product / Service foreach ( $tabht[$key] as $k => $mt ) { if ($mt) { @@ -215,12 +215,12 @@ if ($action == 'writebookkeeping') { $bookkeeping->debit = ($mt < 0) ? $mt : 0; $bookkeeping->credit = ($mt >= 0) ? $mt : 0; $bookkeeping->code_journal = $conf->global->ACCOUNTING_SELL_JOURNAL; - + $bookkeeping->create(); } } } - + // VAT // var_dump($tabtva); foreach ( $tabtva[$key] as $k => $mt ) { @@ -241,7 +241,7 @@ if ($action == 'writebookkeeping') { $bookkeeping->debit = ($mt < 0) ? $mt : 0; $bookkeeping->credit = ($mt >= 0) ? $mt : 0; $bookkeeping->code_journal = $conf->global->ACCOUNTING_SELL_JOURNAL; - + $bookkeeping->create(); } } @@ -250,21 +250,21 @@ if ($action == 'writebookkeeping') { // export csv if ($action == 'export_csv') { $sep = $conf->global->ACCOUNTING_SEPARATORCSV; - + header('Content-Type: text/csv'); header('Content-Disposition: attachment;filename=journal_ventes.csv'); - + $companystatic = new Client($db); - + if ($conf->global->ACCOUNTING_MODELCSV == 1) // Modèle Export Cegid Expert { foreach ( $tabfac as $key => $val ) { $companystatic->id = $tabcompany[$key]['id']; $companystatic->name = $tabcompany[$key]['name']; $companystatic->client = $tabcompany[$key]['code_client']; - + $date = dol_print_date($db->jdate($val["date"]), '%d%m%Y'); - + print $date . $sep; print $conf->global->ACCOUNTING_SELL_JOURNAL . $sep; print length_accountg($conf->global->COMPTA_ACCOUNT_CUSTOMER) . $sep; @@ -276,7 +276,7 @@ if ($action == 'export_csv') { } print $val["ref"]; print "\n"; - + // Product / Service foreach ( $tabht[$key] as $k => $mt ) { if ($mt) { @@ -312,7 +312,7 @@ if ($action == 'export_csv') { $companystatic->id = $tabcompany[$key]['id']; $companystatic->name = $tabcompany[$key]['name']; $companystatic->client = $tabcompany[$key]['code_client']; - + $date = dol_print_date($db->jdate($val["date"]), 'day'); print '"' . $date . '"' . $sep; print '"' . $val["ref"] . '"' . $sep; @@ -323,7 +323,7 @@ if ($action == 'export_csv') { print '"' . ($mt < 0 ? price(- $mt) : '') . '"'; } print "\n"; - + // Product / Service foreach ( $tabht[$key] as $k => $mt ) { if ($mt) { @@ -336,7 +336,7 @@ if ($action == 'export_csv') { print "\n"; } } - + // VAT // var_dump($tabtva); foreach ( $tabtva[$key] as $k => $mt ) { @@ -353,11 +353,11 @@ if ($action == 'export_csv') { } } } else { - + $form = new Form($db); - + llxHeader('', $langs->trans("SellsJournal")); - + $nom = $langs->trans("SellsJournal"); $nomlink = ''; $periodlink = ''; @@ -370,11 +370,11 @@ if ($action == 'export_csv') { $description .= $langs->trans("DepositsAreIncluded"); $period = $form->select_date($date_start, 'date_start', 0, 0, 0, '', 1, 0, 1) . ' - ' . $form->select_date($date_end, 'date_end', 0, 0, 0, '', 1, 0, 1); report_header($nom, $nomlink, $period, $periodlink, $description, $builddate, $exportlink, array('action' => '')); - + print '<input type="button" class="button" style="float: right;" value="Export CSV" onclick="launch_export();" />'; - + print '<input type="button" class="button" value="' . $langs->trans("WriteBookKeeping") . '" onclick="writebookkeeping();" />'; - + print ' <script type="text/javascript"> function launch_export() { @@ -388,12 +388,12 @@ if ($action == 'export_csv') { $("div.fiche div.tabBar form input[name=\"action\"]").val(""); } </script>'; - + /* * Show result array */ print '<br><br>'; - + $i = 0; print "<table class=\"noborder\" width=\"100%\">"; print "<tr class=\"liste_titre\">"; @@ -404,23 +404,23 @@ if ($action == 'export_csv') { print "<td align='right'>" . $langs->trans("Debit") . "</td>"; print "<td align='right'>" . $langs->trans("Credit") . "</td>"; print "</tr>\n"; - + $var = true; $r = ''; - + $invoicestatic = new Facture($db); $companystatic = new Client($db); - + foreach ( $tabfac as $key => $val ) { $invoicestatic->id = $key; $invoicestatic->ref = $val["ref"]; $invoicestatic->type = $val["type"]; $invoicestatic->description = html_entity_decode(dol_trunc($val["description"], 32)); - + $date = dol_print_date($db->jdate($val["date"]), 'day'); - + print "<tr " . $bc[$var] . ">"; - + // Third party // print "<td>".$conf->global->COMPTA_JOURNAL_SELL."</td>"; print "<td>" . $date . "</td>"; @@ -436,7 +436,7 @@ if ($action == 'export_csv') { print "<td align='right'>" . ($mt < 0 ? price(- $mt) : '') . "</td>"; } print "</tr>"; - + // Product / Service foreach ( $tabht[$key] as $k => $mt ) { if ($mt) { @@ -451,7 +451,7 @@ if ($action == 'export_csv') { print "</tr>"; } } - + // VAT // var_dump($tabtva); foreach ( $tabtva[$key] as $k => $mt ) { @@ -467,12 +467,12 @@ if ($action == 'export_csv') { print "</tr>"; } } - + $var = ! $var; } - + print "</table>"; - + // End of page llxFooter(); } diff --git a/htdocs/core/class/fiscalyear.class.php b/htdocs/core/class/fiscalyear.class.php index 39e72ff7416..1abde51c263 100644 --- a/htdocs/core/class/fiscalyear.class.php +++ b/htdocs/core/class/fiscalyear.class.php @@ -54,7 +54,7 @@ class Fiscalyear function __construct($db) { $this->db = $db; - + $this->statuts_short = array(0 => 'Opened', 1 => 'Closed'); $this->statuts = array(0 => 'Opened', 1 => 'Closed'); @@ -70,9 +70,9 @@ class Fiscalyear function create($user) { global $conf; - + $error = 0; - + $now=dol_now(); $this->db->begin(); @@ -88,7 +88,7 @@ class Fiscalyear $sql.= ") VALUES ("; $sql.= " '".$this->label."'"; $sql.= ", '".$this->db->idate($this->date_start)."'"; - $sql.= ", '".$this->db->idate($this->date_end)."'"; + $sql.= ", ".($this->date_end ? "'".$this->db->idate($this->date_end)."'":"null"); $sql.= ", ".$this->statut; $sql.= ", ".$conf->entity; $sql.= ", '".$this->db->idate($now)."'"; @@ -109,19 +109,19 @@ class Fiscalyear } else { - $this->error=$this->db->error(); + $this->error=$this->db->lasterror(); $this->db->rollback(); return $result; } } else { - $this->error=$this->db->error()." sql=".$sql; + $this->error=$this->db->lasterror()." sql=".$sql; $this->db->rollback(); return -1; } } - + /** * Update record * @@ -138,15 +138,15 @@ class Fiscalyear $this->error='ErrorBadParameter'; return -1; } - + $this->db->begin(); - $sql = "UPDATE ".MAIN_DB_PREFIX."accounting_fiscalyear "; + $sql = "UPDATE ".MAIN_DB_PREFIX."accounting_fiscalyear"; $sql .= " SET label = '".$this->label."'"; $sql .= ", date_start = '".$this->db->idate($this->date_start)."'"; - $sql .= ", date_end = '".$this->db->idate($this->date_end)."'"; + $sql .= ", date_end = ".($this->date_end ? "'".$this->db->idate($this->date_end)."'" : "null"); $sql .= ", statut = '".$this->statut."'"; - $sql .= ", datec = " . ($this->datec != '' ? $this->db->idate($this->datec) : 'null'); + $sql .= ", datec = " . ($this->datec != '' ? "'".$this->db->idate($this->datec)."'" : 'null'); $sql .= ", fk_user_modif = " . $user->id; $sql .= " WHERE rowid = ".$this->id; @@ -160,11 +160,12 @@ class Fiscalyear else { $this->error=$this->db->lasterror(); + dol_syslog($this->error, LOG_ERR); $this->db->rollback(); return -1; } } - + /** * Load an object from database * @@ -194,11 +195,11 @@ class Fiscalyear } else { - $this->error=$this->db->error(); + $this->error=$this->db->lasterror(); return -1; } } - + /** * Delete record * @@ -220,12 +221,12 @@ class Fiscalyear } else { - $this->error=$this->db->error(); + $this->error=$this->db->lasterror(); $this->db->rollback(); return -1; } } - + /** * Give a label from a status * @@ -238,7 +239,7 @@ class Fiscalyear } /** - * Give a label from a status + * Give a label from a status * * @param int $statut Id status * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto @@ -277,7 +278,7 @@ class Fiscalyear if ($statut==1 && ! empty($this->statuts_short[$statut])) return $langs->trans($this->statuts_short[$statut]).' '.img_picto($langs->trans($this->statuts_short[$statut]),'statut8'); } } - + /** * Information on record * diff --git a/htdocs/core/lib/fiscalyear.lib.php b/htdocs/core/lib/fiscalyear.lib.php index 1db099b24bf..5d27760b41f 100644 --- a/htdocs/core/lib/fiscalyear.lib.php +++ b/htdocs/core/lib/fiscalyear.lib.php @@ -34,7 +34,7 @@ function fiscalyear_prepare_head($object) $h = 0; $head = array(); - $head[$h][0] = DOL_URL_ROOT . '/admin/fiscalyear_card.php?id=' . $object->id; + $head[$h][0] = DOL_URL_ROOT . '/accountancy/admin/fiscalyear_card.php?id=' . $object->id; $head[$h][1] = $langs->trans("Card"); $head[$h][2] = 'card'; $h++; @@ -44,8 +44,8 @@ function fiscalyear_prepare_head($object) // $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab // $this->tabs = array('entity:-tabname); to remove a tab complete_head_from_modules($conf,$langs,$object,$head,$h,'fiscalyear'); - - $head[$h][0] = DOL_URL_ROOT . '/admin/fiscalyear_info.php?id=' . $object->id; + + $head[$h][0] = DOL_URL_ROOT . '/accountancy/admin/fiscalyear_info.php?id=' . $object->id; $head[$h][1] = $langs->trans("Info"); $head[$h][2] = 'info'; $h++; diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php index 2ca71223ff2..d8de29fd227 100644 --- a/htdocs/core/menus/standard/eldy.lib.php +++ b/htdocs/core/menus/standard/eldy.lib.php @@ -501,7 +501,6 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu $newmenu->add("/admin/modules.php?mainmenu=home", $langs->trans("Modules").$warnpicto,1); $newmenu->add("/admin/menus.php?mainmenu=home", $langs->trans("Menus"),1); $newmenu->add("/admin/ihm.php?mainmenu=home", $langs->trans("GUISetup"),1); - $newmenu->add("/admin/fiscalyear.php?mainmenu=home", $langs->trans("Fiscalyear"),1); if (! in_array($langs->defaultlang,array('en_US','en_GB','en_NZ','en_AU','fr_FR','fr_BE','es_ES','ca_ES'))) { if (empty($leftmenu) || $leftmenu=="setup") $newmenu->add("/admin/translation.php", $langs->trans("Translation"),1); @@ -863,18 +862,20 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu if (! empty($conf->accounting->enabled)) { $langs->load("accountancy"); - + $newmenu->add("/accountancy/customer/index.php?leftmenu=ventil_customer",$langs->trans("CustomersVentilation"),0,$user->rights->accounting->ventilation->read, '', $mainmenu, 'ventil_customer'); if (empty($leftmenu) || $leftmenu=="ventil_customer") $newmenu->add("/accountancy/customer/list.php",$langs->trans("ToDispatch"),1,$user->rights->accounting->ventilation->read); if (empty($leftmenu) || $leftmenu=="ventil_customer") $newmenu->add("/accountancy/customer/lines.php",$langs->trans("Dispatched"),1,$user->rights->accounting->ventilation->read); - + $newmenu->add("/accountancy/supplier/index.php?leftmenu=ventil_supplier",$langs->trans("SuppliersVentilation"),0,$user->rights->accounting->ventilation->read, '', $mainmenu, 'ventil_supplier'); if (empty($leftmenu) || $leftmenu=="ventil_customer") $newmenu->add("/accountancy/supplier/list.php",$langs->trans("ToDispatch"),1,$user->rights->accounting->ventilation->read); if (empty($leftmenu) || $leftmenu=="ventil_customer") $newmenu->add("/accountancy/supplier/lines.php",$langs->trans("Dispatched"),1,$user->rights->accounting->ventilation->read); - + $newmenu->add("/accountancy/bookkeeping/list.php?leftmenu=bookkeeping",$langs->trans("Bookkeeping"),0,$user->rights->accounting->mouvements->lire, '', $mainmenu, 'bookeeping'); if (empty($leftmenu) || $leftmenu=="bookeeping") $newmenu->add("/accountancy/bookkeeping/listbyyear.php",$langs->trans("ByYear"),1,$user->rights->accounting->mouvements->lire); if (empty($leftmenu) || $leftmenu=="bookeeping") $newmenu->add("/accountancy/bookkeeping/balancebymonth.php.php",$langs->trans("AccountBalanceByMonth"),1,$user->rights->accounting->mouvements->lire); + + $newmenu->add("/accountancy/admin/fiscalyear.php?mainmenu=accountancy", $langs->trans("Fiscalyear"),0,$user->rights->accounting->close, '', $mainmenu, 'fiscalyear'); } // Rapports @@ -911,7 +912,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu //journaux if (empty($leftmenu) || $leftmenu=="ca") $newmenu->add("/compta/journal/sellsjournal.php?leftmenu=ca",$langs->trans("SellsJournal"),1,$user->rights->compta->resultat->lire); if (empty($leftmenu) || $leftmenu=="ca") $newmenu->add("/compta/journal/purchasesjournal.php?leftmenu=ca",$langs->trans("PurchasesJournal"),1,$user->rights->compta->resultat->lire); - } + } } } @@ -1254,12 +1255,12 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu else dol_print_error($db); $db->free($resql); } - + // Accountancy journals if (! empty($conf->accounting->enabled) && !empty($user->rights->accounting->mouvements->lire) && $mainmenu == 'accountancy') { $newmenu->add('/accountancy/journal/index.php',$langs->trans("Journaux"),0,$user->rights->banque->lire); - + $sql = "SELECT rowid, label, accountancy_journal"; $sql.= " FROM ".MAIN_DB_PREFIX."bank_account"; $sql.= " WHERE entity = ".$conf->entity; @@ -1273,7 +1274,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu $i = 0; if ($numr > 0) - + while ($i < $numr) { $objp = $db->fetch_object($resql); @@ -1283,7 +1284,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu } else dol_print_error($db); $db->free($resql); - + // Add other journal $newmenu->add("/accountancy/journal/sellsjournal.php",$langs->trans("SellsJournal"),1,$user->rights->accounting->comptarapport->lire); $newmenu->add("/accountancy/journal/purchasesjournal.php",$langs->trans("PurchasesJournal"),1,$user->rights->accounting->comptarapport->lire); diff --git a/htdocs/core/modules/modAccounting.class.php b/htdocs/core/modules/modAccounting.class.php index 308c765f5da..8035a60284d 100644 --- a/htdocs/core/modules/modAccounting.class.php +++ b/htdocs/core/modules/modAccounting.class.php @@ -1,7 +1,7 @@ <?php /* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com> * Copyright (C) 2013-2014 Alexandre Spangaro <alexandre.spangaro@gmail.com> - * Copyright (C) 2014 Ari Elbaz (elarifr) <github@accedinfo.com> + * Copyright (C) 2014 Ari Elbaz (elarifr) <github@accedinfo.com> * Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro> * * This program is free software; you can redistribute it and/or modify @@ -19,7 +19,7 @@ */ /** - * \file accountingex/core/modules/modAccountingExpert.class.php + * \file accountingex/core/modules/modAccounting.class.php * \ingroup Accounting Expert * \brief Module to activate Accounting Expert module */ @@ -42,164 +42,154 @@ class modAccounting extends DolibarrModules $this->db = $db; $this->numero = 50400; - + $this->family = "financial"; // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) $this->name = preg_replace('/^mod/i', '', get_class($this)); - $this->description = "Advanced manage of accounting"; - + $this->description = "Advanced accounting management"; + // Possible values for version are: 'development', 'experimental', 'dolibarr' or version $this->version = 'development'; - + $this->const_name = 'MAIN_MODULE_' . strtoupper($this->name); $this->special = 0; $this->picto = 'accounting'; - + // Defined if the directory /mymodule/inc/triggers/ contains triggers or not // $this->triggers = 1; - + // Data directories to create when module is enabled - $this->dirs = array ( - '/accountingex/temp' - ); - + $this->dirs = array('/accounting/temp'); + // Config pages $this->config_page_url = array('index.php@accountancy'); - + // Dependencies - $this->depends = array ("modFacture","modBanque","modTax"); // List of modules id that must be enabled if this module is enabled - $this->requiredby = array (); // List of modules id to disable if this one is disabled - $this->conflictwith = array ("modComptabilite"); // List of modules are in conflict with this module - $this->phpmin = array ( - 5, - 2 - ); // Minimum version of PHP required by module - $this->need_dolibarr_version = array ( - 3, - 6 - ); // Minimum version of Dolibarr required by module - $this->langfiles = array ( - "accountancy" - ); - + $this->depends = array("modFacture","modBanque","modTax"); // List of modules id that must be enabled if this module is enabled + $this->requiredby = array(); // List of modules id to disable if this one is disabled + $this->conflictwith = array("modComptabilite"); // List of modules are in conflict with this module + $this->phpmin = array(5, 2); // Minimum version of PHP required by module + $this->need_dolibarr_version = array(3, 6); // Minimum version of Dolibarr required by module + $this->langfiles = array("accountancy"); + // Constants - $this->const = array (); - $this->const[1] = array ( + $this->const = array(); + $this->const[1] = array( "MAIN_COMPANY_CODE_ALWAYS_REQUIRED", "chaine", "1", "With this constants on, third party code is always required whatever is numbering module behaviour" ); - $this->const[2] = array ( + $this->const[2] = array( "MAIN_BANK_ACCOUNTANCY_CODE_ALWAYS_REQUIRED", "chaine", "1", "With this constants on, bank account number is always required" ); - $this->const[1] = array ( + $this->const[1] = array( "ACCOUNTING_SEPARATORCSV", "string", - "," + "," ); - $this->const[2] = array ( + $this->const[2] = array( "ACCOUNTING_ACCOUNT_SUSPENSE", "chaine", - "471" + "471" ); - $this->const[3] = array ( + $this->const[3] = array( "ACCOUNTING_SELL_JOURNAL", "chaine", - "VTE" + "VTE" ); - $this->const[4] = array ( + $this->const[4] = array( "ACCOUNTING_PURCHASE_JOURNAL", "chaine", - "ACH" + "ACH" ); - $this->const[5] = array ( + $this->const[5] = array( "ACCOUNTING_SOCIAL_JOURNAL", "chaine", - "SOC" + "SOC" ); - $this->const[6] = array ( + $this->const[6] = array( "ACCOUNTING_CASH_JOURNAL", "chaine", - "CAI" + "CAI" ); - $this->const[7] = array ( + $this->const[7] = array( "ACCOUNTING_MISCELLANEOUS_JOURNAL", "chaine", - "OD" + "OD" ); - $this->const[8] = array ( + $this->const[8] = array( "ACCOUNTING_BANK_JOURNAL", "chaine", - "BQ" + "BQ" ); // Deprecated Move into llx_bank_account - $this->const[9] = array ( + $this->const[9] = array( "ACCOUNTING_ACCOUNT_TRANSFER_CASH", "chaine", - "58" + "58" ); - $this->const[10] = array ( + $this->const[10] = array( "CHARTOFACCOUNTS", "chaine", - "2" + "2" ); - $this->const[11] = array ( + $this->const[11] = array( "ACCOUNTING_MODELCSV", "chaine", - "0" + "0" ); - $this->const[12] = array ( + $this->const[12] = array( "ACCOUNTING_LENGTH_GACCOUNT", "chaine", - "" + "" ); - $this->const[13] = array ( + $this->const[13] = array( "ACCOUNTING_LENGTH_AACCOUNT", "chaine", - "" + "" ); - $this->const[14] = array ( + $this->const[14] = array( "ACCOUNTING_LIMIT_LIST_VENTILATION", "chaine", - "50" + "50" ); - $this->const[15] = array ( + $this->const[15] = array( "ACCOUNTING_LIST_SORT_VENTILATION_TODO", "yesno", - "1" + "1" ); - $this->const[16] = array ( + $this->const[16] = array( "ACCOUNTING_LIST_SORT_VENTILATION_DONE", "yesno", - "1" + "1" ); - + // Tabs $this->tabs = array(); - + // Css - $this->module_parts = array (); - + $this->module_parts = array(); + // Boxes - $this->boxes = array (); - + $this->boxes = array(); + // Permissions $this->rights_class = 'accounting'; - - $this->rights = array (); // Permission array used by this module + + $this->rights = array(); // Permission array used by this module $r = 0; - - $this->rights[$r][0] = 50401; + + $this->rights[$r][0] = 50401; // TODO Goal of this permission compared to others ??? $this->rights[$r][1] = 'Access_accountancy'; $this->rights[$r][2] = 'r'; $this->rights[$r][3] = 0; $this->rights[$r][4] = 'access'; $this->rights[$r][5] = ''; $r++; - + $this->rights[$r][0] = 50402; $this->rights[$r][1] = 'Read ventilation'; $this->rights[$r][2] = 'r'; @@ -207,7 +197,7 @@ class modAccounting extends DolibarrModules $this->rights[$r][4] = 'ventilation'; $this->rights[$r][5] = 'read'; $r++; - + $this->rights[$r][0] = 50403; $this->rights[$r][1] = 'Dispatched ventilation'; $this->rights[$r][2] = 'r'; @@ -239,12 +229,20 @@ class modAccounting extends DolibarrModules $this->rights[$r][4] = 'comptarapport'; $this->rights[$r][5] = 'lire'; $r++; - + + $this->rights[$r][0] = 50430; + $this->rights[$r][1] = 'Define and close a fiscal year'; + $this->rights[$r][2] = 'r'; + $this->rights[$r][3] = 0; + $this->rights[$r][4] = 'fiscalyear'; + $this->rights[$r][5] = ''; + $r++; + // Main menu entries - $this->menus = array (); + $this->menus = array(); $r = 0; } - + /** * Function called when module is enabled. * The init function add constants, boxes, permissions and menus (defined in constructor) into Dolibarr database. -- GitLab