REFACTORING #1880 @1h: move content actions into interactions

This commit is contained in:
Michal Kváček
2016-10-25 20:13:12 +02:00
parent 000352052d
commit 8cb06bf641
4 changed files with 138 additions and 105 deletions
@@ -2,23 +2,37 @@
namespace App\CMS\Interactions\Admin\Content;
use App\CMS\Contracts\Interaction;
use App\Http\Requests\Request;
use App\CMS\Enumerations\ContentStatuses;
class ChangeStatus implements Interaction {
public function handle(Request $data, $parameters)
class ChangeStatus implements Interaction
{
/**
* Change status of content page
*
* @param array $data
* @param array $parameters
*
* @return mixed|void
*/
public function handle($data, $parameters)
{
list ($page) = $parameters;
$page->status = $data['status'];
$page->save();
}
/**
* Check if status is valid
*
* @param array $parameters
*
* @return array
*/
public function getValidationRules($parameters = [])
{
$statuses = ContentStatuses::getWithTranslations();
// check if given status is valid
if (!isset($statuses[$status])) {
return redirect()
->route('content.overview')
->with('error', trans('admin/contents.invalidStatus'));
}
}
public function getValidationRules($parameters)
{
// TODO: Implement getValidationRules() method.
return ['status' => 'in:' . implode(',', array_keys($statuses))];
}
}