ReleaseTypes::reorder()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 9
rs 9.6667
cc 1
eloc 6
nc 1
nop 0
1
<?php namespace CosmicRadioTV\Podcast\Controllers;
2
3
use BackendMenu;
4
use Backend\Classes\Controller;
5
use CosmicRadioTV\Podcast\Models\ReleaseType;
6
7
/**
8
 * Release Types Back-end Controller
9
 */
10
class ReleaseTypes extends Controller
11
{
12
    public $implement = [
13
        'Backend.Behaviors.FormController',
14
        'Backend.Behaviors.ListController'
15
    ];
16
17
    public $formConfig = 'config_form.yaml';
18
    public $listConfig = 'config_list.yaml';
19
20
    public $requiredPermissions = ['cosmicradiotv.podcast.access_release_types'];
21
22
    public function __construct()
23
    {
24
        parent::__construct();
25
26
        BackendMenu::setContext('CosmicRadioTV.Podcast', 'podcast', 'releasetypes');
27
    }
28
29
    public function reorder()
30
    {
31
        $this->addJs('/plugins/cosmicradiotv/podcast/assets/javascript/jquery.sortable.min.js');
32
        $this->addJs('/plugins/cosmicradiotv/podcast/assets/javascript/release_type_sort.js');
33
        $this->addCss('/plugins/cosmicradiotv/podcast/assets/stylesheet/release_type_sort.css');
34
35
        $this->pageTitle = e(trans('cosmicradiotv.podcast::lang.release_type.reorder'));
36
        $this->vars['records'] = ReleaseType::query()->orderBy('sort_order','asc')->get();
37
    }
38
39
    public function onSaveOrder()
40
    {
41
        $model = ReleaseType::find(post('item_ids')[0]);
42
        $model->setSortableOrder(post('item_ids'), post('item_orders'));
43
44
        if ($redirect = $this->makeRedirect('reorder')) {
45
            return $redirect;
46
        }
47
    }
48
}