Skip to content

Commit c402aee

Browse files
committed
Search by URL including text fields
1 parent d3dcfb7 commit c402aee

2 files changed

Lines changed: 16 additions & 10 deletions

File tree

src/Controllers/TicketsController.php

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ class TicketsController extends Controller
3535
protected $member;
3636
protected $a_search_fields_numeric = ['creator_id', 'user_id', 'status_id', 'priority_id', 'category_id', 'agent_id'];
3737
protected $a_search_fields_text = ['subject', 'content', 'intervention'];
38+
protected $a_search_fields_text_special = ['comments', 'attachment_name', 'any_text_field'];
3839
protected $a_search_fields_date = ['start_date', 'limit_date', 'created_at', 'completed_at', 'updated_at'];
3940

4041
public function __construct(Ticket $tickets, \PanicHDMember $member)
@@ -776,8 +777,9 @@ public function search_form($parameters = null)
776777

777778
// If there are search parameters
778779
if (!is_null($parameters)){
779-
// Array of the parameters we allow to use via URL
780-
$a_valid_params = array_merge($this->a_search_fields_numeric, ['department_id', 'list', 'tags']);
780+
// URL allowed parameter arrays
781+
$a_numeric_params = array_merge($this->a_search_fields_numeric, ['department_id', 'list', 'tags']);
782+
$a_text_params = array_merge($this->a_search_fields_text, $this->a_search_fields_text_special);
781783

782784
$a_temp = explode('/', $parameters);
783785
$a_parameters = [];
@@ -789,9 +791,13 @@ public function search_form($parameters = null)
789791
$key = $param;
790792

791793
}else{
792-
if (in_array($key, $a_valid_params)){
794+
if (in_array($key, $a_numeric_params)){
793795
// Add param value pair into search_fields array
794796
$search_fields[$key] = $param;
797+
798+
}elseif(in_array($key, $a_text_params)){
799+
// Decode strings in URL
800+
$search_fields[$key] = urldecode($param);
795801
}
796802

797803
// key reset to look for a new parameter
@@ -873,7 +879,7 @@ public function register_search_fields(Request $request)
873879
session()->forget('search_fields');
874880

875881
// Check all fields
876-
$a_fields = array_merge($this->a_search_fields_numeric, $this->a_search_fields_text, $this->a_search_fields_date, ['department_id', 'list', 'comments', 'attachment_name', 'any_text_field']);
882+
$a_fields = array_merge($this->a_search_fields_numeric, $this->a_search_fields_text, $this->a_search_fields_date, $this->a_search_fields_text_special, ['department_id', 'list']);
877883
foreach ($a_fields as $field){
878884
if($request->filled($field)){
879885
$search_fields[$field] = $request->{$field};

src/Views/tickets/search/form.blade.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
'class' => 'col-lg-3 col-form-label'
1111
]) !!}
1212
<div class="col-lg-9">
13-
{!! CollectiveForm::text('subject', null , ['class' => 'form-control', 'placeholder' => trans('panichd::lang.create-ticket-brief-issue')]) !!}
13+
{!! CollectiveForm::text('subject', $search_fields['subject'] ?? null , ['class' => 'form-control', 'placeholder' => trans('panichd::lang.create-ticket-brief-issue')]) !!}
1414
</div>
1515
</div>
1616

@@ -199,21 +199,21 @@
199199
<div class="form-group row"><!-- DESCRIPTION -->
200200
<label for="content" class="col-lg-3 col-form-label">{{trans('panichd::lang.description')}}{{trans('panichd::lang.colon')}}</label>
201201
<div class="col-lg-9">
202-
<textarea class="form-control" rows="2" name="content" cols="50"></textarea>
202+
<textarea class="form-control" rows="2" name="content" cols="50">{{ $search_fields['content'] ?? '' }}</textarea>
203203
</div>
204204
</div>
205205

206206
<div class="form-group row"><!-- INTERVENTION -->
207207
<label for="intervention" class="col-lg-3 col-form-label">{{ trans('panichd::lang.intervention') . trans('panichd::lang.colon') }}</label>
208208
<div class="col-lg-9">
209-
<textarea class="form-control" rows="2" name="intervention" cols="50"></textarea>
209+
<textarea class="form-control" rows="2" name="intervention" cols="50">{{ $search_fields['intervention'] ?? '' }}</textarea>
210210
</div>
211211
</div>
212212

213213
<div class="form-group row"><!-- COMMENTS -->
214214
<label for="comments" class="col-lg-3 col-form-label">{{ trans('panichd::lang.searchform-comments') . trans('panichd::lang.colon') }}</label>
215215
<div class="col-lg-9">
216-
<textarea class="form-control" rows="2" name="comments" cols="50"></textarea>
216+
<textarea class="form-control" rows="2" name="comments" cols="50">{{ $search_fields['comments'] ?? '' }}</textarea>
217217
</div>
218218
</div>
219219

@@ -223,14 +223,14 @@
223223
'class' => 'col-lg-3 col-form-label'
224224
]) !!}
225225
<div class="col-lg-9">
226-
{!! CollectiveForm::text('attachment_name', null , ['class' => 'form-control']) !!}
226+
{!! CollectiveForm::text('attachment_name', $search_fields['attachment_name'] ?? null , ['class' => 'form-control']) !!}
227227
</div>
228228
</div>
229229
@endif
230230
<div class="form-group row"><!-- FIND IN ANY TEXT FIELD -->
231231
<label for="comments" class="col-lg-3 col-form-label tooltip-info" title="{{ trans('panichd::lang.searchform-help-any_text_field') }}">{{ trans('panichd::lang.searchform-any_text_field') . trans('panichd::lang.colon') }} <span class="fa fa-question-circle" style="color: #bbb"></span></label>
232232
<div class="col-lg-9">
233-
<textarea class="form-control" rows="2" name="any_text_field" cols="50"></textarea>
233+
<textarea class="form-control" rows="2" name="any_text_field" cols="50">{{ $search_fields['any_text_field'] ?? '' }}</textarea>
234234
</div>
235235
</div>
236236

0 commit comments

Comments
 (0)