Revize 75508baf
Přidáno uživatelem Marek Lovčí před téměř 5 roky(ů)
app/Http/Controllers/DetailsController.php | ||
---|---|---|
3 | 3 |
namespace App\Http\Controllers; |
4 | 4 |
|
5 | 5 |
use App\ArtefactUser; |
6 |
use App\User; |
|
6 | 7 |
use Illuminate\Http\Request; |
7 | 8 |
use App\Metadata; |
8 | 9 |
use App\Artefact; |
10 |
use Illuminate\Support\Facades\Auth; |
|
9 | 11 |
|
10 | 12 |
class DetailsController extends Controller |
11 | 13 |
{ |
14 |
const ORDER_COLUMN = 'page'; |
|
15 |
|
|
12 | 16 |
public function __construct() |
13 | 17 |
{ |
14 | 18 |
$this->middleware('auth'); |
... | ... | |
32 | 36 |
* Display the specified resource. |
33 | 37 |
* |
34 | 38 |
* @param int $id |
35 |
* @return \Illuminate\Http\Response
|
|
39 |
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
|
|
36 | 40 |
*/ |
37 | 41 |
public function show($id) |
38 | 42 |
{ |
39 |
$data = array( |
|
40 |
'id' => $id, |
|
41 |
'arrArtefact' => Artefact::find($id), |
|
42 |
'likes' => Artefact::find($id)->users()->count(), |
|
43 |
'metadata' => Metadata::where('artefact_id', $id)->get() |
|
44 |
); |
|
45 |
return view('detail.index') -> with($data); |
|
43 |
if (is_null(Artefact::find($id))) |
|
44 |
{ |
|
45 |
return view('detail.index', ['metadata' => []]); |
|
46 |
} |
|
47 |
|
|
48 |
$metadata = Artefact::find($id)->metadata()->orderBy(self::ORDER_COLUMN)->get(); |
|
49 |
foreach($metadata as $item) |
|
50 |
{ |
|
51 |
$item['favourite'] = is_null(User::find(Auth::id())->likesMetadata()->find($item->id)) ? false : true; |
|
52 |
} |
|
53 |
|
|
54 |
return view('detail.index', ['metadata' => $metadata]); |
|
46 | 55 |
} |
47 | 56 |
|
57 |
/** |
|
58 |
* Likes metadata given by its id. |
|
59 |
* |
|
60 |
* @param $id int id of metadata |
|
61 |
* @return \Illuminate\Http\RedirectResponse |
|
62 |
*/ |
|
63 |
public function like($id) |
|
64 |
{ |
|
65 |
$user = User::find(Auth::id()); |
|
66 |
$metadata = Metadata::find($id); |
|
67 |
|
|
68 |
$user->likesMetadata()->attach($metadata); |
|
69 |
|
|
70 |
return back()->withInput(); |
|
71 |
} |
|
72 |
|
|
73 |
/** |
|
74 |
* Unlikes metadata given by its id. |
|
75 |
* |
|
76 |
* @param $id int id of metadata |
|
77 |
* @return \Illuminate\Http\RedirectResponse |
|
78 |
*/ |
|
79 |
public function unlike($id) |
|
80 |
{ |
|
81 |
$user = User::find(Auth::id()); |
|
82 |
$metadata = Metadata::find($id); |
|
83 |
|
|
84 |
$user->likesMetadata()->detach($metadata); |
|
85 |
|
|
86 |
return back()->withInput(); |
|
87 |
} |
|
48 | 88 |
} |
Také k dispozici: Unified diff
Merge origin/develop into master