OrderStatusController   A
last analyzed

Complexity

Total Complexity 9

Size/Duplication

Total Lines 69
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 1
Metric Value
eloc 30
c 2
b 0
f 1
dl 0
loc 69
rs 10
wmc 9

6 Methods

Rating   Name   Duplication   Size   Complexity  
A store() 0 4 1
A update() 0 4 1
A index() 0 26 3
A edit() 0 11 1
A destroy() 0 7 2
A create() 0 3 1
1
<?php namespace App\Http\Controllers\Backend;
2
3
/**
4
 * OrderStatusController
5
 *
6
 * This is the controller of the order statuses of the shop
7
 * @author Matthijs Neijenhuijs <[email protected]>
8
 * @version 0.1
9
 */
10
11
use App\Http\Controllers\Controller;
12
use Illuminate\Http\Request;
13
use Form;
14
use Hideyo\Ecommerce\Framework\Services\Order\OrderStatusEmailTemplateFacade as OrderStatusEmailTemplateService;
15
use Hideyo\Ecommerce\Framework\Services\Order\OrderStatusFacade as OrderStatusService;
16
17
class OrderStatusController extends Controller
18
{
19
    public function index(Request $request)
20
    {
21
        if ($request->wantsJson()) {
22
23
            $query = OrderStatusService::getModel()->where('shop_id', '=', auth('hideyobackend')->user()->selected_shop_id);
0 ignored issues
show
Bug introduced by
Accessing selected_shop_id on the interface Illuminate\Contracts\Auth\Authenticatable suggest that you code against a concrete implementation. How about adding an instanceof check?
Loading history...
24
            
25
            $datatables = \DataTables::of($query)
26
            ->addColumn('title', function ($query) {
27
     
28
                if ($query->color) {
29
                    return '<span style="background-color:'.$query->color.'; padding: 10px; line-height:30px; text-align:center; color:white;">'.$query->title.'</span>';
30
                }
31
                
32
                return $query->title;
33
            })
34
            ->addColumn('action', function ($query) {
35
                $deleteLink = Form::deleteajax('/admin/order-status/'. $query->id, 'Delete', '', array('class'=>'btn btn-default btn-sm btn-danger'));
36
                $links = '<a href="/admin/order-status/'.$query->id.'/edit" class="btn btn-default btn-sm btn-success"><i class="entypo-pencil"></i>Edit</a>  '.$deleteLink;
37
            
38
                return $links;
39
            });
40
41
            return $datatables->rawColumns(['title', 'action'])->make(true);
42
        }
43
        
44
        return view('backend.order-status.index')->with('content', OrderStatusService::selectAll());
45
    }
46
47
    public function create()
48
    {
49
        return view('backend.order-status.create')->with(array('templates' => OrderStatusEmailTemplateService::selectAllByShopId(auth('hideyobackend')->user()->selected_shop_id)->pluck('title', 'id')));
0 ignored issues
show
Bug introduced by
Accessing selected_shop_id on the interface Illuminate\Contracts\Auth\Authenticatable suggest that you code against a concrete implementation. How about adding an instanceof check?
Loading history...
50
    }
51
52
    public function store(Request $request)
53
    {
54
        $result  = OrderStatusService::create($request->all());
55
        return OrderStatusService::notificationRedirect('order-status.index', $result, 'The order status was inserted.');
56
    }
57
58
    public function edit($orderStatusId)
59
    {
60
        $orderStatus = OrderStatusService::find($orderStatusId);
61
62
        $populatedData = array();
63
           
64
        return view('backend.order-status.edit')->with(
65
            array(
66
            'orderStatus' => $orderStatus,
67
            'populatedData' => $populatedData,
68
            'templates' => OrderStatusEmailTemplateService::selectAllByShopId(auth('hideyobackend')->user()->selected_shop_id)->pluck('title', 'id')
0 ignored issues
show
Bug introduced by
Accessing selected_shop_id on the interface Illuminate\Contracts\Auth\Authenticatable suggest that you code against a concrete implementation. How about adding an instanceof check?
Loading history...
69
            )
70
        );
71
    }
72
73
    public function update(Request $request, $orderStatusId)
74
    {
75
        $result  = OrderStatusService::updateById($request->all(), $orderStatusId);
76
        return OrderStatusService::notificationRedirect('order-status.index', $result, 'The order status was updated.');
77
    }
78
79
    public function destroy($orderStatusId)
80
    {
81
        $result  = OrderStatusService::destroy($orderStatusId);
82
83
        if ($result) {
84
            flash('The order status was deleted.');
85
            return redirect()->route('order-status.index');
86
        }
87
    }
88
}
89