예제 #1
0
 /**
  * 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'));
 }
예제 #2
0
 /**
  * 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']);
 }
예제 #3
0
 /**
  * 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');
 }
예제 #4
0
 /**
  * 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);
 }
예제 #5
0
 /**
  * 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'));
 }
예제 #6
0
 /**
  * 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']);
 }
예제 #7
0
 /**
  * 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'));
 }