mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-24 22:48:18 +00:00
Fix bad validation in variable.
This commit is contained in:
@@ -70,13 +70,15 @@ class RecurrenceController extends Controller
|
|||||||
$start = Carbon::createFromFormat('Y-m-d', $request->get('start'));
|
$start = Carbon::createFromFormat('Y-m-d', $request->get('start'));
|
||||||
$end = Carbon::createFromFormat('Y-m-d', $request->get('end'));
|
$end = Carbon::createFromFormat('Y-m-d', $request->get('end'));
|
||||||
$firstDate = Carbon::createFromFormat('Y-m-d', $request->get('first_date'));
|
$firstDate = Carbon::createFromFormat('Y-m-d', $request->get('first_date'));
|
||||||
$endDate = '' !== (string)$request->get('end_date') ? Carbon::createFromFormat('Y-m-d', $request->get('end_date')) : null;
|
$endDate = '' !== (string) $request->get('end_date') ? Carbon::createFromFormat('Y-m-d', $request->get('end_date')) : null;
|
||||||
$endsAt = (string)$request->get('ends');
|
$endsAt = (string) $request->get('ends');
|
||||||
$repetitionType = explode(',', $request->get('type'))[0];
|
$repetitionType = explode(',', $request->get('type'))[0];
|
||||||
$repetitions = (int)$request->get('reps');
|
$repetitions = (int) $request->get('reps');
|
||||||
|
$weekend = (int) $request->get('weekend');
|
||||||
$repetitionMoment = '';
|
$repetitionMoment = '';
|
||||||
$skip = (int)$request->get('skip');
|
$skip = (int) $request->get('skip');
|
||||||
$skip = $skip < 1 || $skip > 31 ? 1 : $skip;
|
$skip = $skip < 1 || $skip > 31 ? 1 : $skip;
|
||||||
|
$weekend = $weekend < 1 || $weekend > 4 ? 1 : $weekend;
|
||||||
|
|
||||||
if (false === $start || false === $end || false === $firstDate || false === $endDate) {
|
if (false === $start || false === $end || false === $firstDate || false === $endDate) {
|
||||||
return response()->json();
|
return response()->json();
|
||||||
@@ -105,7 +107,7 @@ class RecurrenceController extends Controller
|
|||||||
$repetition->repetition_type = $repetitionType;
|
$repetition->repetition_type = $repetitionType;
|
||||||
$repetition->repetition_moment = $repetitionMoment;
|
$repetition->repetition_moment = $repetitionMoment;
|
||||||
$repetition->repetition_skip = $skip;
|
$repetition->repetition_skip = $skip;
|
||||||
$repetition->weekend = (int)$request->get('weekend');
|
$repetition->weekend = $weekend;
|
||||||
$actualEnd = clone $end;
|
$actualEnd = clone $end;
|
||||||
|
|
||||||
if ('until_date' === $endsAt) {
|
if ('until_date' === $endsAt) {
|
||||||
@@ -124,7 +126,7 @@ class RecurrenceController extends Controller
|
|||||||
foreach ($occurrences as $current) {
|
foreach ($occurrences as $current) {
|
||||||
if ($current->gte($start)) {
|
if ($current->gte($start)) {
|
||||||
$event = [
|
$event = [
|
||||||
'id' => $repetitionType.$firstDate->format('Ymd'),
|
'id' => $repetitionType . $firstDate->format('Ymd'),
|
||||||
'title' => 'X',
|
'title' => 'X',
|
||||||
'allDay' => true,
|
'allDay' => true,
|
||||||
'start' => $current->format('Y-m-d'),
|
'start' => $current->format('Y-m-d'),
|
||||||
@@ -144,7 +146,7 @@ class RecurrenceController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function suggest(Request $request): JsonResponse
|
public function suggest(Request $request): JsonResponse
|
||||||
{
|
{
|
||||||
$string = '' === (string)$request->get('date') ? date('Y-m-d') : (string)$request->get('date');
|
$string = '' === (string) $request->get('date') ? date('Y-m-d') : (string) $request->get('date');
|
||||||
$today = today(config('app.timezone'))->startOfDay();
|
$today = today(config('app.timezone'))->startOfDay();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -156,37 +158,37 @@ class RecurrenceController extends Controller
|
|||||||
return response()->json();
|
return response()->json();
|
||||||
}
|
}
|
||||||
$date->startOfDay();
|
$date->startOfDay();
|
||||||
$preSelected = (string)$request->get('pre_select');
|
$preSelected = (string) $request->get('pre_select');
|
||||||
$locale = app('steam')->getLocale();
|
$locale = app('steam')->getLocale();
|
||||||
|
|
||||||
app('log')->debug(sprintf('date = %s, today = %s. date > today? %s', $date->toAtomString(), $today->toAtomString(), var_export($date > $today, true)));
|
app('log')->debug(sprintf('date = %s, today = %s. date > today? %s', $date->toAtomString(), $today->toAtomString(), var_export($date > $today, true)));
|
||||||
app('log')->debug(sprintf('past = true? %s', var_export('true' === (string)$request->get('past'), true)));
|
app('log')->debug(sprintf('past = true? %s', var_export('true' === (string) $request->get('past'), true)));
|
||||||
|
|
||||||
$result = [];
|
$result = [];
|
||||||
if ($date > $today || 'true' === (string)$request->get('past')) {
|
if ($date > $today || 'true' === (string) $request->get('past')) {
|
||||||
app('log')->debug('Will fill dropdown.');
|
app('log')->debug('Will fill dropdown.');
|
||||||
$weekly = sprintf('weekly,%s', $date->dayOfWeekIso);
|
$weekly = sprintf('weekly,%s', $date->dayOfWeekIso);
|
||||||
$monthly = sprintf('monthly,%s', $date->day);
|
$monthly = sprintf('monthly,%s', $date->day);
|
||||||
$dayOfWeek = (string)trans(sprintf('config.dow_%s', $date->dayOfWeekIso));
|
$dayOfWeek = (string) trans(sprintf('config.dow_%s', $date->dayOfWeekIso));
|
||||||
$ndom = sprintf('ndom,%s,%s', $date->weekOfMonth, $date->dayOfWeekIso);
|
$ndom = sprintf('ndom,%s,%s', $date->weekOfMonth, $date->dayOfWeekIso);
|
||||||
$yearly = sprintf('yearly,%s', $date->format('Y-m-d'));
|
$yearly = sprintf('yearly,%s', $date->format('Y-m-d'));
|
||||||
$yearlyDate = $date->isoFormat((string)trans('config.month_and_day_no_year_js', [], $locale));
|
$yearlyDate = $date->isoFormat((string) trans('config.month_and_day_no_year_js', [], $locale));
|
||||||
$result = [
|
$result = [
|
||||||
'daily' => ['label' => (string)trans('firefly.recurring_daily'), 'selected' => str_starts_with($preSelected, 'daily')],
|
'daily' => ['label' => (string) trans('firefly.recurring_daily'), 'selected' => str_starts_with($preSelected, 'daily')],
|
||||||
$weekly => [
|
$weekly => [
|
||||||
'label' => (string)trans('firefly.recurring_weekly', ['weekday' => $dayOfWeek]),
|
'label' => (string) trans('firefly.recurring_weekly', ['weekday' => $dayOfWeek]),
|
||||||
'selected' => str_starts_with($preSelected, 'weekly'),
|
'selected' => str_starts_with($preSelected, 'weekly'),
|
||||||
],
|
],
|
||||||
$monthly => [
|
$monthly => [
|
||||||
'label' => (string)trans('firefly.recurring_monthly', ['dayOfMonth' => $date->day]),
|
'label' => (string) trans('firefly.recurring_monthly', ['dayOfMonth' => $date->day]),
|
||||||
'selected' => str_starts_with($preSelected, 'monthly'),
|
'selected' => str_starts_with($preSelected, 'monthly'),
|
||||||
],
|
],
|
||||||
$ndom => [
|
$ndom => [
|
||||||
'label' => (string)trans('firefly.recurring_ndom', ['weekday' => $dayOfWeek, 'dayOfMonth' => $date->weekOfMonth]),
|
'label' => (string) trans('firefly.recurring_ndom', ['weekday' => $dayOfWeek, 'dayOfMonth' => $date->weekOfMonth]),
|
||||||
'selected' => str_starts_with($preSelected, 'ndom'),
|
'selected' => str_starts_with($preSelected, 'ndom'),
|
||||||
],
|
],
|
||||||
$yearly => [
|
$yearly => [
|
||||||
'label' => (string)trans('firefly.recurring_yearly', ['date' => $yearlyDate]),
|
'label' => (string) trans('firefly.recurring_yearly', ['date' => $yearlyDate]),
|
||||||
'selected' => str_starts_with($preSelected, 'yearly'),
|
'selected' => str_starts_with($preSelected, 'yearly'),
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
Reference in New Issue
Block a user