Forráskód Böngészése

added code to use custom date_pattern

Amal Raghav 14 éve
szülő
commit
dd104bc8c0
1 módosított fájl, 13 hozzáadás és 11 törlés
  1. 13 11
      src/Symfony/Component/Form/Extension/Core/Type/DateType.php

+ 13 - 11
src/Symfony/Component/Form/Extension/Core/Type/DateType.php

@@ -83,8 +83,7 @@ class DateType extends AbstractType
 
         $builder
             ->setAttribute('formatter', $formatter)
-            ->setAttribute('widget', $options['widget'])
-        ;
+            ->setAttribute('widget', $options['widget']);
     }
 
     public function buildViewBottomUp(FormView $view, FormInterface $form)
@@ -93,15 +92,18 @@ class DateType extends AbstractType
 
         if ($view->hasChildren()) {
 
-            $pattern = $form->getAttribute('formatter')->getPattern();
-
-            // set right order with respect to locale (e.g.: de_DE=dd.MM.yy; en_US=M/d/yy)
-            // lookup various formats at http://userguide.icu-project.org/formatparse/datetime
-            if (preg_match('/^([yMd]+).+([yMd]+).+([yMd]+)$/', $pattern)) {
-                $pattern = preg_replace(array('/y+/', '/M+/', '/d+/'), array('{{ year }}', '{{ month }}', '{{ day }}'), $pattern);
-            } else {
-                // default fallback
-                $pattern = '{{ year }}-{{ month }}-{{ day }}';
+            //if custom date_pattern is set then use it or else use the the formatter or the default pattern
+            if (!$pattern = $form->getAttribute('date_pattern')) {
+                $pattern = $form->getAttribute('formatter')->getPattern();
+
+                // set right order with respect to locale (e.g.: de_DE=dd.MM.yy; en_US=M/d/yy)
+                // lookup various formats at http://userguide.icu-project.org/formatparse/datetime
+                if (preg_match('/^([yMd]+).+([yMd]+).+([yMd]+)$/', $pattern)) {
+                    $pattern = preg_replace(array('/y+/', '/M+/', '/d+/'), array('{{ year }}', '{{ month }}', '{{ day }}'), $pattern);
+                } else {
+                    // default fallback
+                    $pattern = '{{ year }}-{{ month }}-{{ day }}';
+                }
             }
 
             $view->set('date_pattern', $pattern);