/** * Set the master language. * * @param LanguageInterface $language * * @return array * * @Route( * path = "/{iso}/master", * name = "admin_language_master" * ) * @Method({"POST"}) * * @EntityAnnotation( * class = { * "factory" = "elcodi.wrapper.store", * "method" = "get", * "static" = false * }, * name = "store", * persist = false * ) * @EntityAnnotation( * class = "elcodi.entity.language.class", * name = "language", * mapping = { * "iso" = "~iso~" * } * ) * * @JsonResponse() */ public function masterLanguageAction(StoreInterface $store, LanguageInterface $language) { $translator = $this->get('translator'); if (!$language->isEnabled()) { throw new HttpException('403', $translator->trans('admin.language.error.setting_disabled_master_language')); } $store->setDefaultLanguage($language); $this->get('elcodi.object_manager.store')->flush($store); $this->flushCache(); return ['message' => $translator->trans('admin.language.saved.master')]; }