Skip to content
Permalink
Browse files

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

Conflicts:
	htdocs/langs/en_US/stocks.lang
  • Loading branch information
eldy committed Jan 13, 2020
2 parents d04082e + 61d60ce commit 03a1897089f816bab953effa6dfb19aa05de16d3
Showing with 212 additions and 361 deletions.
  1. +1 −1 ChangeLog
  2. +3 −1 dev/translation/txpull.sh
  3. +5 −1 htdocs/admin/emailcollector_card.php
  4. +1 −1 htdocs/admin/system/filecheck.php
  5. +4 −1 htdocs/core/class/dolgraph.class.php
  6. +2 −1 htdocs/core/class/html.form.class.php
  7. +5 −7 htdocs/core/class/translate.class.php
  8. +1 −1 htdocs/emailcollector/class/emailcollector.class.php
  9. +0 −1 htdocs/langs/en_GB/accountancy.lang
  10. +0 −1 htdocs/langs/en_GB/supplier_proposal.lang
  11. +1 −1 htdocs/langs/en_US/accountancy.lang
  12. +6 −4 htdocs/langs/en_US/admin.lang
  13. +1 −1 htdocs/langs/en_US/categories.lang
  14. +1 −1 htdocs/langs/en_US/companies.lang
  15. +1 −1 htdocs/langs/en_US/compta.lang
  16. +5 −5 htdocs/langs/en_US/errors.lang
  17. +1 −1 htdocs/langs/en_US/exports.lang
  18. +1 −1 htdocs/langs/en_US/ftp.lang
  19. +2 −2 htdocs/langs/en_US/modulebuilder.lang
  20. +3 −3 htdocs/langs/en_US/mrp.lang
  21. +1 −1 htdocs/langs/en_US/paybox.lang
  22. +4 −4 htdocs/langs/en_US/products.lang
  23. +1 −1 htdocs/langs/en_US/projects.lang
  24. +3 −3 htdocs/langs/en_US/receptions.lang
  25. +1 −1 htdocs/langs/en_US/resource.lang
  26. +1 −1 htdocs/langs/en_US/stocks.lang
  27. +2 −2 htdocs/langs/en_US/stripe.lang
  28. +1 −1 htdocs/langs/en_US/supplier_proposal.lang
  29. +3 −3 htdocs/langs/en_US/website.lang
  30. +1 −1 htdocs/langs/en_US/zapier.lang
  31. +0 −1 htdocs/langs/es_CL/accountancy.lang
  32. +0 −1 htdocs/langs/es_MX/accountancy.lang
  33. +0 −1 htdocs/langs/es_PE/accountancy.lang
  34. +0 −1 htdocs/langs/fr_BE/accountancy.lang
  35. +0 −1 htdocs/langs/fr_CA/accountancy.lang
  36. +0 −1 htdocs/langs/nl_BE/accountancy.lang
  37. +0 −14 htdocs/loan/card.php
  38. +0 −228 htdocs/loan/createschedule.php
  39. +84 −26 htdocs/loan/list.php
  40. +8 −8 htdocs/loan/schedule.php
  41. +1 −1 htdocs/modulebuilder/template/myobject_list.php
  42. +24 −7 htdocs/mrp/mo_production.php
  43. +3 −3 htdocs/product/stock/class/productlot.class.php
  44. +4 −4 htdocs/product/stock/productlot_card.php
  45. +1 −1 htdocs/product/stock/replenish.php
  46. +15 −3 htdocs/website/class/websitepage.class.php
  47. +10 −6 htdocs/website/index.php
@@ -22,7 +22,7 @@ Following changes may create regressions for some external modules, but were nec
For Users:

NEW: Module BOM is now stable.
NEW: Module MO - Manufacturing Order available with experimental status.
NEW: Module MO (Manufacturing Order) is available with experimental status.
NEW: Can set the Address/Contact by default on third parties.
NEW: Add a dictionary to edit list of Social networks.
NEW: A nicer dashboard for open elements on Home page.
@@ -16,7 +16,9 @@ then
echo "This pull remote transifex files to local dir."
echo "Note: If you pull a language file (not source), file will be skipped if local file is newer."
echo " Using -f will overwrite local file (does not work with 'all')."
echo "Usage: ./dev/translation/txpull.sh (all|xx_XX) [-r dolibarr.file] [-f] [-s]"
echo " Using -s will force fetching of source file (avoid it, use en_US as language instead)."
echo " Using en_US as language parameter will update source language from transifex (en_US is excluded from 'all')."
echo "Usage: ./dev/translation/txpull.sh (all|en_US|xx_XX) [-r dolibarr.file] [-f] [-s]"
exit
fi

@@ -595,13 +595,17 @@ function init_myfunc()

print '<tr class="drag drop oddeven" id="row-'.$ruleaction['id'].'">';
print '<td>';
print '<!-- type of action: '.$ruleaction['type'].' -->';
print $langs->trans($arrayoftypes[$ruleaction['type']]);
if (in_array($ruleaction['type'], array('recordevent')))
{
print $form->textwithpicto('', $langs->transnoentitiesnoconv('IfTrackingIDFoundEventWillBeLinked'));
}
elseif (in_array($ruleaction['type'], array('loadthirdparty', 'loadandcreatethirdparty'))) {
print $form->textwithpicto('', $langs->transnoentitiesnoconv('EmailCollectorLoadThirdPartyHelp'));
}
print '</td>';
print '<td>';
print '<td class="wordbreak">';
if ($action == 'editoperation' && $ruleaction['id'] == $operationid)
{
print '<input type="text" class="quatrevingtquinzepercent" name="operationparam2" value="'.$ruleaction['actionparam'].'"><br>';
@@ -75,7 +75,7 @@
$file_list = array('missing' => array(), 'updated' => array());

// Local file to compare to
$xmlshortfile = GETPOST('xmlshortfile', 'alpha') ?GETPOST('xmlshortfile', 'alpha') : '/install/filelist-'.DOL_VERSION.(empty($conf->global->MAIN_FILECHECK_LOCAL_SUFFIX) ? '' : $conf->global->MAIN_FILECHECK_LOCAL_SUFFIX).'.xml';
$xmlshortfile = GETPOST('xmlshortfile', 'alpha') ?GETPOST('xmlshortfile', 'alpha') : '/install/filelist-'.DOL_VERSION.(empty($conf->global->MAIN_FILECHECK_LOCAL_SUFFIX) ? '' : $conf->global->MAIN_FILECHECK_LOCAL_SUFFIX).'.xml'.(empty($conf->global->MAIN_FILECHECK_LOCAL_EXT) ? '' : $conf->global->MAIN_FILECHECK_LOCAL_EXT);
$xmlfile = DOL_DOCUMENT_ROOT.$xmlshortfile;
// Remote file to compare to
$xmlremote = GETPOST('xmlremote');
@@ -899,7 +899,10 @@ private function draw_jflot($file, $fileurl)
}

$legends=array();
$nblot=count($this->data[0])-1; // -1 to remove legend
$nblot=0;
if (is_array($this->data) && is_array($this->data[0])) {
$nblot=count($this->data[0])-1; // -1 to remove legend
}
if ($nblot < 0) dol_syslog('Bad value for property ->data. Must be set by mydolgraph->SetData before calling mydolgrapgh->draw', LOG_WARNING);
$firstlot=0;
// Works with line but not with bars
@@ -3008,7 +3008,8 @@ public function select_produits_fournisseurs_list($socid, $selected = '', $htmln
* @param int $productid Id of product
* @param string $htmlname Name of HTML field
* @param int $selected_supplier Pre-selected supplier if more than 1 result
* @return void
*
* @return string
*/
public function select_product_fourn_price($productid, $htmlname = 'productfournpriceid', $selected_supplier = '')
{
@@ -291,7 +291,6 @@ public function load($domain, $alt = 0, $stopafterdirection = 0, $forcelangdir =
//if ($key == 'Order') print "Domain=$domain, found a string for key=$key=$tab[0] with value $tab[1]. Currently in cache ".$this->tab_translate[$key]."<br>";
if (empty($this->tab_translate[$key]))
{ // If translation was already found, we must not continue, even if MAIN_FORCELANGDIR is set (MAIN_FORCELANGDIR is to replace lang dir, not to overwrite entries)
$value = preg_replace('/\\n/', "\n", $value); // Parse and render carriage returns
if ($key == 'DIRECTION') { // This is to declare direction of language
if ($alt < 2 || empty($this->tab_translate[$key])) { // We load direction only for primary files or if not yet loaded
$this->tab_translate[$key] = $value;
@@ -307,8 +306,8 @@ public function load($domain, $alt = 0, $stopafterdirection = 0, $forcelangdir =
continue;
}
else {
$this->tab_translate[$key] = $value;
//if ($domain == 'orders') print "$tab[0] value $value<br>";
// Convert some strings: Parse and render carriage returns. Also, change '\\s' int '\s' because transifex sync pull the string '\s' into string '\\s'
$this->tab_translate[$key] = str_replace(array('\\n', '\\\\s'), array("\n", '\s'), $value);
if ($usecachekey) {
$tabtranslatedomain[$key] = $value;
} // To save lang content in cache
@@ -491,9 +490,9 @@ public function loadFromDatabase($db)
//print "Domain=$domain, found a string for $tab[0] with value $tab[1]<br>";
if (empty($this->tab_translate[$key])) // If translation was already found, we must not continue, even if MAIN_FORCELANGDIR is set (MAIN_FORCELANGDIR is to replace lang dir, not to overwrite entries)
{
$value=trim(preg_replace('/\\n/', "\n", $value));
// Convert some strings: Parse and render carriage returns. Also, change '\\s' int '\s' because transifex sync pull the string '\s' into string '\\s'
$this->tab_translate[$key] = str_replace(array('\\n', '\\\\s'), array("\n", '\s'), $value);

$this->tab_translate[$key]=$value;
if ($usecachekey) $tabtranslatedomain[$key]=$value; // To save lang content in cache
}

@@ -618,9 +617,8 @@ public function trans($key, $param1 = '', $param2 = '', $param3 = '', $param4 =
}
}

if (! preg_match('/^Format/', $key))
if (strpos($key, 'Format') !== 0)
{
//print $str;
$str=sprintf($str, $param1, $param2, $param3, $param4); // Replace %s and %d except for FormatXXX strings.
}

@@ -106,7 +106,7 @@ class EmailCollector extends CommonObject
'source_directory' => array('type'=>'varchar(255)', 'label'=>'MailboxSourceDirectory', 'visible'=>-1, 'enabled'=>1, 'position'=>103, 'notnull'=>1, 'default' => 'Inbox', 'help'=>'Example: INBOX'),
//'filter' => array('type'=>'text', 'label'=>'Filter', 'visible'=>1, 'enabled'=>1, 'position'=>105),
//'actiontodo' => array('type'=>'varchar(255)', 'label'=>'ActionToDo', 'visible'=>1, 'enabled'=>1, 'position'=>106),
'target_directory' => array('type'=>'varchar(255)', 'label'=>'MailboxTargetDirectory', 'visible'=>1, 'enabled'=>1, 'position'=>110, 'notnull'=>0, 'comment'=>"Where to store messages once processed"),
'target_directory' => array('type'=>'varchar(255)', 'label'=>'MailboxTargetDirectory', 'visible'=>1, 'enabled'=>1, 'position'=>110, 'notnull'=>0, 'help'=>"EmailCollectorTargetDir"),
'maxemailpercollect' => array('type'=>'integer', 'label'=>'MaxEmailCollectPerCollect', 'visible'=>-1, 'enabled'=>1, 'position'=>111, 'default'=>100),
'datelastresult' => array('type'=>'datetime', 'label'=>'DateLastCollectResult', 'visible'=>1, 'enabled'=>'$action != "create" && $action != "edit"', 'position'=>121, 'notnull'=>-1,),
'codelastresult' => array('type'=>'varchar(16)', 'label'=>'CodeLastResult', 'visible'=>1, 'enabled'=>'$action != "create" && $action != "edit"', 'position'=>122, 'notnull'=>-1,),
@@ -73,7 +73,6 @@ AccountingCategory=Personalised groups
GroupByAccountAccounting=Group by finance account
AccountingAccountGroupsDesc=Here you can define some groups of financial accounts. They will be used for personalised accounting reports.
ByPersonalizedAccountGroups=By personalised groups
ConfirmDeleteMvt=This will delete all lines of the Ledger for the year/month and/or from a specific journal (At least one criterion is required). You will have to reuse the feature 'Registration in accounting' to have the deleted record back in the ledger.
ConfirmDeleteMvtPartial=This will delete the transaction from the Ledger (all lines related to this transaction will be deleted)
DescJournalOnlyBindedVisible=This is a view of records that are linked to a finance account and can be posted into the Ledger.
FeeAccountNotDefined=Account for fees not defined
@@ -6,7 +6,6 @@ SupplierProposalShort=Vendor quote
SupplierProposals=Vendor quotes
SupplierProposalsShort=Vendor quotes
SupplierProposalRefFournNotice=Before closing as "Accepted", think of obtaining suppliers references.
CopyAskFrom=Create a price request by copying an existing request
ConfirmReOpenAsk=Are you sure you want to reopen the price request <b>%s</b>?
ActionsOnSupplierProposal=Actions on price request
DocModelAuroreDescription=A complete request example (logo...)
@@ -160,7 +160,7 @@ ACCOUNTING_RESULT_PROFIT=Result accounting account (Profit)
ACCOUNTING_RESULT_LOSS=Result accounting account (Loss)
ACCOUNTING_CLOSURE_DEFAULT_JOURNAL=Journal of closure

ACCOUNTING_ACCOUNT_TRANSFER_CASH=Accounting account of transitional bank transfer
ACCOUNTING_ACCOUNT_TRANSFER_CASH=Accounting account of transitional bank transfer
TransitionalAccount=Transitional bank transfer account

ACCOUNTING_ACCOUNT_SUSPENSE=Accounting account of wait
@@ -561,9 +561,9 @@ Module200Desc=LDAP directory synchronization
Module210Name=PostNuke
Module210Desc=PostNuke integration
Module240Name=Data exports
Module240Desc=Tool to export Dolibarr data (with assistants)
Module240Desc=Tool to export Dolibarr data (with assistance)
Module250Name=Data imports
Module250Desc=Tool to import data into Dolibarr (with assistants)
Module250Desc=Tool to import data into Dolibarr (with assistance)
Module310Name=Members
Module310Desc=Foundation members management
Module320Name=RSS Feed
@@ -1763,7 +1763,7 @@ ListOfNotificationsPerUser=List of automatic notifications per user*
ListOfNotificationsPerUserOrContact=List of possible automatic notifications (on business event) available per user* or per contact**
ListOfFixedNotifications=List of automatic fixed notifications
GoOntoUserCardToAddMore=Go to the tab "Notifications" of a user to add or remove notifications for users
GoOntoContactCardToAddMore=Go on the tab "Notifications" of a third party to add or remove notifications for contacts/addresses
GoOntoContactCardToAddMore=Go to the tab "Notifications" of a third party to add or remove notifications for contacts/addresses
Threshold=Threshold
BackupDumpWizard=Wizard to build the backup file
SomethingMakeInstallFromWebNotPossible=Installation of external module is not possible from the web interface for the following reason:
@@ -1954,6 +1954,8 @@ SmallerThan=Smaller than
LargerThan=Larger than
IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID is found into incoming email, the event will be automatically linked to the related objects.
WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/.
EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set a value here to use this feature. Note that you must also use a read/write login account.
EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\s([^\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body.
EndPointFor=End point for %s : %s
DeleteEmailCollector=Delete email collector
ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector?
@@ -1965,4 +1967,4 @@ BaseOnSabeDavVersion=Based on the library SabreDAV version
NotAPublicIp=Not a public IP
MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server (done 1 time only after installation) to allow the foundation to count the number of Dolibarr installation.
FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled
EmailTemplate=Template for email
EmailTemplate=Template for email
@@ -90,4 +90,4 @@ ShowCategory=Show tag/category
ByDefaultInList=By default in list
ChooseCategory=Choose category
StocksCategoriesArea=Warehouses Categories Area
UseOrOperatorForCategories=Use or operator for categories
UseOrOperatorForCategories=Use or operator for categories
@@ -339,7 +339,7 @@ MyContacts=My contacts
Capital=Capital
CapitalOf=Capital of %s
EditCompany=Edit company
ThisUserIsNot=This user is not a prospect, customer nor vendor
ThisUserIsNot=This user is not a prospect, customer or vendor
VATIntraCheck=Check
VATIntraCheckDesc=The VAT ID must include the country prefix. The link <b>%s</b> uses the European VAT checker service (VIES) which requires internet access from the Dolibarr server.
VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do
@@ -253,4 +253,4 @@ PaidDuringThisPeriod=Paid during this period
ByVatRate=By sale tax rate
TurnoverbyVatrate=Turnover invoiced by sale tax rate
TurnoverCollectedbyVatrate=Turnover collected by sale tax rate
PurchasebyVatrate=Purchase by sale tax rate
PurchasebyVatrate=Purchase by sale tax rate
@@ -117,7 +117,7 @@ ErrorLoginDoesNotExists=User with login <b>%s</b> could not be found.
ErrorLoginHasNoEmail=This user has no email address. Process aborted.
ErrorBadValueForCode=Bad value for security code. Try again with new value...
ErrorBothFieldCantBeNegative=Fields %s and %s can't be both negative
ErrorFieldCantBeNegativeOnInvoice=Field <strong>%s</strong> cannot be negative on this type of invoice. If you want to add a discount line, just create the discount first with link %s on screen and apply it to the invoice. You can also ask your admin to set option FACTURE_ENABLE_NEGATIVE_LINES to 1 to allow the old behaviour.
ErrorFieldCantBeNegativeOnInvoice=Field <strong>%s</strong> cannot be negative on this type of invoice. If you want to add a discount line, just create the discount first with link %s on screen and apply it to the invoice. You can also ask your admin to set option FACTURE_ENABLE_NEGATIVE_LINES to 1 to allow the old behaviour.
ErrorQtyForCustomerInvoiceCantBeNegative=Quantity for line into customer invoices can't be negative
ErrorWebServerUserHasNotPermission=User account <b>%s</b> used to execute web server has no permission for that
ErrorNoActivatedBarcode=No barcode type activated
@@ -222,15 +222,15 @@ ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=Error, delete payment linked
ErrorSearchCriteriaTooSmall=Search criteria too small.
ErrorObjectMustHaveStatusActiveToBeDisabled=Objects must have status 'Active' to be disabled
ErrorObjectMustHaveStatusDraftOrDisabledToBeActivated=Objects must have status 'Draft' or 'Disabled' to be enabled
ErrorNoFieldWithAttributeShowoncombobox=No fields has property 'showoncombobox' into definition of object '%s'. No way to show the combolist.
ErrorNoFieldWithAttributeShowoncombobox=No fields has property 'showoncombobox' into definition of object '%s'. No way to show the combolist.
ErrorFieldRequiredForProduct=Field '%s' is required for product %s
ProblemIsInSetupOfTerminal=Problem is in setup of terminal %s.
ErrorAddAtLeastOneLineFirst=Add at least one line first
ErrorAddAtLeastOneLineFirst=Add at least one line first
# Warnings
WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup.
WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user.
WarningMandatorySetupNotComplete=Click here to setup mandatory parameters
WarningEnableYourModulesApplications=Click here to enable your modules and applications
WarningEnableYourModulesApplications=Click here to enable your modules and applications
WarningSafeModeOnCheckExecDir=Warning, PHP option <b>safe_mode</b> is on so command must be stored inside a directory declared by php parameter <b>safe_mode_exec_dir</b>.
WarningBookmarkAlreadyExists=A bookmark with this title or this target (URL) already exists.
WarningPassIsEmpty=Warning, database password is empty. This is a security hole. You should add a password to your database and change your conf.php file to reflect this.
@@ -251,4 +251,4 @@ WarningAnEntryAlreadyExistForTransKey=An entry already exists for the translatio
WarningNumberOfRecipientIsRestrictedInMassAction=Warning, number of different recipient is limited to <b>%s</b> when using the mass actions on lists
WarningDateOfLineMustBeInExpenseReportRange=Warning, the date of line is not in the range of the expense report
WarningProjectClosed=Project is closed. You must re-open it first.
WarningSomeBankTransactionByChequeWereRemovedAfter=Some bank transaction were removed after that the receipt including them were generated. So nb of cheques and total of receipt may differ from number and total in list.
WarningSomeBankTransactionByChequeWereRemovedAfter=Some bank transaction were removed after that the receipt including them were generated. So nb of cheques and total of receipt may differ from number and total in list.
@@ -130,4 +130,4 @@ FormatControlRule=Format control rule
KeysToUseForUpdates=Key (column) to use for <b>updating</b> existing data
NbInsert=Number of inserted lines: %s
NbUpdate=Number of updated lines: %s
MultipleRecordFoundWithTheseFilters=Multiple records have been found with these filters: %s
MultipleRecordFoundWithTheseFilters=Multiple records have been found with these filters: %s
@@ -11,4 +11,4 @@ FTPFailedToRemoveFile=Failed to remove file <b>%s</b>.
FTPFailedToRemoveDir=Failed to remove directory <b>%s</b>: check permissions and that the directory is empty.
FTPPassiveMode=Passive mode
ChooseAFTPEntryIntoMenu=Choose a FTP site from the menu...
FailedToGetFile=Failed to get files %s
FailedToGetFile=Failed to get files %s

0 comments on commit 03a1897

Please sign in to comment.
You can’t perform that action at this time.