Skip to content
Code-Schnipsel Gruppen Projekte
Commit 26dac29a erstellt von Henning Leutz's avatar Henning Leutz :martial_arts_uniform:
Dateien durchsuchen

refactor: consider exchange rates

Übergeordneter a3f0b3f7
Keine zugehörigen Branchen gefunden
Keine zugehörigen Tags gefunden
Keine zugehörigen Merge Requests gefunden
...@@ -276,7 +276,13 @@ public function toUniqueList(): ArticleListUnique ...@@ -276,7 +276,13 @@ public function toUniqueList(): ArticleListUnique
{ {
$this->calc(); $this->calc();
return new ArticleListUnique($this->toArray(), $this->getUser()); $List = new ArticleListUnique($this->toArray(), $this->getUser());
if ($this->ExchangeCurrency) {
$List->setExchangeCurrency($this->ExchangeCurrency);
}
return $List;
} }
/** /**
......
...@@ -54,6 +54,16 @@ class ArticleListUnique implements \IteratorAggregate ...@@ -54,6 +54,16 @@ class ArticleListUnique implements \IteratorAggregate
*/ */
protected $showExchangeRate = true; protected $showExchangeRate = true;
/**
* @var null
*/
protected $ExchangeCurrency = null;
/**
* @var float
*/
protected $exchangeRate = null;
/** /**
* ArticleList constructor. * ArticleList constructor.
* *
...@@ -273,6 +283,22 @@ public function hideHeader() ...@@ -273,6 +283,22 @@ public function hideHeader()
$this->showHeader = false; $this->showHeader = false;
} }
/**
* @param QUI\ERP\Currency\Currency $Currency
*/
public function setExchangeCurrency(QUI\ERP\Currency\Currency $Currency)
{
$this->ExchangeCurrency = $Currency;
}
/**
* @param float $rate
*/
public function setExchangeRate(float $rate)
{
$this->exchangeRate = $rate;
}
/** /**
* Return the Article List as HTML, without CSS * Return the Article List as HTML, without CSS
* *
...@@ -320,14 +346,18 @@ public function toHTML($template = false): string ...@@ -320,14 +346,18 @@ public function toHTML($template = false): string
return $View; return $View;
}, $this->articles); }, $this->articles);
$ExchangeCurrency = QUI\ERP\Currency\Conf::getAccountingCurrency(); $ExchangeCurrency = $this->ExchangeCurrency;
$showExchangeRate = $this->showExchangeRate; $showExchangeRate = $this->showExchangeRate;
$exchangeRateText = ''; $exchangeRateText = '';
if ($ExchangeCurrency->getCode() === $Currency->getCode()) { if (!$ExchangeCurrency || $ExchangeCurrency->getCode() === $Currency->getCode()) {
$showExchangeRate = false; $showExchangeRate = false;
$exchangeRate = false; $exchangeRate = false;
} else { } else {
if ($this->exchangeRate) {
$Currency->setExchangeRate($this->exchangeRate);
}
$exchangeRate = $Currency->getExchangeRate($ExchangeCurrency); $exchangeRate = $Currency->getExchangeRate($ExchangeCurrency);
$exchangeRate = $ExchangeCurrency->format($exchangeRate); $exchangeRate = $ExchangeCurrency->format($exchangeRate);
......
0% Lade oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren