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

currency -> create

Übergeordneter 08e3195c
Keine zugehörigen Branchen gefunden
Keine zugehörigen Tags gefunden
Keine zugehörigen Merge Requests gefunden
......@@ -14,6 +14,8 @@ Features (Funktionen)
- Automatische Aktualisierung der Wechselkurse
- Währungsumrechnung zwischen verschiedenen Währungen
- Hinzufügen von neuen Währungen möglich
- Wechselkurse können auch händisch angepasst werden
Installation
......@@ -44,4 +46,4 @@ Lizenz
Entwickler
--------
- Damit Währungen vorhanden sind muss ein Cron eingerichtet werden welche Währungen importiert.
\ No newline at end of file
---
\ No newline at end of file
......@@ -5,6 +5,14 @@
<de><![CDATA[Shop]]></de>
<en><![CDATA[Shop]]></en>
</locale>
<locale name="exception.already.exists">
<de><![CDATA[Die Währung [currency] existiert bereits.]]></de>
<en><![CDATA[The currency [currency] already exists.]]></en>
</locale>
<locale name="exception.currency.rate.wrong.format">
<de><![CDATA[Der Wechselkurs besitzt ein falsches Format.]]></de>
<en><![CDATA[The exchange rate has an incorrect format.]]></en>
</locale>
</groups>
<groups name="quiqqer/currency" datatype="js">
......
......@@ -199,6 +199,8 @@ public function convert($amount, $Currency)
*/
public function convertFormat($amount, $Currency)
{
$Currency = Handler::getCurrency($Currency);
return $Currency->format(
$this->convert($amount, $Currency)
);
......@@ -238,7 +240,10 @@ public function setExchangeRate($rate)
QUI\Rights\Permission::checkPermission('currency.edit');
if (!is_numeric($rate)) {
throw new QUI\Exception(array());
throw new QUI\Exception(array(
'quiqqer/currency',
'exception.currency.rate.wrong.format'
));
}
$this->exchangeRate = (float)$rate;
......
......@@ -40,14 +40,42 @@ public static function table()
}
/**
* Create a new currency
*
* @param string $currency - currency code
* @param integer|float $rate - currency exchange rate
* @throws QUI\Exception
*/
public static function createCurrency($currency, $rate)
{
QUI\Rights\Permission::checkPermission('currency.create');
$Currency = null;
try {
$Currency = self::getCurrency($currency);
} catch (QUI\Exception $Exception) {
}
if (!is_null($Currency)) {
throw new QUI\Exception(array(
'quiqqer/currency',
'exception.already.exists',
array('currency' => $currency)
));
}
if (!is_numeric($rate)) {
throw new QUI\Exception(array(
'quiqqer/currency',
'exception.currency.rate.wrong.format'
));
}
QUI::getDataBase()->insert(self::table(), array(
'currency' => $currency,
'rate' => (float)$rate
));
}
/**
......
......@@ -55,31 +55,6 @@ public static function import()
} catch (QUI\Exception $Exception) {
QUI\System\Log::writeException($Exception, QUI\System\Log::LEVEL_WARNING);
}
continue;
$result = $DataBase->fetch(array(
'from' => Handler::table(),
'where' => array(
'currency' => $currency
)
));
// Update
if (isset($result[0])) {
$DataBase->update(
Handler::table(),
array('rate' => $rate),
array('currency' => $currency)
);
} else {
$DataBase->insert(
Handler::table(),
array(
'rate' => $rate,
'currency' => $currency
)
);
}
}
}
......
......@@ -15,11 +15,7 @@ class ImportTest extends \PHPUnit_Framework_TestCase
*/
public function testImport()
{
QUI::getDataBase()->table()->truncate(
QUI\ERP\Currency\Handler::table()
);
QUI\ERP\Currency\Import::import();
QUI\ERP\Currency\Import::importCurrenciesFromECB();
$result = QUI::getDataBase()->fetch(array(
'from' => QUI\ERP\Currency\Handler::table()
......
......@@ -8,3 +8,4 @@
// include quiqqer bootstrap for tests
require $packageDir .'/quiqqer/quiqqer/tests/bootstrap.php';
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