diff --git a/core/lib/Thelia/Config/Resources/config.xml b/core/lib/Thelia/Config/Resources/config.xml
index 875215015..da28af735 100755
--- a/core/lib/Thelia/Config/Resources/config.xml
+++ b/core/lib/Thelia/Config/Resources/config.xml
@@ -154,6 +154,7 @@
+
diff --git a/core/lib/Thelia/Config/Resources/routing/admin.xml b/core/lib/Thelia/Config/Resources/routing/admin.xml
index 52495fd05..19346ca1c 100755
--- a/core/lib/Thelia/Config/Resources/routing/admin.xml
+++ b/core/lib/Thelia/Config/Resources/routing/admin.xml
@@ -949,6 +949,10 @@
Thelia\Controller\Admin\LangController::deleteAction
+
+ Thelia\Controller\Admin\LangController::defaultBehaviorAction
+
+
diff --git a/core/lib/Thelia/Controller/Admin/LangController.php b/core/lib/Thelia/Controller/Admin/LangController.php
index 4be58dc26..dae52c089 100644
--- a/core/lib/Thelia/Controller/Admin/LangController.php
+++ b/core/lib/Thelia/Controller/Admin/LangController.php
@@ -34,6 +34,7 @@ use Thelia\Core\Security\Resource\AdminResources;
use Thelia\Form\Exception\FormValidationException;
use Thelia\Form\Lang\LangCreateForm;
use Thelia\Form\Lang\LangUpdateForm;
+use Thelia\Model\ConfigQuery;
use Thelia\Model\LangQuery;
@@ -49,7 +50,15 @@ class LangController extends BaseAdminController
{
if (null !== $response = $this->checkAuth(AdminResources::LANGUAGE, AccessManager::VIEW)) return $response;
- return $this->render('languages');
+ return $this->renderDefault();
+ }
+
+ public function renderDefault(array $param = array())
+ {
+ return $this->render('languages', array_merge($param, array(
+ 'lang_without_translation' => ConfigQuery::getDefaultLangWhenNoTranslationAvailable(),
+ 'one_domain_per_lang' => ConfigQuery::read("one_domain_foreach_lang", false)
+ )));
}
public function updateAction($lang_id)
@@ -104,7 +113,7 @@ class LangController extends BaseAdminController
$error_msg = $e->getMessage();
}
- return $this->render('languages');
+ return $this->renderDefault();
}
protected function hydrateEvent($event,Form $form)
@@ -187,7 +196,7 @@ class LangController extends BaseAdminController
$this->getTranslator()->trans("%obj creation", array('%obj' => 'Lang')), $error_msg, $createForm, $ex);
// At this point, the form has error, and should be redisplayed.
- return $this->render('languages');
+ return $this->renderDefault();
}
@@ -209,9 +218,14 @@ class LangController extends BaseAdminController
$error_msg = $ex->getMessage();
}
- $this->render('languages', array(
+ return $this->renderDefault(array(
'error_delete_message' => $error_msg
));
}
+
+ public function defaultBehaviorAction()
+ {
+
+ }
}
\ No newline at end of file
diff --git a/core/lib/Thelia/Form/Lang/LangDefaultBehaviorForm.php b/core/lib/Thelia/Form/Lang/LangDefaultBehaviorForm.php
new file mode 100644
index 000000000..23418a392
--- /dev/null
+++ b/core/lib/Thelia/Form/Lang/LangDefaultBehaviorForm.php
@@ -0,0 +1,85 @@
+. */
+/* */
+/*************************************************************************************/
+
+namespace Thelia\Form\Lang;
+
+use Symfony\Component\Validator\Constraints\NotBlank;
+use Symfony\Component\Validator\Constraints\Range;
+use Thelia\Form\BaseForm;
+use Thelia\Core\Translation\Translator;
+
+
+/**
+ * Class LangDefaultBehaviorForm
+ * @package Thelia\Form\Lang
+ * @author Manuel Raynaud
+ */
+class LangDefaultBehaviorForm extends BaseForm
+{
+
+ /**
+ *
+ * in this function you add all the fields you need for your Form.
+ * Form this you have to call add method on $this->formBuilder attribute :
+ *
+ * $this->formBuilder->add("name", "text")
+ * ->add("email", "email", array(
+ * "attr" => array(
+ * "class" => "field"
+ * ),
+ * "label" => "email",
+ * "constraints" => array(
+ * new \Symfony\Component\Validator\Constraints\NotBlank()
+ * )
+ * )
+ * )
+ * ->add('age', 'integer');
+ *
+ * @return null
+ */
+ protected function buildForm()
+ {
+ $this->formBuilder
+ ->add('behavior', 'choice', array(
+ 'choices' => array(
+ 0 => Translator::getInstance()->trans("Strictly use the requested language"),
+ 1 => Translator::getInstance()->trans("Replace by the default language"),
+ ),
+ 'constraints' => array(
+ new NotBlank()
+ ),
+ 'label' => Translator::getInstance()->trans("If a translation is missing or incomplete :"),
+ 'label_attr' => array(
+ 'for' => 'defaultBehavior-form'
+ )
+ ));
+ }
+
+ /**
+ * @return string the name of you form. This name must be unique
+ */
+ public function getName()
+ {
+ return 'thelia_lang_defaultBehavior';
+ }
+}
\ No newline at end of file
diff --git a/templates/admin/default/languages.html b/templates/admin/default/languages.html
index e8a695c0b..9611d6b84 100644
--- a/templates/admin/default/languages.html
+++ b/templates/admin/default/languages.html
@@ -91,24 +91,25 @@
{intl l="Parameters"}
-
-
-
+ {/form}