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

Merge branch 'main' into 'next-3.x'

Update 'next-3.x' with latest changes from 'main'

See merge request !52
Übergeordnete e161e4a9 676b0a9d
Keine zugehörigen Branchen gefunden
Keine zugehörigen Tags gefunden
1 Merge Request!52Update 'next-3.x' with latest changes from 'main'
Pipeline-Nr. 14525 bestanden
# Ignore developer files when exporting
.gitattributes export-ignore
.gitignore export-ignore
.gitlab-ci.yml export-ignore
.phive export-ignore
captainhook.json export-ignore
phpcs.xml.dist export-ignore
phpstan-baseline.neon export-ignore
phpstan.dist.neon export-ignore
phpunit.dist.xml export-ignore
tests export-ignore
# Explicitly set file type and line endings for PHP files, improves git diff output
*.php text eol=lf diff=php
\ No newline at end of file
tools/
phpstan.neon
.phpunit.result.cache
phpunit.xml
\ No newline at end of file
phpunit.xml
tools/
phpstan.neon
.phpunit.result.cache
phpunit.xml
include:
- project: 'quiqqer/stabilization/semantic-release'
file: '/ci-templates/.gitlab-ci.yml'
- component: dev.quiqqer.com/quiqqer/stabilization/ci-cd-components/quiqqer-package-bundle/quiqqer-package-bundle@main
# Remove the entire phpunit-php8.1 block, to allow PHPUnit to run on PHP 8.1 in your pipeline
phpunit-php8.1:
rules:
- when: never
# Remove the entire phpunit-php8.2 block, to allow PHPUnit to run on PHP 8.2 in your pipeline
phpunit-php8.2:
rules:
- when: never
# Remove the entire phpunit-php8.3 block, to allow PHPUnit to run on PHP 8.3 in your pipeline
phpunit-php8.3:
rules:
- when: never
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<phive xmlns="https://phar.io/phive">
<phar name="phpstan" version="^1.10.67" installed="1.10.67" location="./tools/phpstan" copy="false"/>
<phar name="phpstan" version="1.11.8" installed="1.11.8" location="./tools/phpstan" copy="false"/>
<phar name="phpunit" version="^10.5.20" installed="10.5.20" location="./tools/phpunit" copy="false"/>
<phar name="phpcs" version="^3.10.1" installed="3.10.1" location="./tools/phpcs" copy="false"/>
<phar name="phpcbf" version="^3.10.1" installed="3.10.1" location="./tools/phpcbf" copy="false"/>
<phar name="captainhook" version="^5.23.3" installed="5.23.3" location="./tools/captainhook" copy="false"/>
</phive>
# Contributing
This package follows the [QUIQQER contribution guidelines](https://dev.quiqqer.com/quiqqer/stabilization/documentation/-/wikis/home).
\ No newline at end of file
......@@ -18,6 +18,10 @@ function ($data) {
$data = json_decode($data, true);
$result = [];
if (!class_exists('QUI\ERP\Money\Price')) {
return $result;
}
foreach ($data as $entry) {
$amount = $entry['amount'];
$currencyFrom = $entry['from'];
......
{
"pre-commit": {
"enabled": true,
"actions": [
{
"action": "\\CaptainHook\\App\\Hook\\PHP\\Action\\Linting"
},
{
"action": "composer test"
}
]
}
}
\ No newline at end of file
{
"name": "quiqqer/currency",
"type": "quiqqer-module",
"description": "Integrates different currencies in QUIQQER",
"license": "GPL-3.0-or-later",
"authors": [
{
"name": "Henning Leutz",
"email": "leutz@pcsg.de",
"homepage": "https://www.pcsg.de",
"role": "Developer"
"name": "quiqqer/currency",
"type": "quiqqer-module",
"description": "Integrates different currencies in QUIQQER",
"license": "GPL-3.0-or-later",
"authors": [
{
"name": "Henning Leutz",
"email": "leutz@pcsg.de",
"homepage": "https://www.pcsg.de",
"role": "Developer"
}
],
"support": {
"email": "support@pcsg.de"
},
"require": {
"php": "^8.1",
"ext-intl": "*",
"quiqqer/core": "^2",
"quiqqer/qui": "^1"
},
"autoload": {
"psr-4": {
"QUI\\ERP\\Currency\\": "src/QUI/ERP/Currency"
}
},
"scripts": {
"test": [
"@dev:lint",
"@dev:phpunit"
],
"dev:phpunit": "./tools/phpunit",
"dev:lint": [
"@dev:lint:phpstan",
"@dev:lint:style"
],
"dev:lint:phpstan": "./tools/phpstan",
"dev:lint:style": "./tools/phpcs",
"dev:lint:style:fix": "./tools/phpcbf",
"dev:init": [
"@dev:init:check-requirements",
"@dev:init:tools",
"@dev:init:git-hooks"
],
"dev:init:check-requirements": [
"which composer > /dev/null || (echo 'Error: composer has to be globally installed'; exit 1)",
"which phive > /dev/null || (echo 'Error: PHIVE has to be globally installed'; exit 1)"
],
"dev:init:tools": "phive install --temporary",
"dev:init:git-hooks": "./tools/captainhook install --only-enabled --force"
},
"scripts-aliases": {
"test": [
"dev:test"
]
},
"scripts-descriptions": {
"test": "Runs linting, static analysis, and unit tests.",
"dev:phpunit": "Run PHPUnit test suites",
"dev:lint": "Run PHPStan and code style check",
"dev:lint:phpstan": "Run PHPStan",
"dev:lint:style": "Run code style check (PHP_CodeSniffer)",
"dev:lint:style:fix": "Try to fix code style errors automatically",
"dev:init": "Initialize the developer tooling (tools and git hooks)",
"dev:init:check-requirements": "Check if the necessary requirements are met",
"dev:init:tools": "Install all developer tools (requires PHIVE)",
"dev:init:git-hooks": "Install all git hooks (may require tools to be installed)"
}
],
"support": {
"email": "support@pcsg.de"
},
"require": {
"php": "^8.1",
"ext-intl": "*",
"quiqqer/core": "^2",
"quiqqer/qui": "^1"
},
"autoload": {
"psr-4": {
"QUI\\ERP\\Currency\\": "src/QUI/ERP/Currency"
}
}
}
}
\ No newline at end of file
<?xml version="1.0"?>
<ruleset>
<!-- Use PSR-12 ruleset -->
<rule ref="PSR12"/>
<!-- Only scan *.php files -->
<arg name="extensions" value="php"/>
<!-- Ignore warnings -->
<arg name="warning-severity" value="0"/>
<!-- Process 64 (or number of CPU cores) files in parallel -->
<arg name="parallel" value="64"/>
<!-- Output relative file paths, by setting the current folder as the basepath -->
<arg name="basepath" value="."/>
<!-- Show colored output -->
<arg name="colors"/>
<!-- Scan everything in the current folder -->
<file>.</file>
</ruleset>
parameters:
ignoreErrors:
\ No newline at end of file
......@@ -2,7 +2,7 @@ includes:
- phpstan-baseline.neon
parameters:
level: 1
level: 5
paths:
- src
- ajax
......
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="tests/phpunit-bootstrap.php">
<testsuites>
<testsuite name="Tests">
<directory>tests/</directory>
</testsuite>
</testsuites>
</phpunit>
......@@ -182,7 +182,7 @@ public function toArray(): array
* @param null|QUI\Locale $Locale -optional
* @return float
*/
public function amount($amount, QUI\Locale $Locale = null): float
public function amount($amount, null |QUI\Locale $Locale = null): float
{
if (is_float($amount) || is_int($amount)) {
return $amount;
......@@ -215,7 +215,7 @@ public function amount($amount, QUI\Locale $Locale = null): float
* @param null|QUI\Locale $Locale - optional, locale object
* @return string
*/
public function format($amount, QUI\Locale $Locale = null): string
public function format($amount, null|QUI\Locale $Locale = null): string
{
if (!$Locale) {
$Locale = $this->Locale;
......
......@@ -17,7 +17,7 @@ interface CurrencyInterface
* @param QUI\Locale|null $Locale
* @return string
*/
public static function getCurrencyTypeTitle(?QUI\Locale $Locale = null): string;
public static function getCurrencyTypeTitle(null|QUI\Locale $Locale = null): string;
/**
* Get internal identifier of the currency type.
......@@ -39,7 +39,7 @@ public static function getExtraSettingsFormHtml(): ?string;
* @param array $data
* @param QUI\Locale|null $Locale - Locale for the currency
*/
public function __construct(array $data, ?QUI\Locale $Locale = null);
public function __construct(array $data, null|QUI\Locale $Locale = null);
/**
* Set the locale for the currency
......@@ -89,7 +89,7 @@ public function toArray(): array;
* @param null|QUI\Locale $Locale -optional
* @return float
*/
public function amount($amount, QUI\Locale $Locale = null): float;
public function amount($amount, null|QUI\Locale $Locale = null): float;
/**
* Format an amount
......@@ -98,7 +98,7 @@ public function amount($amount, QUI\Locale $Locale = null): float;
* @param null|QUI\Locale $Locale - optional, locale object
* @return string
*/
public function format($amount, QUI\Locale $Locale = null): string;
public function format($amount, null|QUI\Locale $Locale = null): string;
/**
* updates the currency itself?
......
......@@ -4,6 +4,7 @@
use Exception;
use QUI;
use QUI\Interfaces\Users\User;
use QUI\Locale;
use function class_exists;
......@@ -200,7 +201,7 @@ public static function getDefaultCurrency(): ?Currency
$Config->getValue('currency', 'defaultCurrency')
);
} catch (QUI\Exception $Exception) {
QUI\System\Log::addError('Default currency is missing');
QUI\System\Log::addWarning('Default currency is missing');
try {
self::$Default = self::getCurrency('EUR');
......@@ -224,7 +225,7 @@ public static function getDefaultCurrency(): ?Currency
* @param null|QUI\Interfaces\Users\User $User - optional
* @return Currency|null
*/
public static function getUserCurrency(QUI\Interfaces\Users\User $User = null): ?Currency
public static function getUserCurrency(null | QUI\Interfaces\Users\User $User = null): ?Currency
{
if ($User === null) {
$User = QUI::getUserBySession();
......@@ -260,10 +261,10 @@ public static function getUserCurrency(QUI\Interfaces\Users\User $User = null):
/**
* Return the currency of the user by its country
*
* @param null $User
* @param User|null $User
* @return Currency|null
*/
public static function getUserCurrencyByCountry($User = null): ?Currency
public static function getUserCurrencyByCountry(null | QUI\Interfaces\Users\User $User = null): ?Currency
{
if ($User === null) {
$User = QUI::getUserBySession();
......@@ -366,7 +367,7 @@ public static function getData(): array
* @return Currency
* @throws QUI\Exception
*/
public static function getCurrency(Currency|string|array $currency): Currency
public static function getCurrency(Currency | string | array $currency): Currency
{
if ($currency instanceof Currency) {
return $currency;
......
<?php
if (!defined('QUIQQER_SYSTEM')) {
define('QUIQQER_SYSTEM', true);
}
if (!defined('QUIQQER_AJAX')) {
define('QUIQQER_AJAX', true);
}
require_once __DIR__ . '/../../../../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