Last code optimization before release.

This commit is contained in:
James Cole
2018-07-28 10:45:16 +02:00
parent d35470a79e
commit 0c7b652a70
42 changed files with 217 additions and 301 deletions

View File

@@ -41,11 +41,11 @@ class AccountList implements BinderInterface
*
* @return Collection
* @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
public static function routeBinder(string $value, Route $route): Collection
{
if (auth()->check()) {
$collection = new Collection;
if ('allAssetAccounts' === $value) {
/** @var \Illuminate\Support\Collection $collection */
@@ -55,18 +55,8 @@ class AccountList implements BinderInterface
->get(['accounts.*']);
}
if ('allAssetAccounts' !== $value) {
$list = [];
$incoming = explode(',', $value);
foreach ($incoming as $entry) {
$list[] = (int)$entry;
}
$list = array_unique($list);
if (0 === \count($list)) {
Log::error('Account list is empty.');
throw new NotFoundHttpException; // @codeCoverageIgnore
}
$incoming = array_map('\intval', explode(',', $value));
$list = array_merge(array_unique($incoming), [0]);
/** @var \Illuminate\Support\Collection $collection */
$collection = auth()->user()->accounts()
->leftJoin('account_types', 'account_types.id', '=', 'accounts.account_type_id')

View File

@@ -38,16 +38,12 @@ class BudgetList implements BinderInterface
*
* @return Collection
* @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
public static function routeBinder(string $value, Route $route): Collection
{
if (auth()->check()) {
$list = [];
$incoming = explode(',', $value);
foreach ($incoming as $entry) {
$list[] = (int)$entry;
}
$list = array_unique($list);
$list = array_unique(array_map('\intval', explode(',', $value)));
if (0 === \count($list)) {
throw new NotFoundHttpException; // @codeCoverageIgnore
}

View File

@@ -38,16 +38,12 @@ class CategoryList implements BinderInterface
*
* @return Collection
* @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
public static function routeBinder(string $value, Route $route): Collection
{
if (auth()->check()) {
$list = [];
$incoming = explode(',', $value);
foreach ($incoming as $entry) {
$list[] = (int)$entry;
}
$list = array_unique($list);
$list = array_unique(array_map('\intval', explode(',', $value)));
if (0 === \count($list)) {
throw new NotFoundHttpException; // @codeCoverageIgnore
}

View File

@@ -46,28 +46,25 @@ class Date implements BinderInterface
/** @var FiscalHelperInterface $fiscalHelper */
$fiscalHelper = app(FiscalHelperInterface::class);
switch ($value) {
default:
try {
$date = new Carbon($value);
} catch (Exception $e) {
Log::error(sprintf('Could not parse date "%s" for user #%d: %s', $value, auth()->user()->id, $e->getMessage()));
throw new NotFoundHttpException;
}
return $date;
case 'currentMonthStart':
return Carbon::now()->startOfMonth();
case 'currentMonthEnd':
return Carbon::now()->endOfMonth();
case 'currentYearStart':
return Carbon::now()->startOfYear();
case 'currentYearEnd':
return Carbon::now()->endOfYear();
case 'currentFiscalYearStart':
return $fiscalHelper->startOfFiscalYear(Carbon::now());
case 'currentFiscalYearEnd':
return $fiscalHelper->endOfFiscalYear(Carbon::now());
$magicWords = [
'currentMonthStart' => Carbon::now()->startOfMonth(),
'currentMonthEnd' => Carbon::now()->endOfMonth(),
'currentYearStart' => Carbon::now()->startOfYear(),
'currentYearEnd' => Carbon::now()->endOfYear(),
'currentFiscalYearStart' => $fiscalHelper->startOfFiscalYear(Carbon::now()),
'currentFiscalYearEnd' => $fiscalHelper->endOfFiscalYear(Carbon::now()),
];
if (isset($magicWords[$value])) {
return $magicWords[$value];
}
try {
$result = new Carbon($value);
} catch (Exception $e) {
Log::error(sprintf('Could not parse date "%s" for user #%d: %s', $value, auth()->user()->id, $e->getMessage()));
throw new NotFoundHttpException;
}
return $result;
}
}

View File

@@ -37,6 +37,8 @@ class ImportProvider implements BinderInterface
{
/**
* @return array
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
*/
public static function getProviders(): array
{

View File

@@ -41,12 +41,7 @@ class JournalList implements BinderInterface
public static function routeBinder(string $value, Route $route): Collection
{
if (auth()->check()) {
$list = [];
$incoming = explode(',', $value);
foreach ($incoming as $entry) {
$list[] = (int)$entry;
}
$list = array_unique($list);
$list = array_unique(array_map('\intval', explode(',', $value)));
if (0 === \count($list)) {
throw new NotFoundHttpException; // @codeCoverageIgnore
}

View File

@@ -41,16 +41,14 @@ class SimpleJournalList implements BinderInterface
*
* @return mixed
* @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
* @SuppressWarnings(PHPMD.NPathComplexity)
*/
public static function routeBinder(string $value, Route $route): Collection
{
if (auth()->check()) {
$list = [];
$incoming = explode(',', $value);
foreach ($incoming as $entry) {
$list[] = (int)$entry;
}
$list = array_unique($list);
$list = array_unique(array_map('\intval', explode(',', $value)));
if (0 === \count($list)) {
throw new NotFoundHttpException; // @codeCoverageIgnore
}
@@ -97,7 +95,6 @@ class SimpleJournalList implements BinderInterface
}
if ($final->count() > 0) {
if (\count($messages) > 0) {
session()->flash('info', $messages);
}

View File

@@ -44,12 +44,7 @@ class TagList implements BinderInterface
public static function routeBinder(string $value, Route $route): Collection
{
if (auth()->check()) {
$list = [];
$incoming = explode(',', $value);
foreach ($incoming as $entry) {
$list[] = strtolower(trim($entry));
}
$list = array_unique($list);
$list = array_unique(array_map('\strtolower', explode(',', $value)));
if (0 === \count($list)) {
Log::error('Tag list is empty.');
throw new NotFoundHttpException; // @codeCoverageIgnore