Browse Source

Fix FAQ errors.

jmontoyaa 9 years ago
parent
commit
53ebcbbaeb

+ 9 - 9
app/config/sonata/sonata_admin.yml

@@ -67,15 +67,6 @@ sonata_admin:
                     - sonata.media.admin.gallery
 #                    - sonata.comment.admin.thread
 
-            sonata.admin.group.classification:
-                label:           sonata_classification
-                label_catalogue: SonataClassificationBundle
-                #icon:            '<i class="fa fa-sitemap"></i>'
-                items:
-                    - sonata.classification.admin.category
-                    - sonata.classification.admin.tag
-                    - sonata.classification.admin.collection
-
             sonata.admin.group.site_builder:
                 label:           Site Builder
                 label_catalogue: SonataDemoBundle
@@ -92,6 +83,15 @@ sonata_admin:
                     - sonata.admin.faq_category
                     - sonata.admin.faq_question
 
+            sonata.admin.group.classification:
+                label:           sonata_classification
+                label_catalogue: SonataClassificationBundle
+                #icon:            '<i class="fa fa-sitemap"></i>'
+                items:
+                    - sonata.classification.admin.category
+                    - sonata.classification.admin.tag
+                    - sonata.classification.admin.collection
+
             sonata.admin.group.administration:
                 label:           sonata_administration
                 label_catalogue: SonataAdminBundle

+ 1 - 0
app/config/sonata/sonata_page.yml

@@ -41,6 +41,7 @@ sonata_page:
         - ^/userportal/(.*)
         - ^/js/(.*)
         - ^/faq/(.*)
+        - ^/faq
         - ^/courses/(.*)
         - ^/front/editor
 

+ 3 - 8
app/config/sonata/sonata_translation.yml

@@ -5,17 +5,12 @@ lunetics_locale:
         - session
         #- browser
 
-    allowed_locales:
-      - en
-      - fr
-      - de
-      - it
-      - nl
+    allowed_locales: '%locales%'
 
 a2lix_translation_form:
     locale_provider: default       # [1]
-    locales: [en, fr, es, de, nl]          # [1-a]
-    default_locale: en             # [1-b]
+    locales: '%locales%'          # [1-a]
+    default_locale: '%locale%'             # [1-b]
     required_locales: [en]         # [1-c]
     manager_registry: doctrine      # [2]
     templating: "A2lixTranslationFormBundle::default.html.twig"      # [3]

+ 1 - 1
composer.json

@@ -139,7 +139,7 @@
         "imagine/imagine": "0.6.2",
         "essence/essence": "^2.5",
         "jeroendesloovere/vcard": "^1.2",
-        "a2lix/translation-form-bundle": "dev-master",
+        "a2lix/translation-form-bundle": "~2.0",
         "knplabs/doctrine-behaviors": "~1.1",
         "lunetics/locale-bundle": "^2.4"
     },

+ 1 - 2
src/Chamilo/FaqBundle/Admin/CategoryAdmin.php

@@ -1,4 +1,5 @@
 <?php
+/* For licensing terms, see /license.txt */
 
 namespace Chamilo\FaqBundle\Admin;
 
@@ -6,7 +7,6 @@ use Sonata\AdminBundle\Admin\Admin;
 use Sonata\AdminBundle\Datagrid\ListMapper;
 use Sonata\AdminBundle\Datagrid\DatagridMapper;
 use Sonata\AdminBundle\Form\FormMapper;
-use Sonata\AdminBundle\Route\RouteCollection;
 
 /**
  * Class QuestionAdmin
@@ -66,7 +66,6 @@ class CategoryAdmin extends Admin
             ->add('rank', null, array('required' => false))
 //            ->add('slug')
             ->add('isActive')
-
             ->end()
         ;
     }

+ 16 - 10
src/Chamilo/FaqBundle/Admin/QuestionAdmin.php

@@ -1,4 +1,5 @@
 <?php
+/* For licensing terms, see /license.txt */
 
 namespace Chamilo\FaqBundle\Admin;
 
@@ -40,14 +41,16 @@ class QuestionAdmin extends Admin
             ->add('translations', null, array('identifier' => true))
             ->add('Category')
             ->add('rank')
-            ->add('_action', 'actions',
+            ->add(
+                '_action',
+                'actions',
                 array(
                     'actions' => array(
                         //'show' => array(),
                         'preview' => array('template' => 'ChamiloFaqBundle:Faq:preview_question_partial.html.twig'),
                         'edit' => array(),
-                        'delete' => array()
-                    )
+                        'delete' => array(),
+                    ),
                 )
             );
     }
@@ -59,14 +62,17 @@ class QuestionAdmin extends Admin
     {
         $formMapper
             ->add('translations', 'a2lix_translations', array())
-            ->add('category', null, array(
-                'expanded' => true,
-                'required' => true,
-                'attr' => array('class' => 'radio-list vertical')
-            ))
+            ->add(
+                'category',
+                null,
+                array(
+                    'expanded' => true,
+                    'required' => true,
+                    'attr' => array('class' => 'radio-list vertical'),
+                )
+            )
             ->add('rank', null, array('required' => false))
             ->add('onlyAuthUsers')
-            ->end()
-        ;
+            ->end();
     }
 }

+ 3 - 2
src/Chamilo/FaqBundle/Controller/FaqController.php

@@ -1,4 +1,5 @@
 <?php
+/* For licensing terms, see /license.txt */
 
 namespace Chamilo\FaqBundle\Controller;
 
@@ -103,8 +104,8 @@ class FaqController extends Controller
         $doRedirect = false;
         //$config = $this->container->getParameter('faq');
         $config = [];
-        $config['select_first_category_by_default'] = true;
-        $config['select_first_question_by_default'] = true;
+        $config['select_first_category_by_default'] = false;
+        $config['select_first_question_by_default'] = false;
 
         if (!$categorySlug && $config['select_first_category_by_default']) {
             $firstCategory = $this->getCategoryRepository()->retrieveFirst();

+ 1 - 25
src/Chamilo/FaqBundle/Entity/Category.php

@@ -1,4 +1,5 @@
 <?php
+/* For licensing terms, see /license.txt */
 
 namespace Chamilo\FaqBundle\Entity;
 
@@ -7,7 +8,6 @@ use Doctrine\ORM\Mapping as ORM;
 use Doctrine\Common\Collections\ArrayCollection;
 use Knp\DoctrineBehaviors\Model as ORMBehaviors;
 
-
 /**
  * Class Category
  *
@@ -68,7 +68,6 @@ class Category
         return $this->proxyCurrentLocaleTranslation($method, $arguments);
     }
 
-
     /**
      * Get id
      *
@@ -79,7 +78,6 @@ class Category
         return $this->id;
     }
 
-
     /**
      * Get rank
      *
@@ -176,7 +174,6 @@ class Category
         return $this->updatedAt;
     }
 
-
     /**
      * Add question
      *
@@ -242,25 +239,4 @@ class Category
             'categorySlug' => $this->getSlug()
         );
     }
-
-    /**
-     * @return ArrayCollection
-     */
-    public function getTranslations()
-    {
-        return $this->translations;
-    }
-
-    /**
-     * @param ArrayCollection $translations
-     * @return Category
-     */
-    public function setTranslations($translations)
-    {
-        $this->translations = $translations;
-
-        return $this;
-    }
-
-
 }

+ 2 - 1
src/Chamilo/FaqBundle/Entity/CategoryRepository.php

@@ -1,4 +1,5 @@
 <?php
+/* For licensing terms, see /license.txt */
 
 namespace Chamilo\FaqBundle\Entity;
 
@@ -61,7 +62,7 @@ class CategoryRepository extends EntityRepository
         $query->setParameter('isActive', true);
         $query->setParameter('slug', $slug);
 
-        return $query->getSingleResult();
+        return $query->getOneOrNullResult();
     }
 
 

+ 1 - 0
src/Chamilo/FaqBundle/Entity/CategoryTranslation.php

@@ -1,4 +1,5 @@
 <?php
+/* For licensing terms, see /license.txt */
 
 namespace Chamilo\FaqBundle\Entity;
 

+ 2 - 1
src/Chamilo/FaqBundle/Entity/Question.php

@@ -1,10 +1,10 @@
 <?php
+/* For licensing terms, see /license.txt */
 
 namespace Chamilo\FaqBundle\Entity;
 
 use Gedmo\Mapping\Annotation as Gedmo;
 use Doctrine\ORM\Mapping as ORM;
-use Doctrine\Common\Collections\ArrayCollection;
 use Knp\DoctrineBehaviors\Model as ORMBehaviors;
 
 /**
@@ -18,6 +18,7 @@ use Knp\DoctrineBehaviors\Model as ORMBehaviors;
 class Question
 {
     use ORMBehaviors\Translatable\Translatable;
+    
     /**
      * @ORM\Column(type="integer")
      * @ORM\Id

+ 1 - 0
src/Chamilo/FaqBundle/Entity/QuestionRepository.php

@@ -1,4 +1,5 @@
 <?php
+/* For licensing terms, see /license.txt */
 
 namespace Chamilo\FaqBundle\Entity;
 

+ 10 - 10
src/Chamilo/FaqBundle/Entity/QuestionTranslation.php

@@ -1,4 +1,5 @@
 <?php
+/* For licensing terms, see /license.txt */
 
 namespace Chamilo\FaqBundle\Entity;
 
@@ -38,6 +39,9 @@ class QuestionTranslation
      */
     protected $slug;
 
+    /**
+     * @return string
+     */
     public function __toString()
     {
         return (string) $this->headline;
@@ -45,7 +49,7 @@ class QuestionTranslation
 
 
     /**
-     * @return mixed
+     * @return string
      */
     public function getHeadline()
     {
@@ -53,7 +57,7 @@ class QuestionTranslation
     }
 
     /**
-     * @param mixed $headline
+     * @param string $headline
      * @return CategoryTranslation
      */
     public function setHeadline($headline)
@@ -64,7 +68,7 @@ class QuestionTranslation
     }
 
     /**
-     * @return mixed
+     * @return string
      */
     public function getBody()
     {
@@ -72,7 +76,7 @@ class QuestionTranslation
     }
 
     /**
-     * @param mixed $body
+     * @param string $body
      * @return CategoryTranslation
      */
     public function setBody($body)
@@ -83,7 +87,7 @@ class QuestionTranslation
     }
 
     /**
-     * @return mixed
+     * @return string
      */
     public function getSlug()
     {
@@ -91,7 +95,7 @@ class QuestionTranslation
     }
 
     /**
-     * @param mixed $slug
+     * @param string $slug
      * @return QuestionTranslation
      */
     public function setSlug($slug)
@@ -100,8 +104,4 @@ class QuestionTranslation
 
         return $this;
     }
-
-
-
-
 }

+ 2 - 2
src/Chamilo/FaqBundle/Resources/config/admin.yml

@@ -3,7 +3,7 @@ services:
     sonata.admin.faq_question:
         class: Chamilo\FaqBundle\Admin\QuestionAdmin
         tags:
-            - { name: sonata.admin, manager_type: orm, group: "Content", label: "FAQ" }
+            - { name: sonata.admin, manager_type: orm, group: "Content", label: "Question" }
         arguments:
             - ~
             - Chamilo\FaqBundle\Entity\Question
@@ -12,7 +12,7 @@ services:
     sonata.admin.faq_category:
         class: Chamilo\FaqBundle\Admin\CategoryAdmin
         tags:
-            - { name: sonata.admin, manager_type: orm, group: "Content", label: "FAQ category" }
+            - { name: sonata.admin, manager_type: orm, group: "Content", label: "Category" }
         arguments:
             - ~
             - Chamilo\FaqBundle\Entity\Category

+ 10 - 8
src/Chamilo/FaqBundle/Resources/views/Faq/preview_question_partial.html.twig

@@ -1,9 +1,11 @@
-<a target = "_blank"
-   href="{{ url('faq', {'categorySlug': object.category.getSlug, 'questionSlug' : object.getSlug }) }}"
-   class="btn btn-sm btn-default"
-   title="{{ 'Preview'|trans({}, 'SonataAdminBundle') }}"
->
-    <i class="fa fa-external-link"></i>
-    {{ 'Preview'|trans({}, 'SonataAdminBundle') }}
-</a>
+{% if object.category %}
+    <a target = "_blank"
+       href="{{ url('faq', {'categorySlug': object.category.getSlug, 'questionSlug' : object.getSlug }) }}"
+       class="btn btn-sm btn-default"
+       title="{{ 'Preview'|trans({}, 'SonataAdminBundle') }}"
+    >
+        <i class="fa fa-external-link"></i>
+        {{ 'Preview'|trans({}, 'SonataAdminBundle') }}
+    </a>
+{% endif %}