<?php namespace MovieSite\MovieSite\Workflow; use Exception; use Litepie\Workflow\Exceptions\WorkflowActionNotPerformedException; use MovieSite\MovieSite\Models\MovieSite; class MovieSiteAction { /** * Perform the complete action. * * @param MovieSite $movie_site * * @return MovieSite */ public function complete(MovieSite $movie_site) { try { $movie_site->status = 'complete'; return $movie_site->save(); } catch (Exception $e) { throw new WorkflowActionNotPerformedException(); } } /** * Perform the verify action. * * @param MovieSite $movie_site * * @return MovieSite */public function verify(MovieSite $movie_site) { try { $movie_site->status = 'verify'; return $movie_site->save(); } catch (Exception $e) { throw new WorkflowActionNotPerformedException(); } } /** * Perform the approve action. * * @param MovieSite $movie_site * * @return MovieSite */public function approve(MovieSite $movie_site) { try { $movie_site->status = 'approve'; return $movie_site->save(); } catch (Exception $e) { throw new WorkflowActionNotPerformedException(); } } /** * Perform the publish action. * * @param MovieSite $movie_site * * @return MovieSite */public function publish(MovieSite $movie_site) { try { $movie_site->status = 'publish'; return $movie_site->save(); } catch (Exception $e) { throw new WorkflowActionNotPerformedException(); } } /** * Perform the archive action. * * @param MovieSite $movie_site * * @return MovieSite */ public function archive(MovieSite $movie_site) { try { $movie_site->status = 'archive'; return $movie_site->save(); } catch (Exception $e) { throw new WorkflowActionNotPerformedException(); } } /** * Perform the unpublish action. * * @param MovieSite $movie_site * * @return MovieSite */ public function unpublish(MovieSite $movie_site) { try { $movie_site->status = 'unpublish'; return $movie_site->save(); } catch (Exception $e) { throw new WorkflowActionNotPerformedException(); } } }