authorize('viewStudio', $group); return Inertia::render('Studio/StudioGroupReviewQueue', [ 'title' => $group->name . ' Review queue', 'description' => 'Approve, reject, or request changes for artwork submitted under this group identity.', 'studioGroup' => $this->groups->mapGroupDetail($group, $request->user()), 'listing' => $this->reviews->listing($group, $request->user(), $request->only(['bucket', 'page', 'per_page'])), 'recentHistory' => $this->groups->recentHistory($group), ]); } public function approve(ReviewGroupArtworkRequest $request, Group $group, Artwork $artwork): RedirectResponse { $this->authorize('reviewSubmissions', $group); $this->reviews->approve($group, $artwork, $request->user(), $request->validated('review_notes')); return back()->with('success', 'Artwork approved and published.'); } public function needsChanges(ReviewGroupArtworkRequest $request, Group $group, Artwork $artwork): RedirectResponse { $this->authorize('reviewSubmissions', $group); $this->reviews->requestChanges($group, $artwork, $request->user(), $request->validated('review_notes')); return back()->with('success', 'Changes requested from the uploader.'); } public function reject(ReviewGroupArtworkRequest $request, Group $group, Artwork $artwork): RedirectResponse { $this->authorize('reviewSubmissions', $group); $this->reviews->reject($group, $artwork, $request->user(), $request->validated('review_notes')); return back()->with('success', 'Artwork rejected.'); } }