diff --git a/htdocs/accountancy/class/bookkeeping.class.php b/htdocs/accountancy/class/bookkeeping.class.php index 889b915b352..4b0f431aa22 100644 --- a/htdocs/accountancy/class/bookkeeping.class.php +++ b/htdocs/accountancy/class/bookkeeping.class.php @@ -3541,7 +3541,7 @@ class BookKeeping extends CommonObject */ public function newCloneMass($toselect, $code_journal, $docdate) { - global $langs; + global $langs, $user; $error = 0; $this->db->begin(); @@ -3595,22 +3595,55 @@ class BookKeeping extends CommonObject if ($bookKeeping->fetch($toselectid)) { $code_journal = getDolGlobalString('ACCOUNTING_CLONING_ENABLE_INPUT_JOURNAL') ? $code_journal : $bookKeeping->code_journal; $journal_label = getDolGlobalString('ACCOUNTING_CLONING_ENABLE_INPUT_JOURNAL') ? $accountingJournal->label : $bookKeeping->journal_label; - $sql = "SELECT piece_num, label_operation, numero_compte, label_compte, doc_type, code_journal, fk_user_author, doc_ref, fk_doc, fk_docdet, debit, credit, journal_label, sens, montant "; - $sql .= "FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping WHERE rowid = " . ((int) $toselectid); + $sql = "SELECT piece_num, label_operation, numero_compte, label_compte, subledger_account, subledger_label, doc_type, code_journal, fk_user_author, doc_ref, fk_doc, fk_docdet, debit, credit, journal_label, sens, montant"; + $sql .= " FROM ".$this->db->prefix()."accounting_bookkeeping WHERE rowid = " . ((int) $toselectid); $resql = $this->db->query($sql); if ($resql) { while ($obj = $this->db->fetch_object($resql)) { $docRef = $langs->trans("CloneOf", $obj->doc_ref); - $sql_insert = "INSERT INTO ".$this->db->prefix()."accounting_bookkeeping"; - $sql_insert .= " (piece_num, label_operation, numero_compte, label_compte, doc_type, code_journal, doc_date,"; - $sql_insert .= " fk_user_author, doc_ref, fk_doc, fk_docdet, debit, credit, journal_label, sens, montant"; + $sql_insert = "INSERT INTO ".$this->db->prefix()."accounting_bookkeeping ("; + $sql_insert .= " piece_num"; + $sql_insert .= ", label_operation"; + $sql_insert .= ", numero_compte"; + $sql_insert .= ", label_compte"; + $sql_insert .= ", subledger_account"; + $sql_insert .= ", subledger_label"; + $sql_insert .= ", doc_type"; + $sql_insert .= ", code_journal"; + $sql_insert .= ", doc_date"; + $sql_insert .= ", date_creation"; + $sql_insert .= ", fk_user_author"; + $sql_insert .= ", doc_ref"; + $sql_insert .= ", fk_doc"; + $sql_insert .= ", fk_docdet"; + $sql_insert .= ", debit"; + $sql_insert .= ", credit"; + $sql_insert .= ", journal_label"; + $sql_insert .= ", sens"; + $sql_insert .= ", montant"; $sql_insert .= ")"; - $sql_insert .= " VALUES (" . ((int) $pieceNumNext) . ", '" . $this->db->escape($obj->label_operation) . "', '" . $this->db->escape($obj->numero_compte) . "',"; - $sql_insert .= " '" . $this->db->escape($obj->label_compte) . "', '" . $this->db->escape($obj->doc_type) . "', '" . $this->db->escape($code_journal) . "', '" . $this->db->idate($docdate)."',"; - $sql_insert .= " '" . $this->db->escape($obj->fk_user_author) . "', '" . $this->db->escape($docRef) . "', " . ((int) $obj->fk_doc) . ", " . ((int) $obj->fk_docdet) . ","; - $sql_insert .= " " . (float) $obj->debit . ", " . (float) $obj->credit . ", '" . $this->db->escape($journal_label) . "', '" . $this->db->escape($obj->sens) . "', " . (float) $obj->montant; + $sql_insert .= " VALUES ("; + $sql_insert .= $pieceNumNext; + $sql_insert .= ", '" . $this->db->escape($obj->label_operation) . "'"; + $sql_insert .= ", '" . $this->db->escape($obj->numero_compte) . "'"; + $sql_insert .= ", '" . $this->db->escape($obj->label_compte) . "'"; + $sql_insert .= ", '" . $this->db->escape($obj->subledger_account) . "'"; + $sql_insert .= ", '" . $this->db->escape($obj->subledger_label) . "'"; + $sql_insert .= ", ''"; + $sql_insert .= ", '" . $this->db->escape($code_journal) . "'"; + $sql_insert .= ", '" . $this->db->idate($docdate)."'"; + $sql_insert .= ", '" . $this->db->idate($now)."'"; + $sql_insert .= ", ".($user->id > 0 ? ((int) $user->id) : "NULL"); + $sql_insert .= ", '" . $this->db->escape($docRef) . "'"; + $sql_insert .= ", 0"; + $sql_insert .= ", 0"; + $sql_insert .= ", " . (float) $obj->debit; + $sql_insert .= ", " . (float) $obj->credit; + $sql_insert .= ", '" . $this->db->escape($journal_label) . "'"; + $sql_insert .= ", '" . $this->db->escape($obj->sens) . "'"; + $sql_insert .= ", " . (float) $obj->montant; $sql_insert .= ")"; $resqlInsert = $this->db->query($sql_insert); diff --git a/htdocs/core/boxes/box_last_knowledgerecord.php b/htdocs/core/boxes/box_last_knowledgerecord.php index 325c8cb8683..41f9f847445 100644 --- a/htdocs/core/boxes/box_last_knowledgerecord.php +++ b/htdocs/core/boxes/box_last_knowledgerecord.php @@ -93,7 +93,7 @@ class box_last_knowledgerecord extends ModeleBoxes if ($user->hasRight('knowledgemanagement', 'knowledgerecord', 'read')) { $sql = 'SELECT k.rowid as id, k.date_creation, k.ref, k.lang, k.question, k.status as status'; $sql .= " FROM ".MAIN_DB_PREFIX."knowledgemanagement_knowledgerecord as k"; - $sql .= " WHERE k.entity IN (".getEntity('knowledgemanagement').")"; + $sql .= " WHERE k.entity IN (".getEntity('knowledgerecord').")"; if ($user->socid) { $sql .= " AND k.fk_soc= ".((int) $user->socid); diff --git a/htdocs/core/boxes/box_last_modified_knowledgerecord.php b/htdocs/core/boxes/box_last_modified_knowledgerecord.php index a160bf482c4..3e1d48897b6 100644 --- a/htdocs/core/boxes/box_last_modified_knowledgerecord.php +++ b/htdocs/core/boxes/box_last_modified_knowledgerecord.php @@ -94,7 +94,7 @@ class box_last_modified_knowledgerecord extends ModeleBoxes $sql = 'SELECT k.rowid as id, k.date_creation, GREATEST(k.tms, kef.tms) as date_modification, k.ref, k.lang, k.question, k.status as status'; $sql .= " FROM ".MAIN_DB_PREFIX."knowledgemanagement_knowledgerecord as k"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."knowledgemanagement_knowledgerecord_extrafields as kef ON kef.fk_object = k.rowid"; - $sql .= " WHERE k.entity IN (".getEntity('knowledgemanagement').")"; + $sql .= " WHERE k.entity IN (".getEntity('knowledgerecord').")"; if ($user->socid) { $sql .= " AND k.fk_soc= ".((int) $user->socid); diff --git a/htdocs/core/modules/modKnowledgeManagement.class.php b/htdocs/core/modules/modKnowledgeManagement.class.php index 4ef706bdd92..71f163ec37a 100644 --- a/htdocs/core/modules/modKnowledgeManagement.class.php +++ b/htdocs/core/modules/modKnowledgeManagement.class.php @@ -299,9 +299,9 @@ class modKnowledgeManagement extends DolibarrModules 'langs' => 'knowledgemanagement', 'position' => 101, // Define condition to show or hide menu entry. Use '$conf->knowledgemanagement->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected. - 'enabled' => '$conf->knowledgemanagement->enabled', + 'enabled' => 'isModEnabled("knowledgemanagement")', // Use 'perms'=>'$user->rights->knowledgemanagement->level1->level2' if you want your menu with a permission rules - 'perms' => '$user->rights->knowledgemanagement->knowledgerecord->read', + 'perms' => '$user->hasRight("knowledgemanagement", "knowledgerecord", "read")', 'target' => '', // 0=Menu for internal users, 1=external users, 2=both 'user' => 2, @@ -319,9 +319,9 @@ class modKnowledgeManagement extends DolibarrModules 'langs' => 'knowledgemanagement', 'position' => 111, // Define condition to show or hide menu entry. Use '$conf->knowledgemanagement->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected. - 'enabled' => '$conf->knowledgemanagement->enabled', + 'enabled' => 'isModEnabled("knowledgemanagement")', // Use 'perms'=>'$user->rights->knowledgemanagement->level1->level2' if you want your menu with a permission rules - 'perms' => '$user->rights->knowledgemanagement->knowledgerecord->read', + 'perms' => '$user->hasRight("knowledgemanagement", "knowledgerecord", "read")', 'target' => '', // 0=Menu for internal users, 1=external users, 2=both 'user' => 2, @@ -339,7 +339,7 @@ class modKnowledgeManagement extends DolibarrModules 'langs' => 'knowledgemanagement', 'position' => 110, // Define condition to show or hide menu entry. Use '$conf->knowledgemanagement->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected. - 'enabled' => '$conf->knowledgemanagement->enabled', + 'enabled' => 'isModEnabled("knowledgemanagement")', // Use 'perms'=>'$user->rights->knowledgemanagement->level1->level2' if you want your menu with a permission rules 'perms' => '$user->hasRight("knowledgemanagement", "knowledgerecord", "write")', 'target' => '', @@ -354,8 +354,8 @@ class modKnowledgeManagement extends DolibarrModules 'url' => '/categories/categorie_list.php?type=13', 'langs' => 'knowledgemanagement', 'position' => 112, - 'enabled' => '$conf->knowledgemanagement->enabled', - 'perms' => '$user->rights->knowledgemanagement->knowledgerecord->read', + 'enabled' => 'isModEnabled("knowledgemanagement") && isModenabled("category")', + 'perms' => '$user->hasRight("knowledgemanagement", "knowledgerecord", "read")', 'target' => '', 'user' => 0 );