/** * Execute the job. * * @return void */ public function handle(ReleasesRequest $request) { // Create Release $release = Release::create($request->except(['coverart', 'tag_list'])); if ($request->tag_list) { // Set tags if exists $this->release->tags()->sync($request->tag_list); } // Set image to session session()->put('coverart', $request->coverart); // Launch Event event(new SavedRelease($release, 'created')); }
/** * Display the music sitemap * * @return \Illuminate\Http\Response */ public function music() { $music = Release::orderBy('created_at', 'desc')->select(['created_at', 'permalink'])->get(); return Response::view('public/sitemap/music', ['music' => $music], 200, ['Content-Type' => 'text/xml; charset=UTF-8']); }
/** * Remove the specified release from storage * and images and directory too * * @param int $id * @param Image $image * @param Directory $directory * @return \Illuminate\Http\Response */ public function destroy($id) { $this->dispatch(new DeleteRelease(Release::findOrFail($id))); return redirect()->route('admin.releases.index'); }
/** * Remove the specified release from storage * and images and directory too * * @param int $id * @param Image $image * @param Directory $directory * @return \Illuminate\Http\Response */ public function destroy($id) { $track = Track::whereId($id)->select('id', 'title', 'release_id')->first(); $release_permalink = Release::where('id', $track->release_id)->pluck('permalink'); $track->delete(); session()->flash('message', 'Se eliminó la canción "' . $track->title . '" satisfactoriamente'); return redirect()->route('admin.releases.show', $release_permalink); }
/** * Show release details * * @param string $permalink * @return Response */ public function releaseDetails($permalink) { $release = Release::releaseDetails($permalink)->first(); $releases = Release::RelatedReleases($release->artist_id, $release->id)->get(); $releasesCount = Release::count(); if (isset($release) and !$release->active) { redirect()->route('public.releases.latest'); } return view('public/releases/release-details', compact('release', 'releases', 'releasesCount')); }
/** * Get releases for feeds * * @return Response XML */ public function releases() { $data['releases'] = Release::releasesFeeds(); return Response::view('public/feeds/releases', $data, 200, ['Content-Type' => 'application/atom+xml; charset=UTF-8']); }
/** * Display release details * * @param string $permalink * @param Request $request * @return Response */ public function releaseDetails($permalink, Request $request) { $page = 'music'; $path = $request->segments(); $release = Release::PublicReleaseDetails($permalink)->first(); $releases = Release::PublicRelatedReleases($release->artist_id, $release->id)->limit(6)->get(); return view('public.music.release-details', compact('page', 'path', 'release', 'releases')); }