Passed
Push — master ( 2232db...f4b030 )
by Matthijs
20:23 queued 14:47
created

HtmlBlockController::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 2
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 2
rs 10
c 0
b 0
f 0
1
<?php namespace App\Http\Controllers\Backend;
2
3
/**
4
 * HtmlBlockController
5
 *
6
 * This is the controller of the htmlBlocks 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 Notification;
14
use Datatables;
0 ignored issues
show
Bug introduced by
The type Datatables was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
15
use Form;
16
17
use Hideyo\Ecommerce\Framework\Services\HtmlBlock\HtmlBlockFacade as HtmlBlockService;
18
19
20
class HtmlBlockController extends Controller
21
{
22
    public function index(Request $request)
23
    {
24
        if ($request->wantsJson()) {
25
26
            $query = HtmlBlockService::getModel()->select(
27
                ['id', 'active',
28
                'title', 'image_file_name', 'position']
29
            )->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...
30
            
31
            $datatables = Datatables::of($query)
32
33
            ->addColumn('active', function ($query) {
34
                if ($query->active) {
35
                    return '<a href="#" class="change-active" data-url="/admin/html-block/change-active/'.$query->id.'"><span class="glyphicon glyphicon-ok icon-green"></span></a>';
36
                }
37
                return '<a href="#" class="change-active" data-url="/admin/html-block/change-active/'.$query->id.'"><span class="glyphicon glyphicon-remove icon-red"></span></a>';
38
            })
39
            ->addColumn('image', function ($query) {
40
                if ($query->image_file_name) {
41
                    return '<img src="'.config('hideyo.public_path').'/html_block/'.$query->id.'/'.$query->image_file_name.'" width="200px" />';
42
                }
43
            })
44
            ->addColumn('action', function ($query) {
45
                $deleteLink = Form::deleteajax(url()->route('html-block.destroy', $query->id), 'Delete', '', array('class'=>'btn btn-default btn-sm btn-danger'));
46
                $copy = '<a href="/admin/html-block/'.$query->id.'/copy" class="btn btn-default btn-sm btn-info"><i class="entypo-pencil"></i>Copy</a>';
47
                $links = '<a href="'.url()->route('html-block.edit', $query->id).'" class="btn btn-default btn-sm btn-success"><i class="entypo-pencil"></i>Edit</a> '.$copy.' '.$deleteLink;
48
                return $links;
49
            });
50
51
            return $datatables->make(true);
52
        }
53
        
54
        return view('backend.html-block.index')->with('htmlBlock', HtmlBlockService::selectAll());
55
    }
56
57
    public function create()
58
    {
59
        return view('backend.html-block.create')->with(array());
60
    }
61
62
    public function store(Request $request)
63
    {
64
        $result  = HtmlBlockService::create($request->all());
65
        return HtmlBlockService::notificationRedirect('html-block.index', $result, 'The html block was inserted.');     
66
    }
67
68
    public function changeActive($htmlBlockId)
69
    {
70
        $result = HtmlBlockService::changeActive($htmlBlockId);
71
        return response()->json($result);
72
    }
73
74
    public function edit($htmlBlockId)
75
    {
76
        return view('backend.html-block.edit')->with(array('htmlBlock' => HtmlBlockService::find($htmlBlockId)));
77
    }
78
79
    public function update(Request $request, $htmlBlockId)
80
    {
81
        $result  = HtmlBlockService::updateById($request->all(), $htmlBlockId);
82
            return HtmlBlockService::notificationRedirect('html-block.index', $result, 'The html block was updated.');     
83
    }
84
85
    public function copy($htmlBlockId)
86
    {
87
        $htmlBlock = HtmlBlockService::find($htmlBlockId);
88
89
        return view('backend.html-block.copy')->with(
90
            array(
91
            'htmlBlock' => $htmlBlock
92
            )
93
        );
94
    }
95
    
96
    public function storeCopy(Request $request, $htmlBlockId)
97
    {
98
        $htmlBlock = HtmlBlockService::find($htmlBlockId);
99
100
        if($htmlBlock) {
101
            $result  = HtmlBlockService::createCopy($request->all(), $htmlBlockId);
102
            return HtmlBlockService::notificationRedirect('html-block.index', $result, 'The html block was inserted.');      
103
        }
104
105
        return redirect()->back()->withInput();
106
    }
107
108
    public function destroy($htmlBlockId)
109
    {
110
        $result  = HtmlBlockService::destroy($htmlBlockId);
111
112
        if ($result) {
113
            Notification::success('The html block was deleted.');
114
            return redirect()->route('html-block.index');
115
        }
116
    }
117
}
118