diff --git a/htdocs/comm/propal/card.php b/htdocs/comm/propal/card.php
index b33bdf00086..72eee9c22df 100644
--- a/htdocs/comm/propal/card.php
+++ b/htdocs/comm/propal/card.php
@@ -2595,7 +2595,7 @@ if ($action == 'create') {
// Create an invoice and classify billed
if ($object->statut == Propal::STATUS_SIGNED && empty($conf->global->PROPOSAL_ARE_NOT_BILLABLE)) {
if (!empty($conf->facture->enabled) && $usercancreateinvoice) {
- print ''.$langs->trans("AddBill").'';
+ print ''.$langs->trans("CreateBill").'';
}
$arrayofinvoiceforpropal = $object->getInvoiceArrayList();
diff --git a/htdocs/compta/facture/class/facturestats.class.php b/htdocs/compta/facture/class/facturestats.class.php
index 96c8e88b97e..1e6457104ea 100644
--- a/htdocs/compta/facture/class/facturestats.class.php
+++ b/htdocs/compta/facture/class/facturestats.class.php
@@ -266,4 +266,31 @@ class FactureStats extends Stats
return $this->_getAllByProduct($sql, $limit);
}
+ /**
+ * Return the invoices amount by year for a number of past years
+ *
+ * @param int $numberYears Years to scan
+ * @param int $format 0=Label of abscissa is a translated text, 1=Label of abscissa is year, 2=Label of abscissa is last number of year
+ * @return array Array with amount by year
+ */
+ public function getAmountByYear($numberYears, $format = 0)
+ {
+ global $user;
+
+ $endYear = date('Y');
+ $startYear = $endYear - $numberYears;
+ $sql = "SELECT date_format(datef,'%Y') as dm, SUM(f.".$this->field.")";
+ $sql .= " FROM ".$this->from;
+ if (!$user->rights->societe->client->voir && !$this->socid) {
+ $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
+ }
+ $sql .= $this->join;
+ $sql .= " WHERE f.datef BETWEEN '".$this->db->idate(dol_get_first_day($startYear))."' AND '".$this->db->idate(dol_get_last_day($endYear))."'";
+ $sql .= " AND ".$this->where;
+ $sql .= " GROUP BY dm";
+ $sql .= $this->db->order('dm', 'ASC');
+
+ $res = $this->_getAmountByYear($sql);
+ return $res;
+ }
}
diff --git a/htdocs/core/actions_addupdatedelete.inc.php b/htdocs/core/actions_addupdatedelete.inc.php
index de4b9d86da1..2cc477520ea 100644
--- a/htdocs/core/actions_addupdatedelete.inc.php
+++ b/htdocs/core/actions_addupdatedelete.inc.php
@@ -236,7 +236,9 @@ if ($action == 'update' && !empty($permissiontoadd)) {
if ($conf->categorie->enabled) {
$categories = GETPOST('categories', 'array');
- $object->setCategories($categories);
+ if (method_exists($object, 'setCategories')) {
+ $object->setCategories($categories);
+ }
}
}
diff --git a/htdocs/core/boxes/box_graph_invoices_peryear.php b/htdocs/core/boxes/box_graph_invoices_peryear.php
new file mode 100644
index 00000000000..14a431bcb84
--- /dev/null
+++ b/htdocs/core/boxes/box_graph_invoices_peryear.php
@@ -0,0 +1,215 @@
+
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+/**
+ * \file htdocs/core/boxes/box_graph_invoices_peryear.php
+ * \ingroup factures
+ * \brief Box to show graph of invoices per year
+ */
+include_once DOL_DOCUMENT_ROOT.'/core/boxes/modules_boxes.php';
+
+
+/**
+ * Class to manage the box to show last invoices
+ */
+class box_graph_invoices_peryear extends ModeleBoxes
+{
+ public $boxcode = "invoicesperyear";
+ public $boximg = "object_bill";
+ public $boxlabel = "BoxCustomersInvoicesPerYear";
+ public $depends = array("facture");
+
+ /**
+ * @var DoliDB Database handler.
+ */
+ public $db;
+
+ public $info_box_head = array();
+ public $info_box_contents = array();
+
+
+ /**
+ * Constructor
+ *
+ * @param DoliDB $db Database handler
+ * @param string $param More parameters
+ */
+ public function __construct($db, $param)
+ {
+ global $user;
+
+ $this->db = $db;
+
+ $this->hidden = !($user->rights->facture->lire);
+ }
+
+ /**
+ * Load data into info_box_contents array to show array later.
+ *
+ * @param int $max Maximum number of records to load
+ * @return void
+ */
+ public function loadBox($max = 5)
+ {
+ global $conf, $user, $langs;
+
+ $this->max = $max;
+
+ $refreshaction = 'refresh_'.$this->boxcode;
+
+ //include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
+ //$facturestatic=new Facture($this->db);
+
+ $startmonth = $conf->global->SOCIETE_FISCAL_MONTH_START ? ($conf->global->SOCIETE_FISCAL_MONTH_START) : 1;
+ if (empty($conf->global->GRAPH_USE_FISCAL_YEAR)) $startmonth = 1;
+
+ $text = $langs->trans("Turnover", $max);
+ $this->info_box_head = array(
+ 'text' => $text,
+ 'limit'=> dol_strlen($text),
+ 'graph'=> 1,
+ 'sublink'=>'',
+ 'subtext'=>$langs->trans("Filter"),
+ 'subpicto'=>'filter.png',
+ 'subclass'=>'linkobject boxfilter',
+ 'target'=>'none' // Set '' to get target="_blank"
+ );
+
+ $dir = ''; // We don't need a path because image file will not be saved into disk
+ $prefix = '';
+ $socid = 0;
+ if ($user->socid) $socid = $user->socid;
+ if (!$user->rights->societe->client->voir || $socid) $prefix .= 'private-'.$user->id.'-'; // If user has no permission to see all, output dir is specific to user
+
+ if ($user->rights->facture->lire) {
+ $mesg = '';
+
+ $param_year = 'DOLUSERCOOKIE_box_'.$this->boxcode.'_year';
+ $param_showtot = 'DOLUSERCOOKIE_box_'.$this->boxcode.'_showtot';
+
+ include_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php';
+ include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facturestats.class.php';
+ $autosetarray = preg_split("/[,;:]+/", GETPOST('DOL_AUTOSET_COOKIE'));
+ if (in_array('DOLUSERCOOKIE_box_'.$this->boxcode, $autosetarray)) {
+ $endyear = GETPOST($param_year, 'int');
+ $showtot = GETPOST($param_showtot, 'alpha');
+ } else {
+ $tmparray = json_decode($_COOKIE['DOLUSERCOOKIE_box_'.$this->boxcode], true);
+ $endyear = $tmparray['year'];
+ $showtot = $tmparray['showtot'];
+ }
+ if (empty($showtot)) { $showtot = 1; }
+ $nowarray = dol_getdate(dol_now(), true);
+ if (empty($endyear)) $endyear = $nowarray['year'];
+ $numberyears = (empty($conf->global->MAIN_NB_OF_YEAR_IN_WIDGET_GRAPH) ? 5 : $conf->global->MAIN_NB_OF_YEAR_IN_WIDGET_GRAPH);
+ $startyear = $endyear - $numberyears;
+
+ $mode = 'customer';
+ $WIDTH = (($showtot) || !empty($conf->dol_optimize_smallscreen)) ? '256' : '320';
+ $HEIGHT = '192';
+
+ $stats = new FactureStats($this->db, $socid, $mode, 0);
+
+ // Build graphic amount of object. $data = array(array('Lib',val1,val2,val3),...)
+ $data2 = $stats->getAmountByYear($numberyears);
+
+ $filenamenb = $dir."/".$prefix."invoicesamountyears-".$endyear.".png";
+ // default value for customer mode
+ $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=billstats&file=invoicesamountyears-'.$endyear.'.png';
+ if ($mode == 'supplier') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=billstatssupplier&file=invoicessupplieramountyears-'.$endyear.'.png';
+
+ $px2 = new DolGraph();
+ $mesg = $px2->isGraphKo();
+ if (!$mesg) {
+ $langs->load("bills");
+
+ $px2->SetData($data2);
+ unset($data2);
+ $i = $startyear;
+ $legend = array();
+ while ($i <= $endyear) {
+ if ($startmonth != 1) {
+ $legend[] = sprintf("%d/%d", $i - 2001, $i - 2000);
+ } else {
+ $legend[] = $i;
+ }
+ $i++;
+ }
+ $px2->SetLegend([$langs->trans("AmountOfBillsHT")]);
+ $px2->SetMaxValue($px2->GetCeilMaxValue());
+ $px2->SetWidth($WIDTH);
+ $px2->SetHeight($HEIGHT);
+ $px2->SetYLabel($langs->trans("AmountOfBillsHT"));
+ $px2->SetShading(3);
+ $px2->SetHorizTickIncrement(1);
+ $px2->SetCssPrefix("cssboxes");
+ $px2->mode = 'depth';
+ $px2->SetTitle($langs->trans("Turnover"));
+
+ $px2->draw($filenamenb, $fileurlnb);
+ }
+
+ if (empty($conf->use_javascript_ajax)) {
+ $langs->load("errors");
+ $mesg = $langs->trans("WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs");
+ }
+
+ if (!$mesg) {
+ $stringtoshow = '';
+ $stringtoshow .= '';
+ $stringtoshow .= '
'; // hideobject is to start hidden
+ $stringtoshow .= '';
+ $stringtoshow .= '
';
+ $stringtoshow .= $px2->show();
+ $this->info_box_contents[0][0] = array('tr'=>'class="oddeven nohover"', 'td' => 'class="nohover center"', 'textnoformat'=>$stringtoshow);
+ } else {
+ $this->info_box_contents[0][0] = array('tr'=>'class="oddeven nohover"', 'td' => 'class="nohover left"', 'maxlength'=>500, 'text' => $mesg);
+ }
+ } else {
+ $this->info_box_contents[0][0] = array(
+ 'td' => 'class="nohover left"',
+ 'text' => ''.$langs->trans("ReadPermissionNotAllowed").''
+ );
+ }
+ }
+
+ /**
+ * Method to show box
+ *
+ * @param array $head Array with properties of box title
+ * @param array $contents Array with properties of box lines
+ * @param int $nooutput No print, only return string
+ * @return string
+ */
+ public function showBox($head = null, $contents = null, $nooutput = 0)
+ {
+ return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput);
+ }
+}
diff --git a/htdocs/core/boxes/box_validated_projects.php b/htdocs/core/boxes/box_validated_projects.php
index 0c4155da6c7..d756e1461ea 100644
--- a/htdocs/core/boxes/box_validated_projects.php
+++ b/htdocs/core/boxes/box_validated_projects.php
@@ -112,11 +112,11 @@ class box_validated_projects extends ModeleBoxes
$sql .= " COUNT(DISTINCT t.rowid) as tasknumber";
$sql .= " FROM ".MAIN_DB_PREFIX."projet AS p";
$sql .= " INNER JOIN ".MAIN_DB_PREFIX."projet_task AS t ON p.rowid = t.fk_projet";
- // TODO Replace -1, -2, -3 with ID used for type of contat project_task into llx_c_type_contact. Once done, we can switch widget as stable.
+ // TODO Replace -1, -2, -3 with ID used for type of contact project_task into llx_c_type_contact. Once done, we can switch widget as stable.
$sql .= " INNER JOIN ".MAIN_DB_PREFIX."element_contact as ec ON ec.element_id = t.rowid AND fk_c_type_contact IN (-1, -2, -3)";
$sql .= " WHERE p.fk_statut = 1"; // Only open projects
if ($projectsListId) {
- $sql .= ' AND p.rowid IN ('.$this->db->sanitize($projectsListId).')'; // Only project we ara allowed
+ $sql .= ' AND p.rowid IN ('.$this->db->sanitize($projectsListId).')'; // Only project are allowed
}
$sql .= " AND t.rowid NOT IN (SELECT fk_task FROM ".MAIN_DB_PREFIX."projet_task_time WHERE fk_user = ".((int) $user->id).")";
$sql .= " GROUP BY p.rowid, p.ref, p.fk_soc, p.dateo";
diff --git a/htdocs/core/class/stats.class.php b/htdocs/core/class/stats.class.php
index 4ac164b1d3a..ae9a8e56e58 100644
--- a/htdocs/core/class/stats.class.php
+++ b/htdocs/core/class/stats.class.php
@@ -617,4 +617,31 @@ abstract class Stats
return $result;
}
+
+ // phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore
+ /**
+ * Returns the summed amounts per year for a given number of past years ending now
+ * @param string $sql SQL
+ * @return array
+ */
+ protected function _getAmountByYear($sql)
+ {
+ $result = array();
+ $resql = $this->db->query($sql);
+ if ($resql) {
+ $num = $this->db->num_rows($resql);
+ $i = 0;
+ while ($i < $num) {
+ $row = $this->db->fetch_row($resql);
+ $j = (int) $row[0];
+ $result[] = [
+ 0 => (int) $row[0],
+ 1 => (int) $row[1],
+ ];
+ $i++;
+ }
+ $this->db->free($resql);
+ }
+ return $result;
+ }
}
diff --git a/htdocs/langs/am_ET/mrp.lang b/htdocs/langs/am_ET/mrp.lang
index 2414a92cefb..5d226c0f77b 100644
--- a/htdocs/langs/am_ET/mrp.lang
+++ b/htdocs/langs/am_ET/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/ar_IQ/mrp.lang b/htdocs/langs/ar_IQ/mrp.lang
index 2414a92cefb..5d226c0f77b 100644
--- a/htdocs/langs/ar_IQ/mrp.lang
+++ b/htdocs/langs/ar_IQ/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/ar_SA/mrp.lang b/htdocs/langs/ar_SA/mrp.lang
index 97c6e6378bb..fe2c1a87769 100644
--- a/htdocs/langs/ar_SA/mrp.lang
+++ b/htdocs/langs/ar_SA/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=أوامر التصنيع
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/az_AZ/mrp.lang b/htdocs/langs/az_AZ/mrp.lang
index 2414a92cefb..5d226c0f77b 100644
--- a/htdocs/langs/az_AZ/mrp.lang
+++ b/htdocs/langs/az_AZ/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/bg_BG/mrp.lang b/htdocs/langs/bg_BG/mrp.lang
index 0c39bca3291..933315a64d4 100644
--- a/htdocs/langs/bg_BG/mrp.lang
+++ b/htdocs/langs/bg_BG/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Стойност 0,95 означава сре
DeleteBillOfMaterials=Изтриване на списък с материали
DeleteMo=Изтриване на поръчка за производство
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Поръчки за производство
NewMO=Нова поръчка за производство
QtyToProduce=Кол. за производство
diff --git a/htdocs/langs/bn_BD/mrp.lang b/htdocs/langs/bn_BD/mrp.lang
index 2414a92cefb..5d226c0f77b 100644
--- a/htdocs/langs/bn_BD/mrp.lang
+++ b/htdocs/langs/bn_BD/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/bn_IN/mrp.lang b/htdocs/langs/bn_IN/mrp.lang
index 2414a92cefb..5d226c0f77b 100644
--- a/htdocs/langs/bn_IN/mrp.lang
+++ b/htdocs/langs/bn_IN/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/bs_BA/mrp.lang b/htdocs/langs/bs_BA/mrp.lang
index 16ab0c8ac49..999a6ec67b8 100644
--- a/htdocs/langs/bs_BA/mrp.lang
+++ b/htdocs/langs/bs_BA/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/cs_CZ/mrp.lang b/htdocs/langs/cs_CZ/mrp.lang
index 948205b3887..13d519a79b7 100644
--- a/htdocs/langs/cs_CZ/mrp.lang
+++ b/htdocs/langs/cs_CZ/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Hodnota 0,95 znamená průměrně ztrátu vyr
DeleteBillOfMaterials=Odstranit kusovník
DeleteMo=Smazat výrobní zakázku
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Výrobní zakázky
NewMO=Nová výrobní objednávka
QtyToProduce=Množství k výrobě
diff --git a/htdocs/langs/de_DE/mrp.lang b/htdocs/langs/de_DE/mrp.lang
index 0c90379fd43..323bbe74d59 100644
--- a/htdocs/langs/de_DE/mrp.lang
+++ b/htdocs/langs/de_DE/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Ein Wert von 0,95 bedeutet im Durchschnitt 5%
DeleteBillOfMaterials=Stückliste löschen
DeleteMo=Fertigungsauftrag löschen
ConfirmDeleteBillOfMaterials=Möchten Sie diese Stückliste wirklich löschen?
-ConfirmDeleteMo=Möchten Sie diese Stückliste wirklich löschen?
+ConfirmDeleteMo=Möchten Sie diese Fertigungsauftrag wirklich löschen?
MenuMRP=Fertigungsaufträge
NewMO=Neuer Fertigungsauftrag
QtyToProduce=Produktionsmenge
diff --git a/htdocs/langs/el_GR/mrp.lang b/htdocs/langs/el_GR/mrp.lang
index 3d622d1de8b..f70ffcd3117 100644
--- a/htdocs/langs/el_GR/mrp.lang
+++ b/htdocs/langs/el_GR/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Η τιμή 0,95 σημαίνει κατά μ
DeleteBillOfMaterials=Διαγραφή λογαριασμού υλικών
DeleteMo=Διαγραφή Παραγγελίας Παραγωγής
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Παραγγελίες Παραγωγής
NewMO=Νέα Παραγγελία Παραγωγής
QtyToProduce=Ποσότητα για παραγωγή
diff --git a/htdocs/langs/en_US/mrp.lang b/htdocs/langs/en_US/mrp.lang
index 47d1fbe889f..10e81316ee4 100644
--- a/htdocs/langs/en_US/mrp.lang
+++ b/htdocs/langs/en_US/mrp.lang
@@ -32,7 +32,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
@@ -104,4 +104,4 @@ HumanMachine=Human / Machine
WorkstationArea=Workstation area
Machines=Machines
THMEstimatedHelp=This rate makes it possible to define a forecast cost of the item
-MOAndLines=Manufacturing Orders and lines
\ No newline at end of file
+MOAndLines=Manufacturing Orders and lines
diff --git a/htdocs/langs/en_US/projects.lang b/htdocs/langs/en_US/projects.lang
index 6709a1de200..6531a74840d 100644
--- a/htdocs/langs/en_US/projects.lang
+++ b/htdocs/langs/en_US/projects.lang
@@ -282,3 +282,4 @@ UsageOrganizeEvent=Usage: Event Organization
PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress)
PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects.
SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them
+ProjectTasksWithoutTimeSpent=Project tasks without time spent
diff --git a/htdocs/langs/et_EE/mrp.lang b/htdocs/langs/et_EE/mrp.lang
index c7146c45dfe..32e99e6e6b7 100644
--- a/htdocs/langs/et_EE/mrp.lang
+++ b/htdocs/langs/et_EE/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/eu_ES/mrp.lang b/htdocs/langs/eu_ES/mrp.lang
index acf5a23db9b..a6e57a1168a 100644
--- a/htdocs/langs/eu_ES/mrp.lang
+++ b/htdocs/langs/eu_ES/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/fa_IR/mrp.lang b/htdocs/langs/fa_IR/mrp.lang
index c00afb9dd3a..d536b6b661c 100644
--- a/htdocs/langs/fa_IR/mrp.lang
+++ b/htdocs/langs/fa_IR/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/fi_FI/mrp.lang b/htdocs/langs/fi_FI/mrp.lang
index 2eafe6926bb..14f2af7e1fe 100644
--- a/htdocs/langs/fi_FI/mrp.lang
+++ b/htdocs/langs/fi_FI/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Valmistustilaukset
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/he_IL/mrp.lang b/htdocs/langs/he_IL/mrp.lang
index 2414a92cefb..5d226c0f77b 100644
--- a/htdocs/langs/he_IL/mrp.lang
+++ b/htdocs/langs/he_IL/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/hi_IN/mrp.lang b/htdocs/langs/hi_IN/mrp.lang
index 2414a92cefb..5d226c0f77b 100644
--- a/htdocs/langs/hi_IN/mrp.lang
+++ b/htdocs/langs/hi_IN/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/hr_HR/mrp.lang b/htdocs/langs/hr_HR/mrp.lang
index dd2c40eda6c..00710061f2a 100644
--- a/htdocs/langs/hr_HR/mrp.lang
+++ b/htdocs/langs/hr_HR/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Proizvodni nalozi
NewMO=Novi proizvodni nalog
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/hu_HU/mrp.lang b/htdocs/langs/hu_HU/mrp.lang
index 350817adedb..0623b3a8447 100644
--- a/htdocs/langs/hu_HU/mrp.lang
+++ b/htdocs/langs/hu_HU/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Gyártási rendelések
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/id_ID/mrp.lang b/htdocs/langs/id_ID/mrp.lang
index 76290ed5ea9..6f0d5c87b0a 100644
--- a/htdocs/langs/id_ID/mrp.lang
+++ b/htdocs/langs/id_ID/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Nilai 0,95 berarti rata-rata 5%% dari kehilan
DeleteBillOfMaterials=Hapus Bill Of Material
DeleteMo=Hapus Pesanan Pembuatan
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Pesanan Manufaktur
NewMO=Pesanan Manufaktur Baru
QtyToProduce=Jumlah yang akan diproduksi
diff --git a/htdocs/langs/is_IS/mrp.lang b/htdocs/langs/is_IS/mrp.lang
index 8fe3fd8f4c1..ca52ce21b60 100644
--- a/htdocs/langs/is_IS/mrp.lang
+++ b/htdocs/langs/is_IS/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/it_IT/mrp.lang b/htdocs/langs/it_IT/mrp.lang
index 1e6247f3799..6d54470bf3f 100644
--- a/htdocs/langs/it_IT/mrp.lang
+++ b/htdocs/langs/it_IT/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Il valore di 0,95 indica una media di 5%% di
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Elimina Ordine di Produzione
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Ordini di produzione
NewMO=Nuovo ordine di produzione
QtyToProduce=Qtà da produrre
diff --git a/htdocs/langs/ka_GE/mrp.lang b/htdocs/langs/ka_GE/mrp.lang
index 2414a92cefb..5d226c0f77b 100644
--- a/htdocs/langs/ka_GE/mrp.lang
+++ b/htdocs/langs/ka_GE/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/kk_KZ/mrp.lang b/htdocs/langs/kk_KZ/mrp.lang
index 2414a92cefb..5d226c0f77b 100644
--- a/htdocs/langs/kk_KZ/mrp.lang
+++ b/htdocs/langs/kk_KZ/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/km_KH/mrp.lang b/htdocs/langs/km_KH/mrp.lang
index 2414a92cefb..5d226c0f77b 100644
--- a/htdocs/langs/km_KH/mrp.lang
+++ b/htdocs/langs/km_KH/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/kn_IN/mrp.lang b/htdocs/langs/kn_IN/mrp.lang
index 2414a92cefb..5d226c0f77b 100644
--- a/htdocs/langs/kn_IN/mrp.lang
+++ b/htdocs/langs/kn_IN/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/ko_KR/mrp.lang b/htdocs/langs/ko_KR/mrp.lang
index 131e1f376ac..9ea63ea0c0c 100644
--- a/htdocs/langs/ko_KR/mrp.lang
+++ b/htdocs/langs/ko_KR/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/lo_LA/mrp.lang b/htdocs/langs/lo_LA/mrp.lang
index 00db7f202ec..daffab535ba 100644
--- a/htdocs/langs/lo_LA/mrp.lang
+++ b/htdocs/langs/lo_LA/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/lt_LT/mrp.lang b/htdocs/langs/lt_LT/mrp.lang
index 9760b1babbe..a88ffc2687d 100644
--- a/htdocs/langs/lt_LT/mrp.lang
+++ b/htdocs/langs/lt_LT/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/mk_MK/mrp.lang b/htdocs/langs/mk_MK/mrp.lang
index 2414a92cefb..5d226c0f77b 100644
--- a/htdocs/langs/mk_MK/mrp.lang
+++ b/htdocs/langs/mk_MK/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/mn_MN/mrp.lang b/htdocs/langs/mn_MN/mrp.lang
index 2414a92cefb..5d226c0f77b 100644
--- a/htdocs/langs/mn_MN/mrp.lang
+++ b/htdocs/langs/mn_MN/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/ne_NP/mrp.lang b/htdocs/langs/ne_NP/mrp.lang
index 2414a92cefb..5d226c0f77b 100644
--- a/htdocs/langs/ne_NP/mrp.lang
+++ b/htdocs/langs/ne_NP/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/nl_NL/mrp.lang b/htdocs/langs/nl_NL/mrp.lang
index d94344175c0..143e3cb4d55 100644
--- a/htdocs/langs/nl_NL/mrp.lang
+++ b/htdocs/langs/nl_NL/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Waarde van 0,95 betekent een gemiddelde van 5
DeleteBillOfMaterials=Stuklijst verwijderen
DeleteMo=Productieorder verwijderen
ConfirmDeleteBillOfMaterials=Weet u zeker dat u deze stuklijst wilt verwijderen?
-ConfirmDeleteMo=Weet u zeker dat u deze stuklijst wilt verwijderen?
+ConfirmDeleteMo=Weet u zeker dat u deze Productieorder wilt verwijderen?
MenuMRP=Productieorders
NewMO=Nieuwe productieorder
QtyToProduce=Te produceren aantal
diff --git a/htdocs/langs/pt_PT/mrp.lang b/htdocs/langs/pt_PT/mrp.lang
index 025f164f94e..39982e5bd35 100644
--- a/htdocs/langs/pt_PT/mrp.lang
+++ b/htdocs/langs/pt_PT/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Eliminar Faturas de Materiais
DeleteMo=Eliminar Encomenda de Manufaturação
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Encomendas de Manufatura
NewMO=Nova Encomenda de Manufatura
QtyToProduce=Qt. a produzir
diff --git a/htdocs/langs/sk_SK/mrp.lang b/htdocs/langs/sk_SK/mrp.lang
index d620b7e31e3..9917552ba94 100644
--- a/htdocs/langs/sk_SK/mrp.lang
+++ b/htdocs/langs/sk_SK/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/sl_SI/mrp.lang b/htdocs/langs/sl_SI/mrp.lang
index 30bf0ca0238..b700927dd12 100644
--- a/htdocs/langs/sl_SI/mrp.lang
+++ b/htdocs/langs/sl_SI/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/sq_AL/mrp.lang b/htdocs/langs/sq_AL/mrp.lang
index 29554c164a3..20a6d7238de 100644
--- a/htdocs/langs/sq_AL/mrp.lang
+++ b/htdocs/langs/sq_AL/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/sr_RS/mrp.lang b/htdocs/langs/sr_RS/mrp.lang
index 16ab0c8ac49..999a6ec67b8 100644
--- a/htdocs/langs/sr_RS/mrp.lang
+++ b/htdocs/langs/sr_RS/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/sw_SW/mrp.lang b/htdocs/langs/sw_SW/mrp.lang
index 2414a92cefb..5d226c0f77b 100644
--- a/htdocs/langs/sw_SW/mrp.lang
+++ b/htdocs/langs/sw_SW/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/tg_TJ/mrp.lang b/htdocs/langs/tg_TJ/mrp.lang
index 2414a92cefb..5d226c0f77b 100644
--- a/htdocs/langs/tg_TJ/mrp.lang
+++ b/htdocs/langs/tg_TJ/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/th_TH/mrp.lang b/htdocs/langs/th_TH/mrp.lang
index d5d061b855b..229690f76fd 100644
--- a/htdocs/langs/th_TH/mrp.lang
+++ b/htdocs/langs/th_TH/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/tr_TR/mrp.lang b/htdocs/langs/tr_TR/mrp.lang
index 574ddefd491..b9c69a56364 100644
--- a/htdocs/langs/tr_TR/mrp.lang
+++ b/htdocs/langs/tr_TR/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Üretim Emri Sil
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Üretim Emirleri
NewMO=Yeni Üretim Emiri
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/uk_UA/mrp.lang b/htdocs/langs/uk_UA/mrp.lang
index 2414a92cefb..5d226c0f77b 100644
--- a/htdocs/langs/uk_UA/mrp.lang
+++ b/htdocs/langs/uk_UA/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/vi_VN/mrp.lang b/htdocs/langs/vi_VN/mrp.lang
index f708bed87af..d24ddfe3b48 100644
--- a/htdocs/langs/vi_VN/mrp.lang
+++ b/htdocs/langs/vi_VN/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Xóa hóa đơn vật liệu
DeleteMo=Xóa đơn hàng sản xuất
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Đơn đặt hàng sản xuất
NewMO=Thêm Đơn hàng sản xuất
QtyToProduce=Số lượng để sản xuất
diff --git a/htdocs/langs/zh_CN/mrp.lang b/htdocs/langs/zh_CN/mrp.lang
index 86170bd9d91..e9f0381124a 100644
--- a/htdocs/langs/zh_CN/mrp.lang
+++ b/htdocs/langs/zh_CN/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/langs/zh_HK/mrp.lang b/htdocs/langs/zh_HK/mrp.lang
index 2414a92cefb..5d226c0f77b 100644
--- a/htdocs/langs/zh_HK/mrp.lang
+++ b/htdocs/langs/zh_HK/mrp.lang
@@ -31,7 +31,7 @@ ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss
DeleteBillOfMaterials=Delete Bill Of Materials
DeleteMo=Delete Manufacturing Order
ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials?
-ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials?
+ConfirmDeleteMo=Are you sure you want to delete this Manufacturing Order?
MenuMRP=Manufacturing Orders
NewMO=New Manufacturing Order
QtyToProduce=Qty to produce
diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php
index e9ad7916137..1567df55a56 100644
--- a/htdocs/main.inc.php
+++ b/htdocs/main.inc.php
@@ -1043,6 +1043,16 @@ if (!defined('NOLOGIN')) {
//Required if advanced permissions are used with MAIN_USE_ADVANCED_PERMS
if (!empty($conf->global->MAIN_USE_ADVANCED_PERMS)) {
+ if (empty($user->rights->user->user_advance)) {
+ $user->rights->user->user_advance = new stdClass(); // To avoid warnings
+ }
+ if (empty($user->rights->user->self_advance)) {
+ $user->rights->user->self_advance = new stdClass(); // To avoid warnings
+ }
+ if (empty($user->rights->user->group_advance)) {
+ $user->rights->user->group_advance = new stdClass(); // To avoid warnings
+ }
+
$user->rights->user->user_advance->readperms = 1;
$user->rights->user->user_advance->write = 1;
$user->rights->user->self_advance->readperms = 1;