mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Update frontend to facilitate bills.
This commit is contained in:
parent
a18742d250
commit
217a382616
@ -55,6 +55,8 @@ class StoreRequest extends FormRequest
|
||||
'currency_id' => ['currency_id', 'integer'],
|
||||
'currency_code' => ['currency_code', 'string'],
|
||||
'date' => ['date', 'date'],
|
||||
'end_date' => ['end_date', 'date'],
|
||||
'extension_date' => ['extension_date', 'date'],
|
||||
'repeat_freq' => ['repeat_freq', 'string'],
|
||||
'skip' => ['skip', 'integer'],
|
||||
'active' => ['active', 'boolean'],
|
||||
@ -75,16 +77,18 @@ class StoreRequest extends FormRequest
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'name' => 'between:1,255|uniqueObjectForUser:bills,name',
|
||||
'amount_min' => 'numeric|gt:0',
|
||||
'amount_max' => 'numeric|gt:0',
|
||||
'currency_id' => 'numeric|exists:transaction_currencies,id',
|
||||
'currency_code' => 'min:3|max:3|exists:transaction_currencies,code',
|
||||
'date' => 'date',
|
||||
'repeat_freq' => 'in:weekly,monthly,quarterly,half-year,yearly',
|
||||
'skip' => 'between:0,31',
|
||||
'active' => [new IsBoolean],
|
||||
'notes' => 'between:1,65536',
|
||||
'name' => 'between:1,255|uniqueObjectForUser:bills,name',
|
||||
'amount_min' => 'numeric|gt:0|required',
|
||||
'amount_max' => 'numeric|gt:0|required',
|
||||
'currency_id' => 'numeric|exists:transaction_currencies,id',
|
||||
'currency_code' => 'min:3|max:3|exists:transaction_currencies,code',
|
||||
'date' => 'date|required',
|
||||
'end_date' => 'date|after:date',
|
||||
'extension_date' => 'date|after:date',
|
||||
'repeat_freq' => 'in:weekly,monthly,quarterly,half-year,yearly|required',
|
||||
'skip' => 'between:0,31',
|
||||
'active' => [new IsBoolean],
|
||||
'notes' => 'between:1,65536',
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -53,6 +53,8 @@ class UpdateRequest extends FormRequest
|
||||
'currency_id' => ['currency_id', 'integer'],
|
||||
'currency_code' => ['currency_code', 'string'],
|
||||
'date' => ['date', 'date'],
|
||||
'end_date' => ['end_date', 'date'],
|
||||
'extension_date' => ['extension_date', 'date'],
|
||||
'repeat_freq' => ['repeat_freq', 'string'],
|
||||
'skip' => ['skip', 'integer'],
|
||||
'active' => ['active', 'boolean'],
|
||||
@ -75,16 +77,18 @@ class UpdateRequest extends FormRequest
|
||||
$bill = $this->route()->parameter('bill');
|
||||
|
||||
return [
|
||||
'name' => sprintf('between:1,255|uniqueObjectForUser:bills,name,%d', $bill->id),
|
||||
'amount_min' => 'numeric|gt:0',
|
||||
'amount_max' => 'numeric|gt:0',
|
||||
'currency_id' => 'numeric|exists:transaction_currencies,id',
|
||||
'currency_code' => 'min:3|max:3|exists:transaction_currencies,code',
|
||||
'date' => 'date',
|
||||
'repeat_freq' => 'in:weekly,monthly,quarterly,half-year,yearly',
|
||||
'skip' => 'between:0,31',
|
||||
'active' => [new IsBoolean],
|
||||
'notes' => 'between:1,65536',
|
||||
'name' => sprintf('between:1,255|uniqueObjectForUser:bills,name,%d', $bill->id),
|
||||
'amount_min' => 'numeric|gt:0',
|
||||
'amount_max' => 'numeric|gt:0',
|
||||
'currency_id' => 'numeric|exists:transaction_currencies,id',
|
||||
'currency_code' => 'min:3|max:3|exists:transaction_currencies,code',
|
||||
'date' => 'date',
|
||||
'end_date' => 'date|after:date',
|
||||
'extension_date' => 'date|after:date',
|
||||
'repeat_freq' => 'in:weekly,monthly,quarterly,half-year,yearly',
|
||||
'skip' => 'between:0,31',
|
||||
'active' => [new IsBoolean],
|
||||
'notes' => 'between:1,65536',
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -67,6 +67,8 @@ class BillFactory
|
||||
'transaction_currency_id' => $currency->id,
|
||||
'amount_max' => $data['amount_max'],
|
||||
'date' => $data['date'],
|
||||
'end_date' => $data['end_date'] ?? null,
|
||||
'extension_date' => $data['extension_date'] ?? null,
|
||||
'repeat_freq' => $data['repeat_freq'],
|
||||
'skip' => $skip,
|
||||
'automatch' => true,
|
||||
|
@ -25,6 +25,7 @@ namespace FireflyIII\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use FireflyIII\Models\Account;
|
||||
use FireflyIII\Models\Bill;
|
||||
use FireflyIII\Models\TransactionGroup;
|
||||
use FireflyIII\Models\TransactionJournal;
|
||||
use Illuminate\Http\Request;
|
||||
@ -58,6 +59,10 @@ class InterestingMessage
|
||||
Preferences::mark();
|
||||
$this->handleAccountMessage($request);
|
||||
}
|
||||
if ($this->billMessage($request)) {
|
||||
Preferences::mark();
|
||||
$this->handleBillMessage($request);
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
@ -88,11 +93,12 @@ class InterestingMessage
|
||||
/**
|
||||
* @param Request $request
|
||||
*/
|
||||
private function handleAccountMessage(Request $request): void {
|
||||
private function handleAccountMessage(Request $request): void
|
||||
{
|
||||
|
||||
// get parameters from request.
|
||||
$accountId = $request->get('account_id');
|
||||
$message = $request->get('message');
|
||||
$message = $request->get('message');
|
||||
|
||||
/** @var Account $account */
|
||||
$account = auth()->user()->accounts()->withTrashed()->find($accountId);
|
||||
@ -103,10 +109,35 @@ class InterestingMessage
|
||||
if ('deleted' === $message) {
|
||||
session()->flash('success', (string)trans('firefly.account_deleted', ['name' => $account->name]));
|
||||
}
|
||||
if('created' === $message) {
|
||||
if ('created' === $message) {
|
||||
session()->flash('success', (string)trans('firefly.stored_new_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
|
||||
*/
|
||||
@ -162,4 +193,18 @@ class InterestingMessage
|
||||
|
||||
return null !== $accountId && null !== $message;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
private function billMessage(Request $request): bool
|
||||
{
|
||||
// get parameters from request.
|
||||
$billId = $request->get('bill_id');
|
||||
$message = $request->get('message');
|
||||
|
||||
return null !== $billId && null !== $message;
|
||||
}
|
||||
}
|
||||
|
@ -122,7 +122,7 @@ class Bill extends Model
|
||||
/** @var array Fields that can be filled */
|
||||
protected $fillable
|
||||
= ['name', 'match', 'amount_min', 'user_id', 'amount_max', 'date', 'repeat_freq', 'skip',
|
||||
'automatch', 'active', 'transaction_currency_id'];
|
||||
'automatch', 'active', 'transaction_currency_id', 'end_date', 'extension_date'];
|
||||
/** @var array Hidden from view */
|
||||
protected $hidden = ['amount_min_encrypted', 'amount_max_encrypted', 'name_encrypted', 'match_encrypted'];
|
||||
|
||||
|
@ -38,6 +38,7 @@ class EitherConfigKey
|
||||
'firefly.accountRoles',
|
||||
'firefly.valid_liabilities',
|
||||
'firefly.interest_periods',
|
||||
'firefly.bill_periods',
|
||||
'firefly.enable_external_map',
|
||||
'firefly.expected_source_types',
|
||||
'app.timezone',
|
||||
|
@ -23,7 +23,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
|
||||
### Fixed
|
||||
- #4894 Bad number comparison
|
||||
- [Issue 4894](https://github.com/firefly-iii/firefly-iii/issues/4894) Bad number comparison
|
||||
- Various Sonarqube issues, thanks @hazma-fadil!
|
||||
- Correct menu display, thanks @vonsogt!
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user