Skip to content

Commit 3ed5321

Browse files
authored
Merge pull request #1161 from openmultiplechoice/schu/filter-module-view-decks-list
Filter module view decks list
2 parents 613ed36 + 8a30b62 commit 3ed5321

File tree

3 files changed

+29
-1
lines changed

3 files changed

+29
-1
lines changed

app/Http/Controllers/ModuleController.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace App\Http\Controllers;
44

55
use Illuminate\Http\Request;
6+
use Illuminate\Support\Facades\Auth;
67
use Illuminate\Support\Facades\Log;
78

89
use App\Models\Module;
@@ -62,9 +63,22 @@ public function show(Module $module)
6263
{
6364
$subjects = Subject::orderBy('name')->get();
6465

66+
$decks = $module->decks
67+
->filter(function ($deck) {
68+
return $deck->isPublic() || $deck->isOwnedByUser(Auth::user());
69+
})
70+
->sortBy('name')
71+
->map(function ($deck) {
72+
return (object) [
73+
'id' => $deck->id,
74+
'name' => $deck->name,
75+
];
76+
});
77+
6578
return view('module', [
6679
'module' => $module,
6780
'subjects' => $subjects,
81+
'decks' => $decks,
6882
]);
6983
}
7084

app/Models/Deck.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,4 +61,18 @@ public function bookmarked()
6161
{
6262
return $this->bookmarks()->where('user_id', Auth::id())->exists();
6363
}
64+
65+
public function isPublic()
66+
{
67+
return in_array($this->access, [
68+
'public-rw-listed',
69+
'public-rw',
70+
'public-ro',
71+
]);
72+
}
73+
74+
public function isOwnedByUser(User $user)
75+
{
76+
return $this->user_id === $user->id;
77+
}
6478
}

resources/views/module.blade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
<div class="col">
3434
<h4>Decks</h4>
3535
<ul>
36-
@foreach ($module->decks->sortByDesc('name') as $deck)
36+
@foreach ($decks as $deck)
3737
<li><a href="{{ url('decks/'. $deck->id) }}">{{ $deck->name }}</a></li>
3838
@endforeach
3939
</ul>

0 commit comments

Comments
 (0)