Code reordering and reformatting. I should really start employing style CI.

This commit is contained in:
James Cole
2021-09-18 10:26:12 +02:00
parent 9b9d52e99f
commit 4003cea759
344 changed files with 2776 additions and 2605 deletions

View File

@@ -88,8 +88,9 @@ class CurrencyController extends Controller
* https://api-docs.firefly-iii.org/#/autocomplete/getCurrenciesCodeAC
*
* @param AutocompleteRequest $request
* @deprecated
*
* @return JsonResponse
* @deprecated
*/
public function currenciesWithCode(AutocompleteRequest $request): JsonResponse
{

View File

@@ -58,6 +58,7 @@ class ObjectGroupController extends Controller
/**
* Documentation for this endpoint is at:
* https://api-docs.firefly-iii.org/#/autocomplete/getObjectGroupsAC
*
* @param AutocompleteRequest $request
*
* @return JsonResponse

View File

@@ -46,8 +46,8 @@ abstract class Controller extends BaseController
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
protected const CONTENT_TYPE = 'application/vnd.api+json';
protected ParameterBag $parameters;
protected array $allowedSort;
protected ParameterBag $parameters;
/**
* Controller constructor.

View File

@@ -58,10 +58,11 @@ class AccountController extends Controller
/**
* This endpoint is deprecated and not documented.
* @deprecated
*
* @param MoveTransactionsRequest $request
*
* @return JsonResponse
* @deprecated
*/
public function moveTransactions(MoveTransactionsRequest $request): JsonResponse
{

View File

@@ -71,6 +71,7 @@ class AccountController extends Controller
$end = $request->getEnd();
$assetAccounts = $request->getAssetAccounts();
$transfers = $this->opsRepository->sumTransfers($start, $end, $assetAccounts);
return response()->json($transfers);
}
}

View File

@@ -23,6 +23,7 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers\Models\RuleGroup;
use Exception;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\RuleGroup\TestRequest;
use FireflyIII\Api\V1\Requests\Models\RuleGroup\TriggerRequest;
@@ -36,7 +37,6 @@ use Illuminate\Http\JsonResponse;
use Illuminate\Pagination\LengthAwarePaginator;
use League\Fractal\Pagination\IlluminatePaginatorAdapter;
use League\Fractal\Resource\Collection as FractalCollection;
use Exception;
/**
* Class TriggerController

View File

@@ -26,6 +26,7 @@ namespace FireflyIII\Api\V1\Controllers\Models\TransactionCurrency;
use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Models\TransactionCurrency\UpdateRequest;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\TransactionCurrency;
use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface;
use FireflyIII\Repositories\User\UserRepositoryInterface;
@@ -33,6 +34,7 @@ use FireflyIII\Support\Http\Api\AccountFilter;
use FireflyIII\Support\Http\Api\TransactionFilter;
use FireflyIII\Transformers\CurrencyTransformer;
use Illuminate\Http\JsonResponse;
use JsonException;
use League\Fractal\Resource\Item;
/**
@@ -126,7 +128,7 @@ class UpdateController extends Controller
* @param TransactionCurrency $currency
*
* @return JsonResponse
* @throws \FireflyIII\Exceptions\FireflyException
* @throws FireflyException
* @codeCoverageIgnore
*/
public function makeDefault(TransactionCurrency $currency): JsonResponse
@@ -157,8 +159,8 @@ class UpdateController extends Controller
* @param TransactionCurrency $currency
*
* @return JsonResponse
* @throws \FireflyIII\Exceptions\FireflyException
* @throws \JsonException
* @throws FireflyException
* @throws JsonException
*/
public function update(UpdateRequest $request, TransactionCurrency $currency): JsonResponse
{

View File

@@ -78,6 +78,7 @@ class UpdateRequest extends FormRequest
public function rules(): array
{
$budget = $this->route()->parameter('budget');
return [
'name' => sprintf('between:1,100|uniqueObjectForUser:budgets,name,%d', $budget->id),
'active' => [new IsBoolean],

View File

@@ -53,6 +53,7 @@ class StoreRequest extends FormRequest
public function getAll(): array
{
Log::debug('get all data in TransactionStoreRequest');
return [
'group_title' => $this->string('group_title'),
'error_if_duplicate_hash' => $this->boolean('error_if_duplicate_hash'),

View File

@@ -76,7 +76,7 @@ class CorrectDatabase extends Command
'firefly-iii:fix-recurring-transactions',
'firefly-iii:restore-oauth-keys',
'firefly-iii:fix-transaction-types',
'firefly-iii:fix-frontpage-accounts'
'firefly-iii:fix-frontpage-accounts',
];
foreach ($commands as $command) {
$this->line(sprintf('Now executing %s', $command));

View File

@@ -36,7 +36,6 @@ use FireflyIII\Support\Export\ExportDataGenerator;
use Illuminate\Console\Command;
use Illuminate\Support\Collection;
use InvalidArgumentException;
use League\Csv\CannotInsertRecord;
use Log;
/**

View File

@@ -26,6 +26,7 @@ namespace FireflyIII\Console\Commands\Upgrade;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\BudgetLimit;
use Illuminate\Console\Command;
use JsonException;
/**
* Class BudgetLimitCurrency
@@ -51,7 +52,7 @@ class BudgetLimitCurrency extends Command
*
* @return int
* @throws FireflyException
* @throws \JsonException
* @throws JsonException
*/
public function handle(): int
{

View File

@@ -191,6 +191,7 @@ class TransactionIdentifier extends Command
return null;
}
return $opposing;
}

View File

@@ -23,6 +23,7 @@ declare(strict_types=1);
namespace FireflyIII\Console\Commands\Upgrade;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Account;
use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionCurrency;
@@ -132,7 +133,7 @@ class TransferCurrenciesCorrections extends Command
/**
* @return bool
* @throws \FireflyIII\Exceptions\FireflyException
* @throws FireflyException
*/
private function isExecuted(): bool
{

View File

@@ -106,7 +106,7 @@ class UpgradeDatabase extends Command
// instructions
'firefly:instructions update',
'firefly-iii:verify-security-alerts'
'firefly-iii:verify-security-alerts',
];
$args = [];
if ($this->option('force')) {

View File

@@ -92,59 +92,6 @@ class UpgradeLiabilities extends Command
return false;
}
/**
* @param Account $account
* @param TransactionJournal $openingBalance
*/
private function correctOpeningBalance(Account $account, TransactionJournal $openingBalance): void
{
$source = $this->getSourceTransaction($openingBalance);
$destination = $this->getDestinationTransaction($openingBalance);
if (null === $source || null === $destination) {
return;
}
// source MUST be the liability.
if ((int)$destination->account_id === (int)$account->id) {
Log::debug(sprintf('Must switch around, because account #%d is the destination.', $destination->account_id));
// so if not, switch things around:
$sourceAccountId = (int)$source->account_id;
$source->account_id = $destination->account_id;
$destination->account_id = $sourceAccountId;
$source->save();
$destination->save();
Log::debug(sprintf('Source transaction #%d now has account #%d', $source->id, $source->account_id));
Log::debug(sprintf('Dest transaction #%d now has account #%d', $destination->id, $destination->account_id));
}
}
/**
* @param TransactionJournal $journal
*
* @return Transaction|null
*/
private function getSourceTransaction(TransactionJournal $journal): ?Transaction
{
return $journal->transactions()->where('amount', '<', 0)->first();
}
/**
* @param TransactionJournal $journal
*
* @return Transaction|null
*/
private function getDestinationTransaction(TransactionJournal $journal): ?Transaction
{
return $journal->transactions()->where('amount', '>', 0)->first();
}
/**
*
*/
private function markAsExecuted(): void
{
app('fireflyconfig')->set(self::CONFIG_NAME, true);
}
/**
*
*/
@@ -200,4 +147,57 @@ class UpgradeLiabilities extends Command
$factory->crud($account, 'liability_direction', 'debit');
}
/**
* @param Account $account
* @param TransactionJournal $openingBalance
*/
private function correctOpeningBalance(Account $account, TransactionJournal $openingBalance): void
{
$source = $this->getSourceTransaction($openingBalance);
$destination = $this->getDestinationTransaction($openingBalance);
if (null === $source || null === $destination) {
return;
}
// source MUST be the liability.
if ((int)$destination->account_id === (int)$account->id) {
Log::debug(sprintf('Must switch around, because account #%d is the destination.', $destination->account_id));
// so if not, switch things around:
$sourceAccountId = (int)$source->account_id;
$source->account_id = $destination->account_id;
$destination->account_id = $sourceAccountId;
$source->save();
$destination->save();
Log::debug(sprintf('Source transaction #%d now has account #%d', $source->id, $source->account_id));
Log::debug(sprintf('Dest transaction #%d now has account #%d', $destination->id, $destination->account_id));
}
}
/**
* @param TransactionJournal $journal
*
* @return Transaction|null
*/
private function getSourceTransaction(TransactionJournal $journal): ?Transaction
{
return $journal->transactions()->where('amount', '<', 0)->first();
}
/**
* @param TransactionJournal $journal
*
* @return Transaction|null
*/
private function getDestinationTransaction(TransactionJournal $journal): ?Transaction
{
return $journal->transactions()->where('amount', '>', 0)->first();
}
/**
*
*/
private function markAsExecuted(): void
{
app('fireflyconfig')->set(self::CONFIG_NAME, true);
}
}

View File

@@ -25,14 +25,21 @@ declare(strict_types=1);
namespace FireflyIII\Console\Commands;
use Illuminate\Console\Command;
use Storage;
use Illuminate\Contracts\Filesystem\FileNotFoundException;
use Log;
use Storage;
/**
* Class VerifySecurityAlerts
*/
class VerifySecurityAlerts extends Command
{
/**
* The console command description.
*
* @var string
*/
protected $description = 'Verify security alerts';
/**
* The name and signature of the console command.
*
@@ -40,18 +47,11 @@ class VerifySecurityAlerts extends Command
*/
protected $signature = 'firefly-iii:verify-security-alerts';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Verify security alerts';
/**
* Execute the console command.
*
* @return int
* @throws \Illuminate\Contracts\Filesystem\FileNotFoundException
* @throws FileNotFoundException
*/
public function handle(): int
{
@@ -64,6 +64,7 @@ class VerifySecurityAlerts extends Command
$disk = Storage::disk('resources');
if (!$disk->has('alerts.json')) {
Log::debug('No alerts.json file present.');
return 0;
}
$content = $disk->get('alerts.json');
@@ -81,6 +82,7 @@ class VerifySecurityAlerts extends Command
if ('info' === $array['level']) {
Log::debug('INFO level alert');
$this->info($array['message']);
return 0;
}
if ('warning' === $array['level']) {
@@ -88,6 +90,7 @@ class VerifySecurityAlerts extends Command
$this->warn('------------------------ :o');
$this->warn($array['message']);
$this->warn('------------------------ :o');
return 0;
}
if ('danger' === $array['level']) {
@@ -95,6 +98,7 @@ class VerifySecurityAlerts extends Command
$this->error('------------------------ :-(');
$this->error($array['message']);
$this->error('------------------------ :-(');
return 0;
}

View File

@@ -41,6 +41,7 @@ class AdminRequestedTestMessage extends Event
public $ipAddress;
/** @var User The user */
public $user;
/**
* Create a new event instance.
*

View File

@@ -37,6 +37,7 @@ class DestroyedTransactionGroup extends Event
use SerializesModels;
public TransactionGroup $transactionGroup;
/**
* Create a new event instance.
*

View File

@@ -22,6 +22,7 @@
declare(strict_types=1);
namespace FireflyIII\Events;
use FireflyIII\Models\TransactionJournalLink;
use Illuminate\Queue\SerializesModels;

View File

@@ -22,6 +22,7 @@
declare(strict_types=1);
namespace FireflyIII\Events;
use FireflyIII\User;
use Illuminate\Queue\SerializesModels;

View File

@@ -40,6 +40,7 @@ class RegisteredUser extends Event
public $ipAddress;
/** @var User The user */
public $user;
/**
* Create a new event instance. This event is triggered when a new user registers.
*

View File

@@ -42,6 +42,7 @@ class RequestedNewPassword extends Event
public $token;
/** @var User The user */
public $user;
/**
* Create a new event instance. This event is triggered when a users tries to reset his or her password.
*

View File

@@ -44,6 +44,7 @@ class RequestedReportOnJournals
public $groups;
/** @var int The ID of the user. */
public $userId;
/**
* Create a new event instance.
*

View File

@@ -24,6 +24,7 @@ declare(strict_types=1);
namespace FireflyIII\Events;
use Illuminate\Queue\SerializesModels;
class RequestedSendWebhookMessages extends Event
{
use SerializesModels;

View File

@@ -26,6 +26,7 @@ namespace FireflyIII\Events;
use FireflyIII\User;
use Illuminate\Queue\SerializesModels;
/**
* Class RequestedVersionCheckStatus
*
@@ -37,6 +38,7 @@ class RequestedVersionCheckStatus extends Event
/** @var User The user */
public $user;
/**
* Create a new event instance. This event is triggered when Firefly III wants to know
* what the deal is with the version checker.

View File

@@ -44,6 +44,7 @@ class UserChangedEmail extends Event
public $oldEmail;
/** @var User The user itself */
public $user;
/**
* UserChangedEmail constructor.
*

View File

@@ -49,8 +49,8 @@ class AccountFactory
protected array $validAssetFields;
protected array $validCCFields;
protected array $validFields;
private array $canHaveVirtual;
private array $canHaveOpeningBalance;
private array $canHaveVirtual;
private User $user;
/**

View File

@@ -141,14 +141,6 @@ class RecurrenceFactory
return $recurrence;
}
/**
* @param User $user
*/
public function setUser(User $user): void
{
$this->user = $user;
}
/**
* @return MessageBag
*/
@@ -157,5 +149,13 @@ class RecurrenceFactory
return $this->errors;
}
/**
* @param User $user
*/
public function setUser(User $user): void
{
$this->user = $user;
}
}

View File

@@ -32,6 +32,7 @@ use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\Journal\JournalRepositoryInterface;
use Illuminate\Support\Collection;
use JetBrains\PhpStorm\ArrayShape;
use JsonException;
use Log;
use Throwable;
@@ -195,7 +196,7 @@ class MonthReportGenerator implements ReportGeneratorInterface
*
* @return array
* @throws FireflyException
* @throws \JsonException
* @throws JsonException
*/
#[ArrayShape(['journals' => "array", 'currency' => "mixed", 'exists' => "bool", 'end' => "string", 'endBalance' => "mixed", 'dayBefore' => "string",
'dayBeforeBalance' => "mixed"])] public function getAuditReport(Account $account, Carbon $date): array

View File

@@ -77,6 +77,18 @@ class StoredGroupEventHandler
$newRuleEngine->fire();
}
/**
* @param StoredTransactionGroup $event
*/
public function recalculateCredit(StoredTransactionGroup $event): void
{
$group = $event->transactionGroup;
/** @var CreditRecalculateService $object */
$object = app(CreditRecalculateService::class);
$object->setGroup($group);
$object->recalculate();
}
/**
* This method processes all webhooks that respond to the "stored transaction group" trigger (100)
*
@@ -108,16 +120,4 @@ class StoredGroupEventHandler
event(new RequestedSendWebhookMessages);
}
/**
* @param StoredTransactionGroup $event
*/
public function recalculateCredit(StoredTransactionGroup $event): void
{
$group = $event->transactionGroup;
/** @var CreditRecalculateService $object */
$object = app(CreditRecalculateService::class);
$object->setGroup($group);
$object->recalculate();
}
}

View File

@@ -77,6 +77,18 @@ class UpdatedGroupEventHandler
$newRuleEngine->fire();
}
/**
* @param UpdatedTransactionGroup $event
*/
public function recalculateCredit(UpdatedTransactionGroup $event): void
{
$group = $event->transactionGroup;
/** @var CreditRecalculateService $object */
$object = app(CreditRecalculateService::class);
$object->setGroup($group);
$object->recalculate();
}
/**
* @param UpdatedTransactionGroup $updatedGroupEvent
*/
@@ -100,18 +112,6 @@ class UpdatedGroupEventHandler
event(new RequestedSendWebhookMessages);
}
/**
* @param UpdatedTransactionGroup $event
*/
public function recalculateCredit(UpdatedTransactionGroup $event): void
{
$group = $event->transactionGroup;
/** @var CreditRecalculateService $object */
$object = app(CreditRecalculateService::class);
$object->setGroup($group);
$object->recalculate();
}
/**
* This method will make sure all source / destination accounts are the same.
*

View File

@@ -108,6 +108,34 @@ class UserEventHandler
return true;
}
/**
* @param RegisteredUser $event
*
* @return bool
* @throws FireflyException
*/
public function createGroupMembership(RegisteredUser $event): bool
{
$user = $event->user;
// create a new group.
$group = UserGroup::create(['title' => $user->email]);
$role = UserRole::where('title', UserRole::OWNER)->first();
if (null === $role) {
throw new FireflyException('The user role is unexpectedly empty. Did you run all migrations?');
}
GroupMembership::create(
[
'user_id' => $user->id,
'user_group_id' => $group->id,
'user_role_id' => $role->id,
]
);
$user->user_group_id = $group->id;
$user->save();
return true;
}
/**
* Set the demo user back to English.
*
@@ -251,34 +279,6 @@ class UserEventHandler
return true;
}
/**
* @param RegisteredUser $event
*
* @return bool
* @throws FireflyException
*/
public function createGroupMembership(RegisteredUser $event): bool
{
$user = $event->user;
// create a new group.
$group = UserGroup::create(['title' => $user->email]);
$role = UserRole::where('title', UserRole::OWNER)->first();
if (null === $role) {
throw new FireflyException('The user role is unexpectedly empty. Did you run all migrations?');
}
GroupMembership::create(
[
'user_id' => $user->id,
'user_group_id' => $group->id,
'user_role_id' => $role->id,
]
);
$user->user_group_id = $group->id;
$user->save();
return true;
}
/**
* This method will send the user a registration mail, welcoming him or her to Firefly III.
* This message is only sent when the configuration of Firefly III says so.

View File

@@ -88,6 +88,7 @@ class VersionCheckEventHandler
/**
* @param RequestedVersionCheckStatus $event
*
* @throws FireflyException
*/
protected function warnToCheckForUpdates(RequestedVersionCheckStatus $event): void

View File

@@ -198,6 +198,16 @@ class GroupCollector implements GroupCollectorInterface
return $this;
}
/**
* @inheritDoc
*/
public function findNothing(): GroupCollectorInterface
{
$this->query->where('transaction_groups.id', -1);
return $this;
}
/**
* Return the transaction journals without group information. Is useful in some instances.
*
@@ -767,14 +777,4 @@ class GroupCollector implements GroupCollectorInterface
return $groups;
}
/**
* @inheritDoc
*/
public function findNothing(): GroupCollectorInterface
{
$this->query->where('transaction_groups.id', -1);
return $this;
}
}

View File

@@ -57,13 +57,6 @@ interface GroupCollectorInterface
*/
public function amountLess(string $amount): GroupCollectorInterface;
/**
* Ensure the search will find nothing at all, zero results.
*
* @return GroupCollectorInterface
*/
public function findNothing(): GroupCollectorInterface;
/**
* Get transactions where the amount is more than.
*
@@ -118,6 +111,13 @@ interface GroupCollectorInterface
*/
public function excludeSourceAccounts(Collection $accounts): GroupCollectorInterface;
/**
* Ensure the search will find nothing at all, zero results.
*
* @return GroupCollectorInterface
*/
public function findNothing(): GroupCollectorInterface;
/**
* Return the transaction journals without group information. Is useful in some instances.
*
@@ -478,6 +478,13 @@ interface GroupCollectorInterface
*/
public function withAttachmentInformation(): GroupCollectorInterface;
/**
* Limit results to transactions without a bill..
*
* @return GroupCollectorInterface
*/
public function withBill(): GroupCollectorInterface;
/**
* Include bill name + ID.
*
@@ -527,13 +534,6 @@ interface GroupCollectorInterface
*/
public function withTagInformation(): GroupCollectorInterface;
/**
* Limit results to transactions without a bill..
*
* @return GroupCollectorInterface
*/
public function withBill(): GroupCollectorInterface;
/**
* Limit results to a transactions without a bill.
*

View File

@@ -23,6 +23,7 @@ declare(strict_types=1);
namespace FireflyIII\Helpers\Fiscal;
use Carbon\Carbon;
use FireflyIII\Exceptions\FireflyException;
use Log;
/**
@@ -67,7 +68,7 @@ class FiscalHelper implements FiscalHelperInterface
* @param Carbon $date
*
* @return Carbon date object
* @throws \FireflyIII\Exceptions\FireflyException
* @throws FireflyException
*/
public function startOfFiscalYear(Carbon $date): Carbon
{

View File

@@ -30,6 +30,7 @@ use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface;
use FireflyIII\Support\CacheProperties;
use FireflyIII\User;
use Illuminate\Support\Collection;
use JsonException;
use Log;
/**
@@ -62,7 +63,7 @@ class NetWorth implements NetWorthInterface
* @param Carbon $date
*
* @return array
* @throws \JsonException
* @throws JsonException
*/
public function getNetWorthByCurrency(Collection $accounts, Carbon $date): array
{

View File

@@ -23,6 +23,7 @@ declare(strict_types=1);
namespace FireflyIII\Http\Controllers\Account;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Helpers\Attachments\AttachmentHelperInterface;
use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Http\Requests\AccountFormRequest;
@@ -135,7 +136,7 @@ class CreateController extends Controller
* @param AccountFormRequest $request
*
* @return RedirectResponse|Redirector
* @throws \FireflyIII\Exceptions\FireflyException
* @throws FireflyException
*/
public function store(AccountFormRequest $request)
{

View File

@@ -25,6 +25,7 @@ namespace FireflyIII\Http\Controllers\Account;
use Carbon\Carbon;
use Exception;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Models\Account;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
@@ -72,7 +73,7 @@ class IndexController extends Controller
* @param string $objectType
*
* @return Factory|View
* @throws \FireflyIII\Exceptions\FireflyException
* @throws FireflyException
*/
public function inactive(Request $request, string $objectType)
{
@@ -166,7 +167,9 @@ class IndexController extends Controller
$account->endBalance = $this->isInArray($endBalances, $account->id);
$account->difference = bcsub($account->endBalance, $account->startBalance);
$account->interest = number_format((float)$this->repository->getMetaValue($account, 'interest'), 4, '.', '');
$account->interestPeriod = (string)trans(sprintf('firefly.interest_calc_%s', $this->repository->getMetaValue($account, 'interest_period')));
$account->interestPeriod = (string)trans(
sprintf('firefly.interest_calc_%s', $this->repository->getMetaValue($account, 'interest_period'))
);
$account->accountTypeString = (string)trans(sprintf('firefly.account_type_%s', $account->accountType->type));
$account->location = $this->repository->getLocation($account);
$account->liability_direction = $this->repository->getMetaValue($account, 'liability_direction');

View File

@@ -23,6 +23,7 @@ declare(strict_types=1);
namespace FireflyIII\Http\Controllers\Admin;
use FireflyIII\Events\AdminRequestedTestMessage;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Http\Middleware\IsDemoUser;
use FireflyIII\User;
@@ -53,7 +54,7 @@ class HomeController extends Controller
* Index of the admin.
*
* @return Factory|View
* @throws \FireflyIII\Exceptions\FireflyException
* @throws FireflyException
*/
public function index()
{

View File

@@ -28,15 +28,17 @@ use DB;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Providers\RouteServiceProvider;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Contracts\View\Factory;
use Illuminate\Contracts\View\View;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Foundation\Auth\ThrottlesLogins;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Routing\Redirector;
use Illuminate\Validation\ValidationException;
use Illuminate\View\View;
use Log;
/**
@@ -194,7 +196,7 @@ class LoginController extends Controller
*
* @param Request $request
*
* @return Factory|\Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\View|\Illuminate\Routing\Redirector|RedirectResponse
* @return Factory|Application|View|Redirector|RedirectResponse
* @throws FireflyException
*/
public function showLoginForm(Request $request)

View File

@@ -27,6 +27,7 @@ use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Support\Http\Controllers\CreateStuff;
use FireflyIII\User;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Contracts\View\Factory;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Http\RedirectResponse;
@@ -78,7 +79,7 @@ class RegisterController extends Controller
*
* @param Request $request
*
* @return \Illuminate\Contracts\Foundation\Application|Redirector|RedirectResponse
* @return Application|Redirector|RedirectResponse
* @throws FireflyException
* @throws ValidationException
*/

View File

@@ -30,6 +30,7 @@ use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Http\Requests\BillStoreRequest;
use FireflyIII\Repositories\Bill\BillRepositoryInterface;
use Illuminate\Contracts\View\Factory;
use Illuminate\Contracts\View\View;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Log;
@@ -68,7 +69,7 @@ class CreateController extends Controller
*
* @param Request $request
*
* @return Factory|\Illuminate\Contracts\View\View
* @return Factory|View
*/
public function create(Request $request)
{

View File

@@ -30,6 +30,7 @@ use FireflyIII\Http\Requests\BillUpdateRequest;
use FireflyIII\Models\Bill;
use FireflyIII\Repositories\Bill\BillRepositoryInterface;
use Illuminate\Contracts\View\Factory;
use Illuminate\Contracts\View\View;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
@@ -68,7 +69,7 @@ class EditController extends Controller
* @param Request $request
* @param Bill $bill
*
* @return Factory|\Illuminate\Contracts\View\View
* @return Factory|View
*/
public function edit(Request $request, Bill $bill)
{

View File

@@ -24,6 +24,7 @@ declare(strict_types=1);
namespace FireflyIII\Http\Controllers\Bill;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Models\Bill;
use FireflyIII\Repositories\Bill\BillRepositoryInterface;
@@ -143,7 +144,7 @@ class IndexController extends Controller
* @param array $bills
*
* @return array
* @throws \FireflyIII\Exceptions\FireflyException
* @throws FireflyException
*/
private function getSums(array $bills): array
{

View File

@@ -24,6 +24,7 @@ declare(strict_types=1);
namespace FireflyIII\Http\Controllers\Budget;
use Carbon\Carbon;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Models\AvailableBudget;
use FireflyIII\Models\Budget;
@@ -90,7 +91,7 @@ class IndexController extends Controller
* @param Carbon|null $end
*
* @return Factory|View
* @throws \FireflyIII\Exceptions\FireflyException
* @throws FireflyException
*/
public function index(Request $request, Carbon $start = null, Carbon $end = null)
{

View File

@@ -23,6 +23,7 @@ declare(strict_types=1);
namespace FireflyIII\Http\Controllers\Category;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Models\Category;
use FireflyIII\Repositories\Category\CategoryRepositoryInterface;
@@ -66,7 +67,7 @@ class IndexController extends Controller
* @param Request $request
*
* @return Factory|View
* @throws \FireflyIII\Exceptions\FireflyException
* @throws FireflyException
*/
public function index(Request $request)
{

View File

@@ -24,6 +24,7 @@ declare(strict_types=1);
namespace FireflyIII\Http\Controllers\Category;
use Carbon\Carbon;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Models\TransactionType;
@@ -74,7 +75,7 @@ class NoCategoryController extends Controller
* @param Carbon|null $end
*
* @return Factory|View
* @throws \FireflyIII\Exceptions\FireflyException
* @throws FireflyException
*/
public function show(Request $request, Carbon $start = null, Carbon $end = null)
{
@@ -112,7 +113,7 @@ class NoCategoryController extends Controller
* @param Request $request
*
* @return Factory|View
* @throws \FireflyIII\Exceptions\FireflyException
* @throws FireflyException
*/
public function showAll(Request $request)
{

View File

@@ -24,6 +24,7 @@ declare(strict_types=1);
namespace FireflyIII\Http\Controllers\Category;
use Carbon\Carbon;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Models\Category;
@@ -76,7 +77,7 @@ class ShowController extends Controller
* @param Carbon|null $end
*
* @return Factory|View
* @throws \FireflyIII\Exceptions\FireflyException
* @throws FireflyException
*/
public function show(Request $request, Category $category, Carbon $start = null, Carbon $end = null)
{
@@ -116,7 +117,7 @@ class ShowController extends Controller
* @param Category $category
*
* @return Factory|View
* @throws \FireflyIII\Exceptions\FireflyException
* @throws FireflyException
*/
public function showAll(Request $request, Category $category)
{

View File

@@ -23,6 +23,7 @@ declare(strict_types=1);
namespace FireflyIII\Http\Controllers\Chart;
use Carbon\Carbon;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Generator\Chart\Basic\GeneratorInterface;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
use FireflyIII\Http\Controllers\Controller;
@@ -38,6 +39,7 @@ use FireflyIII\Support\Http\Controllers\ChartGeneration;
use FireflyIII\Support\Http\Controllers\DateCalculation;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Collection;
use JsonException;
use Log;
/**
@@ -83,7 +85,7 @@ class AccountController extends Controller
* This chart is (multi) currency aware.
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function expenseAccounts(): JsonResponse
{
@@ -195,7 +197,7 @@ class AccountController extends Controller
* @param Carbon $end
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function expenseBudget(Account $account, Carbon $start, Carbon $end): JsonResponse
{
@@ -270,7 +272,7 @@ class AccountController extends Controller
* @param Carbon $end
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function expenseCategory(Account $account, Carbon $start, Carbon $end): JsonResponse
{
@@ -325,7 +327,7 @@ class AccountController extends Controller
* @param AccountRepositoryInterface $repository
*
* @return JsonResponse
* @throws \FireflyIII\Exceptions\FireflyException
* @throws FireflyException
*/
public function frontpage(AccountRepositoryInterface $repository): JsonResponse
{
@@ -368,7 +370,7 @@ class AccountController extends Controller
* @param Carbon $end
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function incomeCategory(Account $account, Carbon $start, Carbon $end): JsonResponse
{
@@ -426,8 +428,8 @@ class AccountController extends Controller
* @param Carbon $end
*
* @return JsonResponse
* @throws \FireflyIII\Exceptions\FireflyException
* @throws \JsonException
* @throws FireflyException
* @throws JsonException
*/
public function period(Account $account, Carbon $start, Carbon $end): JsonResponse
{
@@ -465,8 +467,8 @@ class AccountController extends Controller
* @param TransactionCurrency $currency
*
* @return array
* @throws \FireflyIII\Exceptions\FireflyException
* @throws \JsonException
* @throws FireflyException
* @throws JsonException
*/
private function periodByCurrency(Carbon $start, Carbon $end, Account $account, TransactionCurrency $currency): array
{
@@ -537,7 +539,7 @@ class AccountController extends Controller
* This chart is multi-currency aware.
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function revenueAccounts(): JsonResponse
{

View File

@@ -31,6 +31,7 @@ use FireflyIII\Repositories\Bill\BillRepositoryInterface;
use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface;
use FireflyIII\Support\CacheProperties;
use Illuminate\Http\JsonResponse;
use JsonException;
/**
* Class BillController.
@@ -57,7 +58,7 @@ class BillController extends Controller
* @param BillRepositoryInterface $repository
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function frontpage(BillRepositoryInterface $repository): JsonResponse
{
@@ -103,7 +104,7 @@ class BillController extends Controller
* @param Bill $bill
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function single(Bill $bill): JsonResponse
{

View File

@@ -41,6 +41,7 @@ use FireflyIII\Support\Http\Controllers\AugumentData;
use FireflyIII\Support\Http\Controllers\DateCalculation;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Collection;
use JsonException;
/**
* Class BudgetController.
@@ -84,7 +85,7 @@ class BudgetController extends Controller
* @param Budget $budget
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function budget(Budget $budget): JsonResponse
{
@@ -153,7 +154,7 @@ class BudgetController extends Controller
* @return JsonResponse
*
* @throws FireflyException
* @throws \JsonException
* @throws JsonException
*/
public function budgetLimit(Budget $budget, BudgetLimit $budgetLimit): JsonResponse
{
@@ -204,7 +205,7 @@ class BudgetController extends Controller
* @param BudgetLimit|null $budgetLimit
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function expenseAsset(Budget $budget, ?BudgetLimit $budgetLimit = null): JsonResponse
{
@@ -273,7 +274,7 @@ class BudgetController extends Controller
* @param BudgetLimit|null $budgetLimit
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function expenseCategory(Budget $budget, ?BudgetLimit $budgetLimit = null): JsonResponse
{
@@ -338,7 +339,7 @@ class BudgetController extends Controller
* @param BudgetLimit|null $budgetLimit
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function expenseExpense(Budget $budget, ?BudgetLimit $budgetLimit = null): JsonResponse
{
@@ -402,7 +403,7 @@ class BudgetController extends Controller
* Shows a budget list with spent/left/overspent.
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function frontpage(): JsonResponse
{
@@ -440,7 +441,7 @@ class BudgetController extends Controller
* @param Carbon $end
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function period(Budget $budget, TransactionCurrency $currency, Collection $accounts, Carbon $start, Carbon $end): JsonResponse
{
@@ -516,7 +517,7 @@ class BudgetController extends Controller
* @param Carbon $end
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function periodNoBudget(TransactionCurrency $currency, Collection $accounts, Carbon $start, Carbon $end): JsonResponse
{

View File

@@ -24,6 +24,7 @@ namespace FireflyIII\Http\Controllers\Chart;
use Carbon\Carbon;
use Exception;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Generator\Chart\Basic\GeneratorInterface;
use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Models\Category;
@@ -38,6 +39,7 @@ use FireflyIII\Support\Http\Controllers\ChartGeneration;
use FireflyIII\Support\Http\Controllers\DateCalculation;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Collection;
use JsonException;
/**
* Class CategoryController.
@@ -68,8 +70,8 @@ class CategoryController extends Controller
* @param Category $category
*
* @return JsonResponse
* @throws \FireflyIII\Exceptions\FireflyException
* @throws \JsonException
* @throws FireflyException
* @throws JsonException
*/
public function all(Category $category): JsonResponse
{
@@ -116,7 +118,7 @@ class CategoryController extends Controller
* See reference nr. 60
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function frontPage(): JsonResponse
{
@@ -149,7 +151,7 @@ class CategoryController extends Controller
* @param Carbon $end
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function reportPeriod(Category $category, Collection $accounts, Carbon $start, Carbon $end): JsonResponse
{
@@ -265,7 +267,7 @@ class CategoryController extends Controller
* @param Carbon $end
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function reportPeriodNoCategory(Collection $accounts, Carbon $start, Carbon $end): JsonResponse
{
@@ -292,8 +294,8 @@ class CategoryController extends Controller
* @param Carbon $date
*
* @return JsonResponse
* @throws \FireflyIII\Exceptions\FireflyException
* @throws \JsonException
* @throws FireflyException
* @throws JsonException
*/
public function specificPeriod(Category $category, Carbon $date): JsonResponse
{

View File

@@ -33,6 +33,7 @@ use FireflyIII\Support\Http\Controllers\AugumentData;
use FireflyIII\Support\Http\Controllers\TransactionCalculation;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Collection;
use JsonException;
/**
* Separate controller because many helper functions are shared.
@@ -77,7 +78,7 @@ class ExpenseReportController extends Controller
* @param Carbon $end
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function mainChart(Collection $accounts, Collection $expense, Carbon $start, Carbon $end): JsonResponse
{

View File

@@ -31,6 +31,7 @@ use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface;
use FireflyIII\Support\CacheProperties;
use FireflyIII\Support\Http\Controllers\DateCalculation;
use Illuminate\Http\JsonResponse;
use JsonException;
/**
* Class PiggyBankController.
@@ -63,7 +64,7 @@ class PiggyBankController extends Controller
* @param PiggyBank $piggyBank
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function history(PiggyBankRepositoryInterface $repository, PiggyBank $piggyBank): JsonResponse
{

View File

@@ -35,6 +35,7 @@ use FireflyIII\Support\Http\Controllers\BasicDataSupport;
use FireflyIII\Support\Http\Controllers\ChartGeneration;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Collection;
use JsonException;
use Log;
/**
@@ -68,7 +69,7 @@ class ReportController extends Controller
* @param Carbon $end
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function netWorth(Collection $accounts, Carbon $start, Carbon $end): JsonResponse
{
@@ -143,7 +144,7 @@ class ReportController extends Controller
* @param Carbon $end
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function operations(Collection $accounts, Carbon $start, Carbon $end): JsonResponse
{

View File

@@ -32,6 +32,7 @@ use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Models\TransactionType;
use FireflyIII\Support\CacheProperties;
use Illuminate\Http\JsonResponse;
use JsonException;
/**
* Class TransactionController
@@ -56,7 +57,7 @@ class TransactionController extends Controller
* @param Carbon $end
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function budgets(Carbon $start, Carbon $end)
{
@@ -101,7 +102,7 @@ class TransactionController extends Controller
*
* @return JsonResponse
* @throws FireflyException
* @throws \JsonException
* @throws JsonException
*/
public function categories(string $objectType, Carbon $start, Carbon $end)
{
@@ -160,7 +161,7 @@ class TransactionController extends Controller
*
* @return JsonResponse
* @throws FireflyException
* @throws \JsonException
* @throws JsonException
*/
public function destinationAccounts(string $objectType, Carbon $start, Carbon $end)
{
@@ -218,7 +219,7 @@ class TransactionController extends Controller
*
* @return JsonResponse
* @throws FireflyException
* @throws \JsonException
* @throws JsonException
*/
public function sourceAccounts(string $objectType, Carbon $start, Carbon $end)
{

View File

@@ -32,8 +32,6 @@ use FireflyIII\Support\Export\ExportDataGenerator;
use Illuminate\Contracts\View\Factory;
use Illuminate\Http\Response as LaravelResponse;
use Illuminate\View\View;
use League\Csv\CannotInsertRecord;
use League\Csv\Exception;
/**
* Class IndexController

View File

@@ -22,6 +22,7 @@ declare(strict_types=1);
namespace FireflyIII\Http\Controllers;
use FireflyIII\Exceptions\FireflyException;
use Illuminate\Http\JsonResponse;
/**
@@ -35,7 +36,7 @@ class HelpController extends Controller
* @param string $route
*
* @return JsonResponse
* @throws \FireflyIII\Exceptions\FireflyException
* @throws FireflyException
*/
public function show(string $route): JsonResponse
{

View File

@@ -23,6 +23,7 @@ declare(strict_types=1);
namespace FireflyIII\Http\Controllers;
use Carbon\Carbon;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Account;
use FireflyIII\Models\AccountType;
use FireflyIII\Models\TransactionCurrency;
@@ -46,7 +47,7 @@ class JavascriptController extends Controller
* @param CurrencyRepositoryInterface $currencyRepository
*
* @return Response
* @throws \FireflyIII\Exceptions\FireflyException
* @throws FireflyException
*/
public function accounts(AccountRepositoryInterface $repository, CurrencyRepositoryInterface $currencyRepository): Response
{
@@ -97,30 +98,6 @@ class JavascriptController extends Controller
->header('Content-Type', 'text/javascript');
}
/**
* Bit of a hack but OK.
*
* @param Request $request
*
* @return Response
*/
public function variablesV2(Request $request): Response
{
/** @var Carbon $start */
$start = clone session('start', Carbon::now()->startOfMonth());
/** @var Carbon $end */
$end = clone session('end', Carbon::now()->endOfMonth());
$data = [
'start' => $start->format('Y-m-d'),
'end' => $end->format('Y-m-d'),
];
return response()
->view('v2.javascript.variables', $data)
->header('Content-Type', 'text/javascript');
}
/**
* Show some common variables to be used in scripts.
*
@@ -129,7 +106,7 @@ class JavascriptController extends Controller
* @param CurrencyRepositoryInterface $currencyRepository
*
* @return Response
* @throws \FireflyIII\Exceptions\FireflyException
* @throws FireflyException
*/
public function variables(Request $request, AccountRepositoryInterface $repository, CurrencyRepositoryInterface $currencyRepository): Response
{
@@ -164,4 +141,28 @@ class JavascriptController extends Controller
->header('Content-Type', 'text/javascript');
}
/**
* Bit of a hack but OK.
*
* @param Request $request
*
* @return Response
*/
public function variablesV2(Request $request): Response
{
/** @var Carbon $start */
$start = clone session('start', Carbon::now()->startOfMonth());
/** @var Carbon $end */
$end = clone session('end', Carbon::now()->endOfMonth());
$data = [
'start' => $start->format('Y-m-d'),
'end' => $end->format('Y-m-d'),
];
return response()
->view('v2.javascript.variables', $data)
->header('Content-Type', 'text/javascript');
}
}

View File

@@ -37,6 +37,7 @@ use FireflyIII\Repositories\Budget\OperationsRepositoryInterface;
use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface;
use FireflyIII\Support\CacheProperties;
use Illuminate\Http\JsonResponse;
use JsonException;
use Log;
/**
@@ -51,7 +52,7 @@ class BoxController extends Controller
* 2) if the user has no available amount set this period: spent per day
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function available(): JsonResponse
{
@@ -130,7 +131,7 @@ class BoxController extends Controller
* @param CurrencyRepositoryInterface $repository
*
* @return JsonResponse
* @throws \JsonException
* @throws JsonException
*/
public function balance(CurrencyRepositoryInterface $repository): JsonResponse
{

View File

@@ -22,6 +22,7 @@ declare(strict_types=1);
namespace FireflyIII\Http\Controllers\Json;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Support\Http\Controllers\GetConfigurationData;
use Illuminate\Http\JsonResponse;
@@ -103,7 +104,7 @@ class IntroController extends Controller
* @param string|null $specialPage
*
* @return JsonResponse
* @throws \FireflyIII\Exceptions\FireflyException
* @throws FireflyException
*/
public function postEnable(string $route, string $specialPage = null): JsonResponse
{
@@ -127,7 +128,7 @@ class IntroController extends Controller
* @param string|null $specialPage
*
* @return JsonResponse
* @throws \FireflyIII\Exceptions\FireflyException
* @throws FireflyException
*/
public function postFinished(string $route, string $specialPage = null): JsonResponse
{

View File

@@ -24,6 +24,7 @@ declare(strict_types=1);
namespace FireflyIII\Http\Controllers\Json;
use Carbon\Carbon;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Models\Account;
@@ -35,6 +36,7 @@ use FireflyIII\Repositories\Journal\JournalRepositoryInterface;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Collection;
use JsonException;
use Log;
use Throwable;
@@ -215,8 +217,8 @@ class ReconcileController extends Controller
* @param Carbon $end
*
* @return JsonResponse
* @throws \FireflyIII\Exceptions\FireflyException
* @throws \JsonException
* @throws FireflyException
* @throws JsonException
*/
public function transactions(Account $account, Carbon $start, Carbon $end)
{
@@ -256,6 +258,7 @@ class ReconcileController extends Controller
Log::debug(sprintf('Could not render: %s', $e->getMessage()));
$html = sprintf('Could not render accounts.reconcile.transactions: %s', $e->getMessage());
}
return response()->json(['html' => $html, 'startBalance' => $startBalance, 'endBalance' => $endBalance]);
}

View File

@@ -56,6 +56,7 @@ class RuleController extends Controller
Log::error(sprintf('Cannot render rules.partials.action: %s', $e->getMessage()));
$view = 'Could not render view.';
}
return response()->json(['html' => $view]);
}

View File

@@ -22,6 +22,7 @@ declare(strict_types=1);
namespace FireflyIII\Http\Controllers;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Http\Requests\NewUserFormRequest;
use FireflyIII\Models\AccountType;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
@@ -38,6 +39,7 @@ use Illuminate\View\View;
class NewUserController extends Controller
{
use CreateStuff;
/** @var AccountRepositoryInterface The account repository */
private $repository;
@@ -86,7 +88,7 @@ class NewUserController extends Controller
* @param CurrencyRepositoryInterface $currencyRepository
*
* @return RedirectResponse|Redirector
* @throws \FireflyIII\Exceptions\FireflyException
* @throws FireflyException
*/
public function submit(NewUserFormRequest $request, CurrencyRepositoryInterface $currencyRepository)
{

View File

@@ -81,6 +81,7 @@ class DeleteController extends Controller
* Destroy the piggy bank.
*
* @param ObjectGroup $objectGroup
*
* @return RedirectResponse
*/
public function destroy(ObjectGroup $objectGroup): RedirectResponse

View File

@@ -28,6 +28,7 @@ use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Models\ObjectGroup;
use FireflyIII\Repositories\ObjectGroup\ObjectGroupRepositoryInterface;
use Illuminate\Contracts\View\Factory;
use Illuminate\Contracts\View\View;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Log;
@@ -61,7 +62,7 @@ class IndexController extends Controller
}
/**
* @return Factory|\Illuminate\Contracts\View\View
* @return Factory|View
*/
public function index()
{

View File

@@ -22,6 +22,7 @@ declare(strict_types=1);
namespace FireflyIII\Http\Controllers;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Account;
use FireflyIII\Models\AccountType;
use FireflyIII\Models\Preference;
@@ -64,7 +65,7 @@ class PreferencesController extends Controller
* @param AccountRepositoryInterface $repository
*
* @return Factory|View
* @throws \FireflyIII\Exceptions\FireflyException
* @throws FireflyException
*/
public function index(AccountRepositoryInterface $repository)
{
@@ -145,7 +146,7 @@ class PreferencesController extends Controller
* @param Request $request
*
* @return RedirectResponse|Redirector
* @throws \FireflyIII\Exceptions\FireflyException
* @throws FireflyException
*/
public function postIndex(Request $request)
{

View File

@@ -93,49 +93,6 @@ class ProfileController extends Controller
$this->middleware(IsDemoUser::class)->except(['index']);
}
/**
*
*/
public function logoutOtherSessions()
{
if (!$this->internalAuth) {
session()->flash('info', (string)trans('firefly.external_auth_disabled'));
return redirect(route('profile.index'));
}
return prefixView('profile.logout-other-sessions');
}
/**
* @param Request $request
*
* @return Application|RedirectResponse|Redirector
* @throws AuthenticationException
*/
public function postLogoutOtherSessions(Request $request)
{
if (!$this->internalAuth) {
session()->flash('info', (string)trans('firefly.external_auth_disabled'));
return redirect(route('profile.index'));
}
$creds = [
'email' => auth()->user()->email,
'password' => $request->get('password'),
];
if (Auth::once($creds)) {
Auth::logoutOtherDevices($request->get('password'));
session()->flash('info', (string)trans('firefly.other_sessions_logged_out'));
return redirect(route('profile.index'));
}
session()->flash('error', (string)trans('auth.failed'));
return redirect(route('profile.index'));
}
/**
* Change your email address.
*
@@ -388,6 +345,20 @@ class ProfileController extends Controller
);
}
/**
*
*/
public function logoutOtherSessions()
{
if (!$this->internalAuth) {
session()->flash('info', (string)trans('firefly.external_auth_disabled'));
return redirect(route('profile.index'));
}
return prefixView('profile.logout-other-sessions');
}
/**
* @param Request $request
*
@@ -548,6 +519,49 @@ class ProfileController extends Controller
return redirect(route('profile.index'));
}
/**
* See reference nr. 64
*
* @param string $mfaCode
*
* @throws FireflyException
*/
private function addToMFAHistory(string $mfaCode): void
{
/** @var array $mfaHistory */
$mfaHistory = app('preferences')->get('mfa_history', [])->data;
$entry = [
'time' => time(),
'code' => $mfaCode,
];
$mfaHistory[] = $entry;
app('preferences')->set('mfa_history', $mfaHistory);
$this->filterMFAHistory();
}
/**
* Remove old entries from the preferences array.
*/
private function filterMFAHistory(): void
{
/** @var array $mfaHistory */
$mfaHistory = app('preferences')->get('mfa_history', [])->data;
$newHistory = [];
$now = time();
foreach ($mfaHistory as $entry) {
$time = $entry['time'];
$code = $entry['code'];
if ($now - $time <= 300) {
$newHistory[] = [
'time' => $time,
'code' => $code,
];
}
}
app('preferences')->set('mfa_history', $newHistory);
}
/**
* Submit delete account.
*
@@ -580,6 +594,35 @@ class ProfileController extends Controller
return redirect(route('index'));
}
/**
* @param Request $request
*
* @return Application|RedirectResponse|Redirector
* @throws AuthenticationException
*/
public function postLogoutOtherSessions(Request $request)
{
if (!$this->internalAuth) {
session()->flash('info', (string)trans('firefly.external_auth_disabled'));
return redirect(route('profile.index'));
}
$creds = [
'email' => auth()->user()->email,
'password' => $request->get('password'),
];
if (Auth::once($creds)) {
Auth::logoutOtherDevices($request->get('password'));
session()->flash('info', (string)trans('firefly.other_sessions_logged_out'));
return redirect(route('profile.index'));
}
session()->flash('error', (string)trans('auth.failed'));
return redirect(route('profile.index'));
}
/**
* Regenerate access token.
*
@@ -659,46 +702,4 @@ class ProfileController extends Controller
return redirect(route('login'));
}
/**
* See reference nr. 64
*
* @param string $mfaCode
* @throws FireflyException
*/
private function addToMFAHistory(string $mfaCode): void
{
/** @var array $mfaHistory */
$mfaHistory = app('preferences')->get('mfa_history', [])->data;
$entry = [
'time' => time(),
'code' => $mfaCode,
];
$mfaHistory[] = $entry;
app('preferences')->set('mfa_history', $mfaHistory);
$this->filterMFAHistory();
}
/**
* Remove old entries from the preferences array.
*/
private function filterMFAHistory(): void
{
/** @var array $mfaHistory */
$mfaHistory = app('preferences')->get('mfa_history', [])->data;
$newHistory = [];
$now = time();
foreach ($mfaHistory as $entry) {
$time = $entry['time'];
$code = $entry['code'];
if ($now - $time <= 300) {
$newHistory[] = [
'time' => $time,
'code' => $code,
];
}
}
app('preferences')->set('mfa_history', $newHistory);
}
}

View File

@@ -46,9 +46,9 @@ use Illuminate\View\View;
class CreateController extends Controller
{
private AttachmentHelperInterface $attachments;
private BillRepositoryInterface $billRepository;
private BudgetRepositoryInterface $budgetRepos;
private RecurringRepositoryInterface $recurring;
private BillRepositoryInterface $billRepository;
/**
* CreateController constructor.

View File

@@ -47,9 +47,9 @@ use Symfony\Component\HttpFoundation\ParameterBag;
class EditController extends Controller
{
private AttachmentHelperInterface $attachments;
private BillRepositoryInterface $billRepository;
private BudgetRepositoryInterface $budgetRepos;
private RecurringRepositoryInterface $recurring;
private BillRepositoryInterface $billRepository;
/**
* EditController constructor.

View File

@@ -27,6 +27,7 @@ use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Repositories\Account\AccountTaskerInterface;
use FireflyIII\Support\CacheProperties;
use Illuminate\Support\Collection;
use JsonException;
use Log;
use Throwable;
@@ -44,7 +45,7 @@ class AccountController extends Controller
* @param Carbon $end
*
* @return mixed|string
* @throws \JsonException
* @throws JsonException
*/
public function general(Collection $accounts, Carbon $start, Carbon $end)
{

View File

@@ -36,6 +36,7 @@ use FireflyIII\Support\Report\Budget\BudgetReportGenerator;
use Illuminate\Contracts\View\Factory;
use Illuminate\Support\Collection;
use Illuminate\View\View;
use JsonException;
use Log;
use Throwable;
@@ -307,7 +308,7 @@ class BudgetController extends Controller
* @param Carbon $end
*
* @return mixed|string
* @throws \JsonException
* @throws JsonException
*/
public function period(Collection $accounts, Carbon $start, Carbon $end)
{

View File

@@ -34,6 +34,7 @@ use FireflyIII\Support\Report\Category\CategoryReportGenerator;
use Illuminate\Contracts\View\Factory;
use Illuminate\Support\Collection;
use Illuminate\View\View;
use JsonException;
use Log;
use Throwable;
@@ -488,7 +489,7 @@ class CategoryController extends Controller
* @param Carbon $end
*
* @return mixed|string
* @throws \JsonException
* @throws JsonException
*/
public function expenses(Collection $accounts, Carbon $start, Carbon $end)
{
@@ -569,7 +570,7 @@ class CategoryController extends Controller
* @param Carbon $end
*
* @return string
* @throws \JsonException
* @throws JsonException
*/
public function income(Collection $accounts, Carbon $start, Carbon $end): string
{
@@ -648,7 +649,7 @@ class CategoryController extends Controller
* @param Carbon $end
*
* @return mixed|string
* @throws \JsonException
* @throws JsonException
*/
public function operations(Collection $accounts, Carbon $start, Carbon $end)
{
@@ -678,6 +679,7 @@ class CategoryController extends Controller
Log::error(sprintf('Could not render category::expenses: %s', $e->getMessage()));
$result = sprintf('An error prevented Firefly III from rendering: %s. Apologies.', $e->getMessage());
}
return $result;
}

View File

@@ -27,6 +27,7 @@ use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Repositories\Account\AccountTaskerInterface;
use FireflyIII\Support\CacheProperties;
use Illuminate\Support\Collection;
use JsonException;
use Log;
use Throwable;
@@ -66,7 +67,7 @@ class OperationsController extends Controller
* @param Carbon $end
*
* @return mixed|string
* @throws \JsonException
* @throws JsonException
*/
public function expenses(Collection $accounts, Carbon $start, Carbon $end)
{
@@ -102,7 +103,7 @@ class OperationsController extends Controller
* @param Carbon $end
*
* @return string
* @throws \JsonException
* @throws JsonException
*/
public function income(Collection $accounts, Carbon $start, Carbon $end): string
{
@@ -138,7 +139,7 @@ class OperationsController extends Controller
* @param Carbon $end
*
* @return mixed|string
* @throws \JsonException
* @throws JsonException
*/
public function operations(Collection $accounts, Carbon $start, Carbon $end)
{

View File

@@ -182,6 +182,7 @@ class SelectController extends Controller
Log::error($exception->getTraceAsString());
$view = sprintf('Could not render list.journals-tiny: %s', $exception->getMessage());
}
return response()->json(['html' => $view, 'warning' => $warning]);
}
@@ -223,6 +224,7 @@ class SelectController extends Controller
Log::error(sprintf('Could not render view in testTriggersByRule(): %s', $exception->getMessage()));
Log::error($exception->getTraceAsString());
}
return response()->json(['html' => $view, 'warning' => $warning]);
}
}

View File

@@ -24,11 +24,13 @@ declare(strict_types=1);
namespace FireflyIII\Http\Controllers\Transaction;
use FireflyIII\Events\StoredTransactionGroup;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Models\TransactionGroup;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Services\Internal\Update\GroupCloneService;
use Illuminate\Contracts\View\Factory;
use Illuminate\Contracts\View\View;
use Illuminate\Http\RedirectResponse;
use Illuminate\Routing\Redirector;
@@ -86,8 +88,8 @@ class CreateController extends Controller
*
* @param string|null $objectType
*
* @return Factory|\Illuminate\Contracts\View\View
* @throws \FireflyIII\Exceptions\FireflyException
* @return Factory|View
* @throws FireflyException
*/
public function create(?string $objectType)
{

View File

@@ -107,6 +107,7 @@ class Installer
}
throw new FireflyException(sprintf('Could not access the database: %s', $message), 0, $e);
}
//Log::debug('Everything seems OK with the tables.');
return false;
@@ -157,6 +158,7 @@ class Installer
return true;
}
//Log::info(sprintf('Configured DB version (%d) equals expected DB version (%d)', $dbVersion, $configVersion));
return false;
@@ -183,6 +185,7 @@ class Installer
return true;
}
//Log::info(sprintf('Installed Firefly III version (%s) equals expected Firefly III version (%s)', $dbVersion, $configVersion));
return false;

View File

@@ -90,57 +90,6 @@ class InterestingMessage
return null !== $transactionGroupId && null !== $message;
}
/**
* @param Request $request
*/
private function handleAccountMessage(Request $request): void
{
// get parameters from request.
$accountId = $request->get('account_id');
$message = $request->get('message');
/** @var Account $account */
$account = auth()->user()->accounts()->withTrashed()->find($accountId);
if (null === $account) {
return;
}
if ('deleted' === $message) {
session()->flash('success', (string)trans('firefly.account_deleted', ['name' => $account->name]));
}
if ('created' === $message) {
session()->flash('success', (string)trans('firefly.stored_new_account', ['name' => $account->name]));
}
if ('updated' === $message) {
session()->flash('success', (string)trans('firefly.updated_account', ['name' => $account->name]));
}
}
/**
* @param Request $request
*/
private function handleBillMessage(Request $request): void
{
// get parameters from request.
$billId = $request->get('bill_id');
$message = $request->get('message');
/** @var Bill $bill */
$bill = auth()->user()->bills()->withTrashed()->find($billId);
if (null === $bill) {
return;
}
if ('deleted' === $message) {
session()->flash('success', (string)trans('firefly.deleted_bill', ['name' => $bill->name]));
}
if ('created' === $message) {
session()->flash('success', (string)trans('firefly.stored_new_bill', ['name' => $bill->name]));
}
}
/**
* @param Request $request
*/
@@ -197,6 +146,33 @@ class InterestingMessage
return null !== $accountId && null !== $message;
}
/**
* @param Request $request
*/
private function handleAccountMessage(Request $request): void
{
// get parameters from request.
$accountId = $request->get('account_id');
$message = $request->get('message');
/** @var Account $account */
$account = auth()->user()->accounts()->withTrashed()->find($accountId);
if (null === $account) {
return;
}
if ('deleted' === $message) {
session()->flash('success', (string)trans('firefly.account_deleted', ['name' => $account->name]));
}
if ('created' === $message) {
session()->flash('success', (string)trans('firefly.stored_new_account', ['name' => $account->name]));
}
if ('updated' === $message) {
session()->flash('success', (string)trans('firefly.updated_account', ['name' => $account->name]));
}
}
/**
* @param Request $request
*
@@ -210,4 +186,28 @@ class InterestingMessage
return null !== $billId && null !== $message;
}
/**
* @param Request $request
*/
private function handleBillMessage(Request $request): void
{
// get parameters from request.
$billId = $request->get('bill_id');
$message = $request->get('message');
/** @var Bill $bill */
$bill = auth()->user()->bills()->withTrashed()->find($billId);
if (null === $bill) {
return;
}
if ('deleted' === $message) {
session()->flash('success', (string)trans('firefly.deleted_bill', ['name' => $bill->name]));
}
if ('created' === $message) {
session()->flash('success', (string)trans('firefly.stored_new_bill', ['name' => $bill->name]));
}
}
}

View File

@@ -24,7 +24,6 @@ namespace FireflyIII\Models;
use Carbon\Carbon;
use Eloquent;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\User;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Builder as EloquentBuilder;

View File

@@ -40,6 +40,7 @@ use FireflyIII\User;
use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Support\Collection;
use JsonException;
use Log;
use Storage;
@@ -115,6 +116,41 @@ class AccountRepository implements AccountRepositoryInterface
}
/**
* @param int $accountId
*
* @return Account|null
*/
public function find(int $accountId): ?Account
{
return $this->user->accounts()->find($accountId);
}
/**
* @inheritDoc
*/
public function findByAccountNumber(string $number, array $types): ?Account
{
$dbQuery = $this->user
->accounts()
->leftJoin('account_meta', 'accounts.id', '=', 'account_meta.account_id')
->where('accounts.active', true)
->where(
function (EloquentBuilder $q1) use ($number) {
$json = json_encode($number);
$q1->where('account_meta.name', '=', 'account_number');
$q1->where('account_meta.data', '=', $json);
}
);
if (!empty($types)) {
$dbQuery->leftJoin('account_types', 'accounts.account_type_id', '=', 'account_types.id');
$dbQuery->whereIn('account_types.type', $types);
}
return $dbQuery->first(['accounts.*']);
}
/**
* @param string $iban
* @param array $types
@@ -162,16 +198,6 @@ class AccountRepository implements AccountRepositoryInterface
return $account;
}
/**
* @param int $accountId
*
* @return Account|null
*/
public function find(int $accountId): ?Account
{
return $this->user->accounts()->find($accountId);
}
/**
* @param Account $account
*
@@ -310,6 +336,23 @@ class AccountRepository implements AccountRepositoryInterface
return $factory->findOrCreate('Cash account', $type->type);
}
/**
* @inheritDoc
*/
public function getCreditTransactionGroup(Account $account): ?TransactionGroup
{
$journal = TransactionJournal
::leftJoin('transactions', 'transactions.transaction_journal_id', '=', 'transaction_journals.id')
->where('transactions.account_id', $account->id)
->transactionTypes([TransactionType::LIABILITY_CREDIT])
->first(['transaction_journals.*']);
if (null === $journal) {
return null;
}
return $journal->transactionGroup;
}
/**
* @param array $types
*
@@ -731,7 +774,7 @@ class AccountRepository implements AccountRepositoryInterface
*
* @return Account
* @throws FireflyException
* @throws \JsonException
* @throws JsonException
*/
public function update(Account $account, array $data): Account
{
@@ -741,46 +784,4 @@ class AccountRepository implements AccountRepositoryInterface
return $service->update($account, $data);
}
/**
* @inheritDoc
*/
public function getCreditTransactionGroup(Account $account): ?TransactionGroup
{
$journal = TransactionJournal
::leftJoin('transactions', 'transactions.transaction_journal_id', '=', 'transaction_journals.id')
->where('transactions.account_id', $account->id)
->transactionTypes([TransactionType::LIABILITY_CREDIT])
->first(['transaction_journals.*']);
if (null === $journal) {
return null;
}
return $journal->transactionGroup;
}
/**
* @inheritDoc
*/
public function findByAccountNumber(string $number, array $types): ?Account
{
$dbQuery = $this->user
->accounts()
->leftJoin('account_meta', 'accounts.id', '=', 'account_meta.account_id')
->where('accounts.active', true)
->where(
function (EloquentBuilder $q1) use ($number) {
$json = json_encode($number);
$q1->where('account_meta.name', '=', 'account_number');
$q1->where('account_meta.data', '=', $json);
}
);
if (!empty($types)) {
$dbQuery->leftJoin('account_types', 'accounts.account_type_id', '=', 'account_types.id');
$dbQuery->whereIn('account_types.type', $types);
}
return $dbQuery->first(['accounts.*']);
}
}

View File

@@ -66,6 +66,13 @@ interface AccountRepositoryInterface
*/
public function expandWithDoubles(Collection $accounts): Collection;
/**
* @param int $accountId
*
* @return Account|null
*/
public function find(int $accountId): ?Account;
/**
* @param string $number
* @param array $types
@@ -90,13 +97,6 @@ interface AccountRepositoryInterface
*/
public function findByName(string $name, array $types): ?Account;
/**
* @param int $accountId
*
* @return Account|null
*/
public function find(int $accountId): ?Account;
/**
* @param Account $account
*
@@ -147,6 +147,13 @@ interface AccountRepositoryInterface
*/
public function getCashAccount(): Account;
/**
* @param Account $account
*
* @return TransactionGroup|null
*/
public function getCreditTransactionGroup(Account $account): ?TransactionGroup;
/**
* @param array $types
*
@@ -208,13 +215,6 @@ interface AccountRepositoryInterface
*/
public function getOpeningBalanceDate(Account $account): ?string;
/**
* @param Account $account
*
* @return TransactionGroup|null
*/
public function getCreditTransactionGroup(Account $account): ?TransactionGroup;
/**
* @param Account $account
*

View File

@@ -78,21 +78,6 @@ interface OperationsRepositoryInterface
public function sumExpenses(Carbon $start, Carbon $end, ?Collection $accounts = null, ?Collection $expense = null, ?TransactionCurrency $currency = null
): array;
/**
* Sum of withdrawal journals in period for a set of accounts, grouped per source / currency. Amounts are always negative.
*
* @param Carbon $start
* @param Carbon $end
* @param Collection|null $accounts
* @param Collection|null $expense
* @param TransactionCurrency|null $currency
*
* @return array
*/
public function sumExpensesBySource(
Carbon $start, Carbon $end, ?Collection $accounts = null, ?Collection $expense = null, ?TransactionCurrency $currency = null
): array;
/**
* Sum of withdrawal journals in period for a set of accounts, grouped per destination / currency. Amounts are always negative.
*
@@ -108,6 +93,21 @@ interface OperationsRepositoryInterface
Carbon $start, Carbon $end, ?Collection $accounts = null, ?Collection $expense = null, ?TransactionCurrency $currency = null
): array;
/**
* Sum of withdrawal journals in period for a set of accounts, grouped per source / currency. Amounts are always negative.
*
* @param Carbon $start
* @param Carbon $end
* @param Collection|null $accounts
* @param Collection|null $expense
* @param TransactionCurrency|null $currency
*
* @return array
*/
public function sumExpensesBySource(
Carbon $start, Carbon $end, ?Collection $accounts = null, ?Collection $expense = null, ?TransactionCurrency $currency = null
): array;
/**
* Sum of income journals in period for a set of accounts, grouped per currency. Amounts are always positive.
*
@@ -133,7 +133,8 @@ interface OperationsRepositoryInterface
*
* @return array
*/
public function sumIncomeByDestination(Carbon $start, Carbon $end, ?Collection $accounts = null, ?Collection $revenue = null, ?TransactionCurrency $currency = null
public function sumIncomeByDestination(Carbon $start, Carbon $end, ?Collection $accounts = null, ?Collection $revenue = null,
?TransactionCurrency $currency = null
): array;
/**
@@ -147,7 +148,8 @@ interface OperationsRepositoryInterface
*
* @return array
*/
public function sumIncomeBySource(Carbon $start, Carbon $end, ?Collection $accounts = null, ?Collection $revenue = null, ?TransactionCurrency $currency = null
public function sumIncomeBySource(Carbon $start, Carbon $end, ?Collection $accounts = null, ?Collection $revenue = null,
?TransactionCurrency $currency = null
): array;
/**

View File

@@ -41,6 +41,7 @@ use FireflyIII\User;
use Illuminate\Database\Query\JoinClause;
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Support\Collection;
use JsonException;
use Log;
use Storage;
@@ -623,7 +624,7 @@ class BillRepository implements BillRepositoryInterface
* @param Carbon $date
*
* @return Carbon
* @throws \JsonException
* @throws JsonException
*/
public function nextDateMatch(Bill $bill, Carbon $date): Carbon
{
@@ -652,7 +653,7 @@ class BillRepository implements BillRepositoryInterface
* @param Carbon $date
*
* @return Carbon
* @throws \JsonException
* @throws JsonException
*/
public function nextExpectedMatch(Bill $bill, Carbon $date): Carbon
{

View File

@@ -425,6 +425,48 @@ class BudgetRepository implements BudgetRepositoryInterface
return $budget;
}
/**
* @param string $oldName
* @param string $newName
*/
private function updateRuleActions(string $oldName, string $newName): void
{
$types = ['set_budget',];
$actions = RuleAction::leftJoin('rules', 'rules.id', '=', 'rule_actions.rule_id')
->where('rules.user_id', $this->user->id)
->whereIn('rule_actions.action_type', $types)
->where('rule_actions.action_value', $oldName)
->get(['rule_actions.*']);
Log::debug(sprintf('Found %d actions to update.', $actions->count()));
/** @var RuleAction $action */
foreach ($actions as $action) {
$action->action_value = $newName;
$action->save();
Log::debug(sprintf('Updated action %d: %s', $action->id, $action->action_value));
}
}
/**
* @param string $oldName
* @param string $newName
*/
private function updateRuleTriggers(string $oldName, string $newName): void
{
$types = ['budget_is',];
$triggers = RuleTrigger::leftJoin('rules', 'rules.id', '=', 'rule_triggers.rule_id')
->where('rules.user_id', $this->user->id)
->whereIn('rule_triggers.trigger_type', $types)
->where('rule_triggers.trigger_value', $oldName)
->get(['rule_triggers.*']);
Log::debug(sprintf('Found %d triggers to update.', $triggers->count()));
/** @var RuleTrigger $trigger */
foreach ($triggers as $trigger) {
$trigger->trigger_value = $newName;
$trigger->save();
Log::debug(sprintf('Updated trigger %d: %s', $trigger->id, $trigger->trigger_value));
}
}
/**
* @param Budget $budget
* @param array $data
@@ -473,46 +515,4 @@ class BudgetRepository implements BudgetRepositoryInterface
$autoBudget->save();
}
/**
* @param string $oldName
* @param string $newName
*/
private function updateRuleActions(string $oldName, string $newName): void
{
$types = ['set_budget',];
$actions = RuleAction::leftJoin('rules', 'rules.id', '=', 'rule_actions.rule_id')
->where('rules.user_id', $this->user->id)
->whereIn('rule_actions.action_type', $types)
->where('rule_actions.action_value', $oldName)
->get(['rule_actions.*']);
Log::debug(sprintf('Found %d actions to update.', $actions->count()));
/** @var RuleAction $action */
foreach ($actions as $action) {
$action->action_value = $newName;
$action->save();
Log::debug(sprintf('Updated action %d: %s', $action->id, $action->action_value));
}
}
/**
* @param string $oldName
* @param string $newName
*/
private function updateRuleTriggers(string $oldName, string $newName): void
{
$types = ['budget_is',];
$triggers = RuleTrigger::leftJoin('rules', 'rules.id', '=', 'rule_triggers.rule_id')
->where('rules.user_id', $this->user->id)
->whereIn('rule_triggers.trigger_type', $types)
->where('rule_triggers.trigger_value', $oldName)
->get(['rule_triggers.*']);
Log::debug(sprintf('Found %d triggers to update.', $triggers->count()));
/** @var RuleTrigger $trigger */
foreach ($triggers as $trigger) {
$trigger->trigger_value = $newName;
$trigger->save();
Log::debug(sprintf('Updated trigger %d: %s', $trigger->id, $trigger->trigger_value));
}
}
}

View File

@@ -347,6 +347,17 @@ class OperationsRepository implements OperationsRepositoryInterface
return $array;
}
/**
* @return Collection
*/
private function getBudgets(): Collection
{
/** @var BudgetRepositoryInterface $repos */
$repos = app(BudgetRepositoryInterface::class);
return $repos->getActiveBudgets();
}
/**
* For now, simply refer to whichever repository holds this function.
* See reference nr. 14
@@ -364,15 +375,4 @@ class OperationsRepository implements OperationsRepositoryInterface
return $blRepository->getBudgetLimits($budget, $start, $end);
}
/**
* @return Collection
*/
private function getBudgets(): Collection
{
/** @var BudgetRepositoryInterface $repos */
$repos = app(BudgetRepositoryInterface::class);
return $repos->getActiveBudgets();
}
}

View File

@@ -78,6 +78,18 @@ class CategoryRepository implements CategoryRepositoryInterface
}
}
/**
* Find a category or return NULL
*
* @param int $categoryId
*
* @return Category|null
*/
public function find(int $categoryId): ?Category
{
return $this->user->categories()->find($categoryId);
}
/**
* Find a category.
*
@@ -118,18 +130,6 @@ class CategoryRepository implements CategoryRepositoryInterface
return $result;
}
/**
* Find a category or return NULL
*
* @param int $categoryId
*
* @return Category|null
*/
public function find(int $categoryId): ?Category
{
return $this->user->categories()->find($categoryId);
}
/**
* @param Category $category
*

View File

@@ -46,6 +46,15 @@ interface CategoryRepositoryInterface
*/
public function destroyAll(): void;
/**
* Find a category or return NULL
*
* @param int $categoryId
*
* @return Category|null
*/
public function find(int $categoryId): ?Category;
/**
* Find a category.
*
@@ -63,15 +72,6 @@ interface CategoryRepositoryInterface
*/
public function findCategory(?int $categoryId, ?string $categoryName): ?Category;
/**
* Find a category or return NULL
*
* @param int $categoryId
*
* @return Category|null
*/
public function find(int $categoryId): ?Category;
/**
* @param Category $category
*

View File

@@ -22,6 +22,7 @@
declare(strict_types=1);
namespace FireflyIII\Repositories\Category;
use Carbon\Carbon;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
use FireflyIII\Models\TransactionType;

View File

@@ -22,6 +22,7 @@
declare(strict_types=1);
namespace FireflyIII\Repositories\Category;
use Carbon\Carbon;
use FireflyIII\User;
use Illuminate\Support\Collection;

View File

@@ -22,6 +22,7 @@
declare(strict_types=1);
namespace FireflyIII\Repositories\Category;
use Carbon\Carbon;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
use FireflyIII\Models\TransactionType;

View File

@@ -30,6 +30,7 @@ use FireflyIII\Models\TransactionJournal;
use FireflyIII\Support\CacheProperties;
use FireflyIII\User;
use Illuminate\Support\Collection;
use JsonException;
use stdClass;
/**
@@ -117,7 +118,7 @@ class JournalCLIRepository implements JournalCLIRepositoryInterface
* @param string $field
*
* @return null|Carbon
* @throws \JsonException
* @throws JsonException
*/
public function getMetaDate(TransactionJournal $journal, string $field): ?Carbon
{
@@ -161,7 +162,7 @@ class JournalCLIRepository implements JournalCLIRepositoryInterface
* @param string $field
*
* @return null|string
* @throws \JsonException
* @throws JsonException
*/
public function getMetaField(TransactionJournal $journal, string $field): ?string
{

View File

@@ -37,6 +37,7 @@ use FireflyIII\Services\Internal\Update\JournalUpdateService;
use FireflyIII\Support\CacheProperties;
use FireflyIII\User;
use Illuminate\Support\Collection;
use JsonException;
/**
* Class JournalRepository.
@@ -68,18 +69,6 @@ class JournalRepository implements JournalRepositoryInterface
$service->destroy($journal);
}
/**
* @inheritDoc
*/
public function findByType(array $types): Collection
{
return $this->user
->transactionJournals()
->leftJoin('transaction_types', 'transaction_types.id', '=', 'transaction_journals.transaction_type_id')
->whereIn('transaction_types.type', $types)
->get(['transaction_journals.*']);
}
/**
* Find a specific journal.
*
@@ -92,6 +81,18 @@ class JournalRepository implements JournalRepositoryInterface
return $this->user->transactionJournals()->find($journalId);
}
/**
* @inheritDoc
*/
public function findByType(array $types): Collection
{
return $this->user
->transactionJournals()
->leftJoin('transaction_types', 'transaction_types.id', '=', 'transaction_journals.transaction_type_id')
->whereIn('transaction_types.type', $types)
->get(['transaction_journals.*']);
}
/**
* Get users first transaction journal or NULL.
*
@@ -129,7 +130,7 @@ class JournalRepository implements JournalRepositoryInterface
* @param TransactionJournal $journal
*
* @return string
* @throws \JsonException
* @throws JsonException
*/
public function getJournalTotal(TransactionJournal $journal): string
{
@@ -186,7 +187,7 @@ class JournalRepository implements JournalRepositoryInterface
* @param string $field
*
* @return null|Carbon
* @throws \JsonException
* @throws JsonException
*/
public function getMetaDateById(int $journalId, string $field): ?Carbon
{

View File

@@ -50,13 +50,6 @@ interface JournalRepositoryInterface
*/
public function destroyJournal(TransactionJournal $journal): void;
/**
* @param array $types
*
* @return Collection
*/
public function findByType(array $types): Collection;
/**
* See reference nr. 1
* Find a specific journal.
@@ -67,6 +60,13 @@ interface JournalRepositoryInterface
*/
public function find(int $journalId): ?TransactionJournal;
/**
* @param array $types
*
* @return Collection
*/
public function findByType(array $types): Collection;
/**
* Get users very first transaction journal.
*

View File

@@ -80,6 +80,16 @@ class LinkTypeRepository implements LinkTypeRepositoryInterface
return true;
}
/**
* @param int $linkTypeId
*
* @return LinkType|null
*/
public function find(int $linkTypeId): ?LinkType
{
return LinkType::find($linkTypeId);
}
/**
* @param string|null $name
*
@@ -111,16 +121,6 @@ class LinkTypeRepository implements LinkTypeRepositoryInterface
return $count + $opposingCount > 0;
}
/**
* @param int $linkTypeId
*
* @return LinkType|null
*/
public function find(int $linkTypeId): ?LinkType
{
return LinkType::find($linkTypeId);
}
/**
* See if such a link already exists (and get it).
*

View File

@@ -55,6 +55,13 @@ interface LinkTypeRepositoryInterface
*/
public function destroyLink(TransactionJournalLink $link): bool;
/**
* @param int $linkTypeId
*
* @return LinkType|null
*/
public function find(int $linkTypeId): ?LinkType;
/**
* Find link type by name.
*
@@ -74,13 +81,6 @@ interface LinkTypeRepositoryInterface
*/
public function findLink(TransactionJournal $one, TransactionJournal $two): bool;
/**
* @param int $linkTypeId
*
* @return LinkType|null
*/
public function find(int $linkTypeId): ?LinkType;
/**
* See if such a link already exists (and get it).
*

View File

@@ -54,6 +54,16 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface
$this->user->piggyBanks()->delete();
}
/**
* @param int $piggyBankId
*
* @return PiggyBank|null
*/
public function find(int $piggyBankId): ?PiggyBank
{
return $this->user->piggyBanks()->find($piggyBankId);
}
/**
* Find by name or return NULL.
*
@@ -66,16 +76,6 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface
return $this->user->piggyBanks()->where('piggy_banks.name', $name)->first(['piggy_banks.*']);
}
/**
* @param int $piggyBankId
*
* @return PiggyBank|null
*/
public function find(int $piggyBankId): ?PiggyBank
{
return $this->user->piggyBanks()->find($piggyBankId);
}
/**
* @param int|null $piggyBankId
* @param string|null $piggyBankName
@@ -302,6 +302,7 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface
$currentAmount = $this->getRepetition($piggy)->currentamount ?? '0';
$piggy->name = $piggy->name . ' (' . app('amount')->formatAnything($currency, $currentAmount, false) . ')';
}
return $set;
}

View File

@@ -101,6 +101,13 @@ interface PiggyBankRepositoryInterface
*/
public function destroyAll(): void;
/**
* @param int $piggyBankId
*
* @return PiggyBank|null
*/
public function find(int $piggyBankId): ?PiggyBank;
/**
* Find by name or return NULL.
*
@@ -110,13 +117,6 @@ interface PiggyBankRepositoryInterface
*/
public function findByName(string $name): ?PiggyBank;
/**
* @param int $piggyBankId
*
* @return PiggyBank|null
*/
public function find(int $piggyBankId): ?PiggyBank;
/**
* @param int|null $piggyBankId
* @param string|null $piggyBankName

View File

@@ -132,15 +132,15 @@ class RecurringRepository implements RecurringRepositoryInterface
*
* @param RecurrenceTransaction $recTransaction
*
* @return null|string
* @return null|int
*/
public function getCategoryName(RecurrenceTransaction $recTransaction): ?string
public function getCategoryId(RecurrenceTransaction $recTransaction): ?int
{
$return = '';
/** @var RecurrenceTransactionMeta $meta */
foreach ($recTransaction->recurrenceTransactionMeta as $meta) {
if ('category_name' === $meta->name) {
$return = (string)$meta->value;
if ('category_id' === $meta->name) {
$return = (int)$meta->value;
}
}
@@ -152,15 +152,15 @@ class RecurringRepository implements RecurringRepositoryInterface
*
* @param RecurrenceTransaction $recTransaction
*
* @return null|int
* @return null|string
*/
public function getCategoryId(RecurrenceTransaction $recTransaction): ?int
public function getCategoryName(RecurrenceTransaction $recTransaction): ?string
{
$return = '';
/** @var RecurrenceTransactionMeta $meta */
foreach ($recTransaction->recurrenceTransactionMeta as $meta) {
if ('category_id' === $meta->name) {
$return = (int)$meta->value;
if ('category_name' === $meta->name) {
$return = (string)$meta->value;
}
}

Some files were not shown because too many files have changed in this diff Show More