Completed
Pull Request — master (#25)
by
unknown
04:29 queued 01:45
created

PageController::store()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 8
rs 9.4285
cc 1
eloc 4
nc 1
nop 1
1
<?php namespace Modules\Page\Http\Controllers\Admin;
2
3
use Modules\Core\Http\Controllers\Admin\AdminBaseController;
4
use Modules\Page\Entities\Page;
5
use Modules\Page\Http\Requests\CreatePageRequest;
6
use Modules\Page\Http\Requests\UpdatePageRequest;
7
use Modules\Page\Repositories\PageRepository;
8
use Modules\Page\Events\PageWasDeleted;
9
10
class PageController extends AdminBaseController
11
{
12
    /**
13
     * @var PageRepository
14
     */
15
    private $page;
16
17
    public function __construct(PageRepository $page)
18
    {
19
        parent::__construct();
20
21
        $this->page = $page;
22
        $this->assetPipeline->requireCss('icheck.blue.css');
23
    }
24
25
    public function index()
26
    {
27
        $pages = $this->page->all();
28
29
        return view('page::admin.index', compact('pages'));
30
    }
31
32
    /**
33
     * Show the form for creating a new resource.
34
     *
35
     * @return Response
36
     */
37
    public function create()
38
    {
39
        $this->assetPipeline->requireJs('ckeditor.js');
40
41
        return view('page::admin.create');
42
    }
43
44
    /**
45
     * Store a newly created resource in storage.
46
     *
47
     * @param  CreatePageRequest $request
48
     * @return Response
49
     */
50
    public function store(CreatePageRequest $request)
51
    {
52
        $this->page->create($request->all());
53
54
        flash(trans('page::messages.page created'));
55
56
        return redirect()->route('admin.page.page.index');
57
    }
58
59
    /**
60
     * Show the form for editing the specified resource.
61
     *
62
     * @param Page $page
63
     * @return Response
64
     */
65
    public function edit(Page $page)
66
    {
67
        $this->assetPipeline->requireJs('ckeditor.js');
68
69
        return view('page::admin.edit', compact('page'));
70
    }
71
72
    /**
73
     * Update the specified resource in storage.
74
     *
75
     * @param Page $page
76
     * @param  UpdatePageRequest $request
77
     * @return Response
78
     */
79
    public function update(Page $page, UpdatePageRequest $request)
80
    {
81
        $this->page->update($page, $request->all());
82
83
        flash(trans('page::messages.page updated'));
84
85
        if ($request->get('button') === 'index') {
86
            return redirect()->route('admin.page.page.index');
87
        }
88
89
        return redirect()->back();
90
    }
91
92
    /**
93
     * Remove the specified resource from storage.
94
     *
95
     * @param Page $page
96
     * @return Response
97
     */
98
    public function destroy(Page $page)
99
    {
100
        $this->page->destroy($page);
101
102
        event(new PageWasDeleted($page));
103
104
        flash(trans('page::messages.page deleted'));
105
106
        return redirect()->route('admin.page.page.index');
107
    }
108
}
109