diff --git a/htdocs/bom/bom_card.php b/htdocs/bom/bom_card.php
index 48e9c9d965a..c98dee97f51 100644
--- a/htdocs/bom/bom_card.php
+++ b/htdocs/bom/bom_card.php
@@ -523,7 +523,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
$keyforbreak = 'duration';
include DOL_DOCUMENT_ROOT.'/core/tpl/commonfields_view.tpl.php';
- print '
| '.$langs->trans("TotalCost").' | '.price($object->total_cost).' |
';
+ print '| '.$form->textwithpicto($langs->trans("TotalCost"), $langs->trans("BOMTotalCost")).' | '.price($object->total_cost).' |
';
print '| '.$langs->trans("UnitCost").' | '.price($object->unit_cost).' |
';
// Other attributes
diff --git a/htdocs/bom/class/bom.class.php b/htdocs/bom/class/bom.class.php
index 3e522b3c11f..86e0b84b655 100644
--- a/htdocs/bom/class/bom.class.php
+++ b/htdocs/bom/class/bom.class.php
@@ -1013,11 +1013,20 @@ class BOM extends CommonObject
$this->unit_cost = 0;
$this->total_cost = 0;
+ require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php';
+ $productFournisseur = new ProductFournisseur($this->db);
+
foreach ($this->lines as &$line) {
$tmpproduct = new Product($this->db);
$tmpproduct->fetch($line->fk_product);
+ $line->unit_cost = price2num((!empty($tmpproduct->cost_price)) ? $tmpproduct->cost_price : $tmpproduct->pmp);
+ if (empty($line->unit_cost)) {
+ if ($productFournisseur->find_min_price_product_fournisseur($line->fk_product) > 0)
+ {
+ $line->unit_cost = $productFournisseur->fourn_unitprice;
+ }
+ }
- $line->unit_cost = (!empty($tmpproduct->cost_price)) ? $tmpproduct->cost_price : $tmpproduct->pmp; // TODO : add option to work with cost_price or pmp
$line->total_cost = price2num($line->qty * $line->unit_cost, 'MT');
$this->total_cost += $line->total_cost;
}
diff --git a/htdocs/core/lib/xcal.lib.php b/htdocs/core/lib/xcal.lib.php
index 440f1147cbf..3d8120a6d29 100644
--- a/htdocs/core/lib/xcal.lib.php
+++ b/htdocs/core/lib/xcal.lib.php
@@ -334,9 +334,10 @@ function build_calfile($format, $title, $desc, $events_array, $outputfile)
* @param string $outputfile Output file
* @param string $filter (optional) Filter
* @param string $url Url (If empty, forge URL for agenda RSS export)
+ * @param string $langcode Language code to show in header
* @return int < 0 if ko, Nb of events in file if ok
*/
-function build_rssfile($format, $title, $desc, $events_array, $outputfile, $filter = '', $url = '')
+function build_rssfile($format, $title, $desc, $events_array, $outputfile, $filter = '', $url = '', $langcode = '')
{
global $user, $conf, $langs;
global $dolibarr_main_url_root;
@@ -362,7 +363,9 @@ function build_rssfile($format, $title, $desc, $events_array, $outputfile, $filt
fwrite($fichier, '');
fwrite($fichier, "\n");
- fwrite($fichier, "\n".$title."\n");
+ fwrite($fichier, "\n");
+ fwrite($fichier, "".$title."\n");
+ if ($langcode) fwrite($fichier, "".$langcode."\n");
/*
fwrite($fichier, ""."\n".
diff --git a/htdocs/langs/en_US/mrp.lang b/htdocs/langs/en_US/mrp.lang
index d3c4d3253c6..faa8eb60cf4 100644
--- a/htdocs/langs/en_US/mrp.lang
+++ b/htdocs/langs/en_US/mrp.lang
@@ -74,3 +74,4 @@ ProductsToConsume=Products to consume
ProductsToProduce=Products to produce
UnitCost=Unit cost
TotalCost=Total cost
+BOMTotalCost=The cost to produce this BOM based on cost of each quantity and product to consume (use Cost price if defined, else Average Weighted Price if defined, else the Best purchase price)
\ No newline at end of file
diff --git a/htdocs/langs/en_US/website.lang b/htdocs/langs/en_US/website.lang
index 2c555b40c20..6109f3ca879 100644
--- a/htdocs/langs/en_US/website.lang
+++ b/htdocs/langs/en_US/website.lang
@@ -127,4 +127,6 @@ OtherLanguages=Other languages
UseManifest=Provide a manifest.json file
PublicAuthorAlias=Public author alias
AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties
-ReplacementDoneInXPages=Replacement done in %s pages or containers
\ No newline at end of file
+ReplacementDoneInXPages=Replacement done in %s pages or containers
+RSSFeed=RSS Feed
+RSSFeedDesc=You can get a RSS feed of latest articles with type 'blogpost' using this URL
\ No newline at end of file
diff --git a/htdocs/website/index.php b/htdocs/website/index.php
index 1eef84a1ae7..07e2719ab03 100644
--- a/htdocs/website/index.php
+++ b/htdocs/website/index.php
@@ -2978,6 +2978,14 @@ if ($action == 'editcss')
print '';
+ // RSS
+ print '| ';
+ $htmlhelp = $langs->trans('RSSFeedDesc');
+ print $form->textwithpicto($langs->trans('RSSFeed'), $htmlhelp, 1, 'help', '', 0, 2, '');
+ print ' | ';
+ print '/wrapper.php?rss=1[&l=XX][&limit=123]';
+ print ' |
';
+
print '';
dol_fiche_end();
diff --git a/htdocs/website/samples/wrapper.php b/htdocs/website/samples/wrapper.php
index 25483a36f53..abb2bea0179 100644
--- a/htdocs/website/samples/wrapper.php
+++ b/htdocs/website/samples/wrapper.php
@@ -12,6 +12,8 @@ $hashp = GETPOST('hashp', 'aZ09');
$modulepart = GETPOST('modulepart', 'aZ09');
$entity = GETPOST('entity', 'int') ?GETPOST('entity', 'int') : $conf->entity;
$original_file = GETPOST("file", "alpha");
+$l = GETPOST('l', 'aZ09');
+$limit = GETPOST('limit', 'int');
// Parameters for RSS
$rss = GETPOST('rss', 'aZ09');
@@ -90,8 +92,8 @@ if ($rss) {
$type = '';
$cachedelay = 0;
$filename = $original_file;
- $filters = array('type_container'=>'blogpost', 'lang'=>'en_US');
$dir_temp = $conf->website->dir_temp;
+
include_once DOL_DOCUMENT_ROOT.'/website/class/website.class.php';
include_once DOL_DOCUMENT_ROOT.'/website/class/websitepage.class.php';
$website = new Website($db);
@@ -99,7 +101,10 @@ if ($rss) {
$website->fetch('', $websitekey);
- $MAXNEWS = 20;
+ $filters = array('type_container'=>'blogpost');
+ if ($l) $filters['lang'] = $l;
+
+ $MAXNEWS = ($limit ? $limit : 20);
$arrayofblogs = $websitepage->fetchAll($website->id, 'DESC', 'date_creation', $MAXNEWS, 0, $filters);
$eventarray = array();
if (is_array($arrayofblogs)) {
@@ -151,7 +156,7 @@ if ($rss) {
@chmod($outputfiletmp, octdec($conf->global->MAIN_UMASK));
// Write file
- $result = build_rssfile($format, $title, $desc, $eventarray, $outputfiletmp, '', $website->virtualhost.'/wrapper.php?rss=1');
+ $result = build_rssfile($format, $title, $desc, $eventarray, $outputfiletmp, '', $website->virtualhost.'/wrapper.php?rss=1'.($l ? '&l='.$l : ''), $l);
if ($result >= 0)
{