bug fixes and new functionality
This commit is contained in:
parent
4cf46bd449
commit
f985bfedd3
@ -14,7 +14,8 @@ class Form extends Model
|
|||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $guarded = [];
|
protected $guarded = [];
|
||||||
|
public $incrementing = false;
|
||||||
|
protected $keyType = 'string';
|
||||||
protected $appends = ['media_url'];
|
protected $appends = ['media_url'];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -477,21 +477,28 @@ class FormDataController extends Controller
|
|||||||
->orderBy('created_at', 'desc')
|
->orderBy('created_at', 'desc')
|
||||||
->get()
|
->get()
|
||||||
->filter(function (FormData $formData) use ($request) {
|
->filter(function (FormData $formData) use ($request) {
|
||||||
|
$date = null;
|
||||||
if (is_array($formData->data)) {
|
if (is_array($formData->data)) {
|
||||||
$date = strtotime(
|
$dates = array_filter($formData->data, function ($item) {
|
||||||
array_values(
|
return is_string($item) && strtotime($item);
|
||||||
array_filter($formData->data, fn($item) => is_string($item) && strtotime($item))
|
});
|
||||||
)[0]
|
if (!empty($dates)) {
|
||||||
);
|
$firstDate = reset($dates);
|
||||||
|
$date = strtotime($firstDate);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$date = Carbon::createFromTimestamp($date)->toDateString();
|
if (!$date) {
|
||||||
$isValidStartDate = $request->filled('start_date') ?
|
return false; // Skip entries without valid dates
|
||||||
$request->get('start_date') <= $date :
|
}
|
||||||
Carbon::now()->subDays(7)->toDateString() <= $date;
|
|
||||||
$isValidEndDate = $request->filled('end_date') ?
|
$dateStr = Carbon::createFromTimestamp($date)->toDateString();
|
||||||
$request->get('end_date') >= $date :
|
$isValidStartDate = $request->filled('start_date')
|
||||||
Carbon::now()->toDateString() >= $date;
|
? $request->get('start_date') <= $dateStr
|
||||||
|
: Carbon::now()->subDays(7)->toDateString() <= $dateStr;
|
||||||
|
$isValidEndDate = $request->filled('end_date')
|
||||||
|
? $request->get('end_date') >= $dateStr
|
||||||
|
: Carbon::now()->toDateString() >= $dateStr;
|
||||||
|
|
||||||
return $isValidStartDate && $isValidEndDate;
|
return $isValidStartDate && $isValidEndDate;
|
||||||
});
|
});
|
||||||
@ -532,7 +539,7 @@ class FormDataController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
return view('form_data.show')
|
return view('form_data.show')
|
||||||
->with(compact('form', 'data'));
|
->with(compact('form', 'data', 'has_permission')); // Добавьте has_permission
|
||||||
}
|
}
|
||||||
|
|
||||||
public function viewData($id)
|
public function viewData($id)
|
||||||
|
@ -82,9 +82,7 @@
|
|||||||
<table class="table" id="submitted_data_table" style="width: 100%;">
|
<table class="table" id="submitted_data_table" style="width: 100%;">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
@if(auth()->user()->hasRole([\App\Enums\User\RoleEnum::SUPERVISOR->value, \App\Enums\User\RoleEnum::ADMIN->value], 'web'))
|
|
||||||
<th>@lang('messages.action')</th>
|
<th>@lang('messages.action')</th>
|
||||||
@endif
|
|
||||||
|
|
||||||
@if($is_enabled_sub_ref_no)
|
@if($is_enabled_sub_ref_no)
|
||||||
<th>@lang('messages.submission_numbering')</th>
|
<th>@lang('messages.submission_numbering')</th>
|
||||||
@ -104,16 +102,19 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
@foreach($data as $k => $row)
|
@foreach($data as $k => $row)
|
||||||
<tr>
|
<tr>
|
||||||
@if(auth()->user()->hasRole([\App\Enums\User\RoleEnum::SUPERVISOR->value, \App\Enums\User\RoleEnum::ADMIN->value], 'web'))
|
<td>
|
||||||
<td>
|
{{-- Кнопка просмотра для всех, у кого есть права --}}
|
||||||
@if(in_array('view', $btn_enabled))
|
@if(in_array('view', $btn_enabled) && $has_permission)
|
||||||
<button type="button" class="btn btn-info btn-sm view_form_data m-1"
|
<button type="button" class="btn btn-info btn-sm view_form_data m-1"
|
||||||
data-href="{{action([\App\Http\Controllers\FormDataController::class, 'viewData'], [$row->id])}}"
|
data-href="{{action([\App\Http\Controllers\FormDataController::class, 'viewData'], [$row->id])}}"
|
||||||
data-toggle="modal">
|
data-toggle="modal">
|
||||||
<i class="fa fa-eye" aria-hidden="true"></i>
|
<i class="fa fa-eye" aria-hidden="true"></i>
|
||||||
@lang('messages.view')
|
@lang('messages.view')
|
||||||
</button>
|
</button>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
|
{{-- Кнопки только для админов/супервайзеров --}}
|
||||||
|
@if(auth()->user()->hasRole([\App\Enums\User\RoleEnum::SUPERVISOR->value, \App\Enums\User\RoleEnum::ADMIN->value], 'web'))
|
||||||
@if(in_array('delete', $btn_enabled))
|
@if(in_array('delete', $btn_enabled))
|
||||||
<button type="button"
|
<button type="button"
|
||||||
class="btn btn-danger btn-sm delete_form_data m-1"
|
class="btn btn-danger btn-sm delete_form_data m-1"
|
||||||
@ -122,16 +123,17 @@
|
|||||||
@lang('messages.delete')
|
@lang('messages.delete')
|
||||||
</button>
|
</button>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@php
|
@php
|
||||||
$form_id = !empty($form->slug) ? $form->slug : $form->id;
|
$form_id = !empty($form->slug) ? $form->slug : $form->id;
|
||||||
@endphp
|
@endphp
|
||||||
<a class="btn btn-dark btn-sm m-1"
|
<a class="btn btn-dark btn-sm m-1"
|
||||||
href="{{action([\App\Http\Controllers\FormDataController::class, 'getEditformData'], ['slug' => $form_id,'id' => $row->id])}}">
|
href="{{action([\App\Http\Controllers\FormDataController::class, 'getEditformData'], ['slug' => $form_id,'id' => $row->id])}}">
|
||||||
<i class="far fa-edit" aria-hidden="true"></i>
|
<i class="far fa-edit" aria-hidden="true"></i>
|
||||||
@lang('messages.edit')
|
@lang('messages.edit')
|
||||||
</a>
|
</a>
|
||||||
</td>
|
@endif
|
||||||
@endif
|
</td>
|
||||||
|
|
||||||
@if($is_enabled_sub_ref_no)
|
@if($is_enabled_sub_ref_no)
|
||||||
<td>
|
<td>
|
||||||
|
Loading…
Reference in New Issue
Block a user