Refactor UserPreferenceController

This commit is contained in:
Benoît Burnichon
2015-06-23 11:14:04 +02:00
parent 2e7731d924
commit ca289b6439

View File

@@ -9,64 +9,79 @@
*/ */
namespace Alchemy\Phrasea\Controller\User; namespace Alchemy\Phrasea\Controller\User;
use Alchemy\Phrasea\Application;
use Alchemy\Phrasea\Controller\Controller; use Alchemy\Phrasea\Controller\Controller;
use Alchemy\Phrasea\Model\Manipulator\UserManipulator;
use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Session\Session;
class UserPreferenceController extends Controller class UserPreferenceController extends Controller
{ {
/** /**
* Save temporary user preferences * Save temporary user preferences
* *
* @param Application $app
* @param Request $request * @param Request $request
* @return JsonResponse * @return JsonResponse
*/ */
public function saveTemporaryPref(Application $app, Request $request) public function saveTemporaryPref(Request $request)
{ {
if (!$request->isXmlHttpRequest()) { if (!$request->isXmlHttpRequest()) {
$app->abort(400); $this->app->abort(400);
} }
$prop = $request->request->get('prop'); $prop = $request->request->get('prop');
$value = $request->request->get('value'); $value = $request->request->get('value');
$success = false; $success = false;
$msg = $app->trans('Error while saving preference'); $msg = $this->app->trans('Error while saving preference');
if ($prop && $value) { if ($prop && $value) {
$app['session']->set('phraseanet.' . $prop, $value); $this->getSession()->set('phraseanet.' . $prop, $value);
$success = true; $success = true;
$msg = $app->trans('Preference saved !'); $msg = $this->app->trans('Preference saved !');
} }
return new JsonResponse(['success' => $success, 'message' => $msg]); return new JsonResponse(['success' => $success, 'message' => $msg]);
} }
/** /**
* Save user preferenes * Save user preferences
* *
* @param Application $app
* @param Request $request * @param Request $request
* @return JsonResponse * @return JsonResponse
*/ */
public function saveUserPref(Application $app, Request $request) public function saveUserPref(Request $request)
{ {
if (!$request->isXmlHttpRequest()) { if (!$request->isXmlHttpRequest()) {
$app->abort(400); $this->app->abort(400);
} }
$msg = $app->trans('Error while saving preference'); $msg = $this->app->trans('Error while saving preference');
$prop = $request->request->get('prop'); $prop = $request->request->get('prop');
$value = $request->request->get('value'); $value = $request->request->get('value');
$success = false; $success = false;
if (null !== $prop && null !== $value) { if (null !== $prop && null !== $value) {
$app['manipulator.user']->setUserSetting($app['authentication']->getUser(), $prop, $value); $this->getUserManipulator()->setUserSetting($this->getAuthenticatedUser(), $prop, $value);
$success = true; $success = true;
$msg = $app->trans('Preference saved !'); $msg = $this->app->trans('Preference saved !');
} }
return new JsonResponse(['success' => $success, 'message' => $msg]); return new JsonResponse(['success' => $success, 'message' => $msg]);
} }
/**
* @return Session
*/
private function getSession()
{
return $this->app['session'];
}
/**
* @return UserManipulator
*/
private function getUserManipulator()
{
return $this->app['manipulator.user'];
}
} }