Skip to content

Commit 9c1e64d

Browse files
committed
Grouped route for ticket creation with or without parameters outside route resource.
1 parent d5349ce commit 9c1e64d

2 files changed

Lines changed: 18 additions & 21 deletions

File tree

src/Controllers/TicketsController.php

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -638,28 +638,28 @@ protected function getCacheList($list)
638638
}
639639

640640
/**
641-
* Show the form for creating a new resource.
641+
* Open Ticket creation form with optional parameters pre-setted by URL
642642
*
643643
* @return Response
644644
*/
645-
public function create()
645+
public function create($parameters = null)
646646
{
647-
$data = $this->create_edit_data();
647+
$data = $this->create_edit_data();
648+
649+
if (!is_null($parameters)){
650+
$data = $this->ticket_URL_parameters($data, $parameters);
651+
}
648652

649-
$data['categories'] = $this->member->findOrFail(auth()->user()->id)->getNewTicketCategories();
653+
$data['categories'] = $this->member->findOrFail(auth()->user()->id)->getNewTicketCategories();
650654

651655
return view('panichd::tickets.createedit', $data);
652656
}
653657

654-
/**
655-
* Open Ticket creation form with one or many parameters pre-setted by URL
656-
*
657-
* @return Response
658+
/*
659+
* Process parameter pairs passed by URL and update and return $data array
658660
*/
659-
public function create_with_values($parameters)
661+
public function ticket_URL_parameters($data, $parameters)
660662
{
661-
$data = $this->create_edit_data();
662-
663663
// Get URL parameters and replace a_current array with them
664664
$a_temp = explode('/', $parameters);
665665
$a_parameters = [];
@@ -676,10 +676,8 @@ public function create_with_values($parameters)
676676
}
677677
}
678678

679-
$data['categories'] = $this->member->findOrFail(auth()->user()->id)->getNewTicketCategories();
680-
681-
return view('panichd::tickets.createedit', $data);
682-
}
679+
return $data;
680+
}
683681

684682
/*
685683
* Edit a ticket

src/routes.php

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,16 @@
2424
// Hide or show ticket to user
2525
Route::get("$main_route_path/hide/{value}/{ticket}", 'PanicHD\PanicHD\Controllers\TicketsController@hide')->name("$main_route.hide");
2626

27+
// Open Ticket create page with one or more parameters set by URL
28+
Route::get("$main_route_path/create/{parameters?}", 'PanicHD\PanicHD\Controllers\TicketsController@create')
29+
->where('parameters', '(.*)')
30+
->name("$main_route.create");
31+
2732
$field_name = last(explode('/', $main_route_path));
2833
Route::resource($main_route_path, 'PanicHD\PanicHD\Controllers\TicketsController', [
2934
'names' => [
3035
'index' => $main_route.'.index',
3136
'store' => $main_route.'.store',
32-
'create' => $main_route.'.create',
3337
'update' => $main_route.'.update',
3438
'show' => $main_route.'.show',
3539
'destroy' => $main_route.'.destroy',
@@ -40,11 +44,6 @@
4044
],
4145
]);
4246

43-
// Open Ticket create page with one or more parameters set by URL
44-
Route::get("$main_route_path/createwithvalues/{parameters}", 'PanicHD\PanicHD\Controllers\TicketsController@create_with_values')
45-
->where('parameters', '(.*)')
46-
->name("$main_route.create-with-values");
47-
4847
// Open Ticket edit page with one or more parameters set by URL
4948
Route::get("$main_route_path/{id}/editwithvalues/{parameters}", 'PanicHD\PanicHD\Controllers\TicketsController@edit_with_values')
5049
->where('parameters', '(.*)')

0 commit comments

Comments
 (0)