Procházet zdrojové kódy

Merge branch '17.0' of git@github.com:Dolibarr/dolibarr.git into develop

Laurent Destailleur před 2 roky
rodič
revize
b2afcad3f5
24 změnil soubory, kde provedl 88 přidání a 24 odebrání
  1. 2 2
      dev/initdemo/mysqldump_dolibarr_17.0.0.sql
  2. 14 0
      dev/initdemo/savedemo.sh
  3. 5 1
      htdocs/admin/modules.php
  4. 14 4
      htdocs/admin/system/database-tables.php
  5. 2 1
      htdocs/compta/bank/class/account.class.php
  6. 22 4
      htdocs/compta/bank/class/paymentvarious.class.php
  7. 21 11
      htdocs/compta/bank/various_payment/card.php
  8. 3 0
      htdocs/core/lib/functions.lib.php
  9. binární
      htdocs/install/doctemplates/adherent/1/photos/person5.jpeg
  10. binární
      htdocs/install/doctemplates/adherent/1/photos/thumbs/person5_mini.jpeg
  11. binární
      htdocs/install/doctemplates/adherent/1/photos/thumbs/person5_small.jpeg
  12. binární
      htdocs/install/doctemplates/adherent/2/photos/pierrecurie.jpg
  13. binární
      htdocs/install/doctemplates/adherent/2/photos/thumbs/pierrecurie_mini.jpg
  14. binární
      htdocs/install/doctemplates/adherent/2/photos/thumbs/pierrecurie_small.jpg
  15. binární
      htdocs/install/doctemplates/adherent/3/photos/person9.jpeg
  16. binární
      htdocs/install/doctemplates/adherent/3/photos/thumbs/person9_mini.jpeg
  17. binární
      htdocs/install/doctemplates/adherent/3/photos/thumbs/person9_small.jpeg
  18. binární
      htdocs/install/doctemplates/adherent/4/photos/person2.jpeg
  19. binární
      htdocs/install/doctemplates/adherent/4/photos/thumbs/person2_mini.jpeg
  20. binární
      htdocs/install/doctemplates/adherent/4/photos/thumbs/person2_small.jpeg
  21. 4 0
      htdocs/install/mysql/migration/repair.sql
  22. 0 0
      htdocs/install/mysql/tables/llx_inventory_extrafields-stock.key.sql
  23. 0 0
      htdocs/install/mysql/tables/llx_inventory_extrafields-stock.sql
  24. 1 1
      htdocs/langs/en_US/admin.lang

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 2 - 2
dev/initdemo/mysqldump_dolibarr_17.0.0.sql


+ 14 - 0
dev/initdemo/savedemo.sh

@@ -290,6 +290,7 @@ export list="
 	--ignore-table=$base.llx_monmodule_abcdef
 	--ignore-table=$base.llx_notes
 	--ignore-table=$base.llx_packages
+	--ignore-table=$base.llx_packages_extrafields
 	--ignore-table=$base.llx_pos_cash
 	--ignore-table=$base.llx_pos_control_cash
 	--ignore-table=$base.llx_pos_facture
@@ -305,6 +306,19 @@ export list="
 	--ignore-table=$base.llx_residence
 	--ignore-table=$base.llx_residence_building
 	--ignore-table=$base.llx_residence_building_links
+	--ignore-table=$base.llx_scaninvoices_filestoimport
+	--ignore-table=$base.llx_scaninvoices_filestoimport_extrafields
+	--ignore-table=$base.llx_scaninvoices_settings
+	--ignore-table=$base.llx_scaninvoices_settings_extrafields
+	--ignore-table=$base.llx_sellyoursaas_blacklistcontent
+	--ignore-table=$base.llx_sellyoursaas_blacklistdir
+	--ignore-table=$base.llx_sellyoursaas_blacklistfrom
+	--ignore-table=$base.llx_sellyoursaas_blacklistip
+	--ignore-table=$base.llx_sellyoursaas_blacklistmail
+	--ignore-table=$base.llx_sellyoursaas_blacklistto
+	--ignore-table=$base.llx_sellyoursaas_deploymentserver
+	--ignore-table=$base.llx_sellyoursaas_stats
+	--ignore-table=$base.llx_sellyoursaas_whitelistip
 	--ignore-table=$base.llx_societe_rib2
 	--ignore-table=$base.llx_sellyoursaas_cancellation
 	--ignore-table=$base.llx_ticketsup

+ 5 - 1
htdocs/admin/modules.php

@@ -1181,7 +1181,11 @@ if ($mode == 'deploy') {
 	} else {
 		if (getDolGlobalString('MAIN_MESSAGE_INSTALL_MODULES_DISABLED_CONTACT_US')) {
 			// Show clean message
-			$message = info_admin($langs->trans('InstallModuleFromWebHasBeenDisabledContactUs'));
+			if (!is_numeric('MAIN_MESSAGE_INSTALL_MODULES_DISABLED_CONTACT_US')) {
+				$message = info_admin($langs->trans(getDolGlobalString('MAIN_MESSAGE_INSTALL_MODULES_DISABLED_CONTACT_US')));
+			} else {
+				$message = info_admin($langs->trans('InstallModuleFromWebHasBeenDisabledContactUs'));
+			}
 		} else {
 			// Show technical message
 			$message = info_admin($langs->trans("InstallModuleFromWebHasBeenDisabledByFile", $dolibarrdataroot.'/installmodules.lock'));

+ 14 - 4
htdocs/admin/system/database-tables.php

@@ -109,12 +109,18 @@ if (!$base) {
 
 		$arrayoffilesrich = dol_dir_list(DOL_DOCUMENT_ROOT.'/install/mysql/tables/', 'files', 0, '\.sql$');
 		$arrayoffiles = array();
+		$arrayoftablesautocreated = array();
 		foreach ($arrayoffilesrich as $value) {
 			//print $shortsqlfilename.' ';
 			$shortsqlfilename = preg_replace('/\-[a-z]+\./', '.', $value['name']);
-			$arrayoffiles[] = $shortsqlfilename;
+			$arrayoffiles[$value['name']] = $shortsqlfilename;
+			if ($value['name'] == $shortsqlfilename && ! preg_match('/\.key\.sql$/', $value['name'])) {
+				// This is a sql file automatically created
+				$arrayoftablesautocreated[$value['name']] = $shortsqlfilename;
+			}
 		}
 
+		// Now loop on tables really found into database
 		$sql = "SHOW TABLE STATUS";
 
 		$resql = $db->query($sql);
@@ -123,6 +129,7 @@ if (!$base) {
 			$i = 0;
 			while ($i < $num) {
 				$obj = $db->fetch_object($resql);
+
 				print '<tr class="oddeven">';
 
 				print '<td>'.($i+1).'</td>';
@@ -130,11 +137,14 @@ if (!$base) {
 				$tablename = preg_replace('/^'.MAIN_DB_PREFIX.'/', 'llx_', $obj->Name);
 
 				if (in_array($tablename.'.sql', $arrayoffiles)) {
-					$img = "info";
-					//print img_picto($langs->trans("ExternalModule"), $img);
+					if (in_array($tablename.'.sql', $arrayoftablesautocreated)) {
+						$img = "info";
+					} else {
+						$img = "info_black";
+						print img_picto($langs->trans("NotAvailableByDefaultEnabledOnModuleActivation"), $img, 'class="small opacitymedium"');
+					}
 				} else {
 					$img = "info_black";
-					//print DOL_DOCUMENT_ROOT.'/install/mysql/tables/'.$tablename.'.sql';
 					print img_picto($langs->trans("ExternalModule"), $img, 'class="small"');
 				}
 				print '</td>';

+ 2 - 1
htdocs/compta/bank/class/account.class.php

@@ -1119,6 +1119,8 @@ class Account extends CommonObject
 
 		$this->db->begin();
 
+		// @TODO Check there is no child into llx_payment_various, ... to allow deletion ?
+
 		// Delete link between tag and bank account
 		if (!$error) {
 			$sql = "DELETE FROM ".MAIN_DB_PREFIX."categorie_account";
@@ -2018,7 +2020,6 @@ class AccountLine extends CommonObjectLine
 		$sql .= " b.fk_user_author, b.fk_user_rappro,";
 		$sql .= " b.fk_type, b.num_releve, b.num_chq, b.rappro, b.note,";
 		$sql .= " b.fk_bordereau, b.banque, b.emetteur,";
-		//$sql.= " b.author"; // Is this used ?
 		$sql .= " ba.ref as bank_account_ref, ba.label as bank_account_label";
 		$sql .= " FROM ".MAIN_DB_PREFIX."bank as b,";
 		$sql .= " ".MAIN_DB_PREFIX."bank_account as ba";

+ 22 - 4
htdocs/compta/bank/class/paymentvarious.class.php

@@ -126,6 +126,22 @@ class PaymentVarious extends CommonObject
 	public $fk_user_modif;
 
 
+	/**
+	 * @var	int		Type of bank account if the payment is on a bank account
+	 */
+	public $fk_type;
+
+	/**
+	 * @var int		1 if the payment is on a bank account line that is conciliated
+	 */
+	public $rappro;
+
+	/**
+	 * @var	string	ID of bank receipt
+	 */
+	public $bank_num_releve;
+
+
 	/**
 	 *  'type' if the field format ('integer', 'integer:ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter]]', 'varchar(x)', 'double(24,8)', 'real', 'price', 'text', 'html', 'date', 'datetime', 'timestamp', 'duration', 'mail', 'phone', 'url', 'password')
 	 *         Note: Filter can be a string like "(t.ref:like:'SO-%') or (t.date_creation:<:'20160101') or (t.nature:is:NULL)"
@@ -251,7 +267,6 @@ class PaymentVarious extends CommonObject
 	 */
 	public function fetch($id, $user = null)
 	{
-		global $langs;
 		$sql = "SELECT";
 		$sql .= " v.rowid,";
 		$sql .= " v.tms,";
@@ -262,7 +277,7 @@ class PaymentVarious extends CommonObject
 		$sql .= " v.fk_typepayment,";
 		$sql .= " v.num_payment,";
 		$sql .= " v.label,";
-		$sql .= " v.note,";
+		$sql .= " v.note as note_private,";
 		$sql .= " v.accountancy_code,";
 		$sql .= " v.subledger_account,";
 		$sql .= " v.fk_projet as fk_project,";
@@ -271,7 +286,8 @@ class PaymentVarious extends CommonObject
 		$sql .= " v.fk_user_modif,";
 		$sql .= " b.fk_account,";
 		$sql .= " b.fk_type,";
-		$sql .= " b.rappro";
+		$sql .= " b.rappro,";
+		$sql .= " b.num_releve as bank_num_releve";
 		$sql .= " FROM ".MAIN_DB_PREFIX."payment_various as v";
 		$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."bank as b ON v.fk_bank = b.rowid";
 		$sql .= " WHERE v.rowid = ".((int) $id);
@@ -292,7 +308,8 @@ class PaymentVarious extends CommonObject
 				$this->type_payment         = $obj->fk_typepayment;
 				$this->num_payment          = $obj->num_payment;
 				$this->label                = $obj->label;
-				$this->note                 = $obj->note;
+				$this->note                 = $obj->note_private;	// For backward compatibility
+				$this->note_private         = $obj->note_private;
 				$this->subledger_account    = $obj->subledger_account;
 				$this->accountancy_code     = $obj->accountancy_code;
 				$this->fk_project           = $obj->fk_project;
@@ -302,6 +319,7 @@ class PaymentVarious extends CommonObject
 				$this->fk_account           = $obj->fk_account;
 				$this->fk_type              = $obj->fk_type;
 				$this->rappro               = $obj->rappro;
+				$this->bank_num_releve      = $obj->bank_num_releve;
 			}
 			$this->db->free($resql);
 

+ 21 - 11
htdocs/compta/bank/various_payment/card.php

@@ -643,18 +643,28 @@ if ($id) {
 	print $form->editfieldval('SubledgerAccount', 'subledger_account', $object->subledger_account, $object, (!$alreadyaccounted && $user->rights->banque->modifier), 'string', '', 0);
 	print '</td></tr>';
 
-	if (isModEnabled("banque")) {
-		if ($object->fk_account > 0) {
+	$bankaccountnotfound = 0;
+
+	if (isModEnabled('banque')) {
+		print '<tr>';
+		print '<td>'.$langs->trans('BankTransactionLine').'</td>';
+		print '<td colspan="3">';
+		if ($object->fk_bank > 0) {
 			$bankline = new AccountLine($db);
-			$bankline->fetch($object->fk_bank);
-
-			print '<tr>';
-			print '<td>'.$langs->trans('BankTransactionLine').'</td>';
-			print '<td colspan="3">';
-			print $bankline->getNomUrl(1, 0, 'showall');
-			print '</td>';
-			print '</tr>';
+			$result = $bankline->fetch($object->fk_bank);
+
+			if ($result <= 0) {
+				$bankaccountnotfound = 1;
+			} else {
+				print $bankline->getNomUrl(1, 0, 'showall');
+			}
+		} else {
+			$bankaccountnotfound = 1;
+
+			print '<span class="opacitymedium">'.$langs->trans("NoRecordfound").'</span>';
 		}
+		print '</td>';
+		print '</tr>';
 	}
 
 	// Other attributes
@@ -684,7 +694,7 @@ if ($id) {
 	}
 
 	// Delete
-	if (empty($object->rappro)) {
+	if (empty($object->rappro) || $bankaccountnotfound) {
 		if (!empty($user->rights->banque->modifier)) {
 			if ($alreadyaccounted) {
 				print '<div class="inline-block divButAction"><a class="butActionRefused classfortooltip" href="#" title="'.$langs->trans("Accounted").'">'.$langs->trans("Delete").'</a></div>';

+ 3 - 0
htdocs/core/lib/functions.lib.php

@@ -9033,6 +9033,9 @@ function dol_eval($s, $returnvalue = 0, $hideerrors = 1, $onlysimplestring = '1'
 				}
 			}
 		}
+		if (is_array($s) || $s === 'Array') {
+			return 'Bad string syntax to evaluate (value is Array) '.var_export($s, true);
+		}
 		if (strpos($s, '::') !== false) {
 			if ($returnvalue) {
 				return 'Bad string syntax to evaluate (double : char is forbidden): '.$s;

binární
htdocs/install/doctemplates/adherent/1/photos/person5.jpeg


binární
htdocs/install/doctemplates/adherent/1/photos/thumbs/person5_mini.jpeg


binární
htdocs/install/doctemplates/adherent/1/photos/thumbs/person5_small.jpeg


binární
htdocs/install/doctemplates/adherent/2/photos/pierrecurie.jpg


binární
htdocs/install/doctemplates/adherent/2/photos/thumbs/pierrecurie_mini.jpg


binární
htdocs/install/doctemplates/adherent/2/photos/thumbs/pierrecurie_small.jpg


binární
htdocs/install/doctemplates/adherent/3/photos/person9.jpeg


binární
htdocs/install/doctemplates/adherent/3/photos/thumbs/person9_mini.jpeg


binární
htdocs/install/doctemplates/adherent/3/photos/thumbs/person9_small.jpeg


binární
htdocs/install/doctemplates/adherent/4/photos/person2.jpeg


binární
htdocs/install/doctemplates/adherent/4/photos/thumbs/person2_mini.jpeg


binární
htdocs/install/doctemplates/adherent/4/photos/thumbs/person2_small.jpeg


+ 4 - 0
htdocs/install/mysql/migration/repair.sql

@@ -217,6 +217,10 @@ DELETE from llx_bank_url where type = 'company' and url_id not in (select rowid
 --SELECT * from llx_bank where rappro = 0 and label LIKE '(CustomerInvoicePayment%)' and rowid not in (select fk_bank from llx_bank_url where type = 'payment');
 --SELECT * from llx_bank where rappro = 0 and label LIKE '(SupplierInvoicePayment%)' and rowid not in (select fk_bank from llx_bank_url where type = 'payment_supplier');
 
+-- Fix: delete orphelins in llx_bank
+DELETE FROM llx_bank WHERE fk_account NOT IN (select rowid from llx_bank_account);
+
+
 -- Fix link on parent that were removed
 DROP table tmp_user;
 CREATE TABLE tmp_user as (select * from llx_user);

+ 0 - 0
htdocs/install/mysql/tables/llx_inventory_extrafields.key.sql → htdocs/install/mysql/tables/llx_inventory_extrafields-stock.key.sql


+ 0 - 0
htdocs/install/mysql/tables/llx_inventory_extrafields.sql → htdocs/install/mysql/tables/llx_inventory_extrafields-stock.sql


+ 1 - 1
htdocs/langs/en_US/admin.lang

@@ -2374,5 +2374,5 @@ WarningModuleHasChangedSecurityCsrfParameter=Warning: the module %s has disabled
 EMailsInGoingDesc=Incoming emails are managed by the module %s. You must enable and configure it if you need to support ingoing emails.
 MAIN_IMAP_USE_PHPIMAP=Use the PHP-IMAP library for IMAP instead of native PHP IMAP. This also allows the use of an OAuth2 connection for IMAP (module OAuth must also be activated).
 MAIN_CHECKBOX_LEFT_COLUMN=Show the column for field and line selection on the left (on the right by default)
-
+NotAvailableByDefaultEnabledOnModuleActivation=Not created by default. Created on module activation only.
 CSSPage=CSS Style

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů