From be9c9c127a8bfa498db9b509077d6d7f3e22c60c Mon Sep 17 00:00:00 2001 From: jmontoyaa Date: Tue, 12 Apr 2016 13:52:43 +0200 Subject: [PATCH] Improve FAQ UI --- app/Migrations/Schema/V111/Version111.php | 4 ++++ app/config/sonata/sonata_admin.yml | 8 +++++++- src/Chamilo/CoreBundle/Menu/NavBuilder.php | 4 ++-- src/Chamilo/FaqBundle/Admin/CategoryAdmin.php | 10 ++++++---- src/Chamilo/FaqBundle/Admin/QuestionAdmin.php | 14 ++++++++------ .../FaqBundle/Resources/views/Faq/index.html.twig | 6 +++--- .../views/Faq/preview_category_partial.html.twig | 5 +++++ .../views/Faq/preview_question_partial.html.twig | 5 +++++ 8 files changed, 40 insertions(+), 16 deletions(-) create mode 100644 src/Chamilo/FaqBundle/Resources/views/Faq/preview_category_partial.html.twig create mode 100644 src/Chamilo/FaqBundle/Resources/views/Faq/preview_question_partial.html.twig diff --git a/app/Migrations/Schema/V111/Version111.php b/app/Migrations/Schema/V111/Version111.php index 93ed5d91d5..0590c12b47 100644 --- a/app/Migrations/Schema/V111/Version111.php +++ b/app/Migrations/Schema/V111/Version111.php @@ -48,6 +48,10 @@ class Version111 extends AbstractMigrationChamilo $this->addSql("CREATE TABLE c_quiz_rel_category (iid BIGINT AUTO_INCREMENT NOT NULL, c_id INT NOT NULL, category_id INT NOT NULL, exercise_id INT NOT NULL, count_questions INT NOT NULL, PRIMARY KEY(iid))"); $this->addSql("ALTER TABLE c_quiz ADD COLUMN question_selection_type INT"); + $this->addSql("CREATE TABLE genj_faq_category (id INT AUTO_INCREMENT NOT NULL, headline VARCHAR(255) NOT NULL, body LONGTEXT DEFAULT NULL, rank INT NOT NULL, is_active TINYINT(1) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, slug VARCHAR(50) NOT NULL, INDEX is_active_idx (is_active), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;"); + $this->addSql("CREATE TABLE genj_faq_question (id INT AUTO_INCREMENT NOT NULL, category_id INT DEFAULT NULL, headline VARCHAR(255) NOT NULL, body LONGTEXT DEFAULT NULL, rank INT NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, slug VARCHAR(50) NOT NULL, INDEX IDX_375D163F12469DE2 (category_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;"); + $this->addSql("ALTER TABLE genj_faq_question ADD CONSTRAINT FK_375D163F12469DE2 FOREIGN KEY (category_id) REFERENCES genj_faq_category (id);"); + $table = $schema->getTable('session_rel_user'); if (!$table->hasColumn('duration')) { $this->addSql("ALTER TABLE session_rel_user ADD duration INT DEFAULT NULL"); diff --git a/app/config/sonata/sonata_admin.yml b/app/config/sonata/sonata_admin.yml index 4b40f9705e..2ce75d505c 100644 --- a/app/config/sonata/sonata_admin.yml +++ b/app/config/sonata/sonata_admin.yml @@ -83,8 +83,14 @@ sonata_admin: items: - sonata.page.admin.page - sonata.page.admin.site - - sonata.admin.faq_question + + sonata.admin.group.faq: + label: FAQ + label_catalogue: Faq + #icon: '' + items: - sonata.admin.faq_category + - sonata.admin.faq_question sonata.admin.group.administration: label: sonata_administration diff --git a/src/Chamilo/CoreBundle/Menu/NavBuilder.php b/src/Chamilo/CoreBundle/Menu/NavBuilder.php index fc7c2d97f0..b3f3010af8 100644 --- a/src/Chamilo/CoreBundle/Menu/NavBuilder.php +++ b/src/Chamilo/CoreBundle/Menu/NavBuilder.php @@ -65,7 +65,7 @@ class NavBuilder extends ContainerAware if ($checker->isGranted('IS_AUTHENTICATED_FULLY')) { - $menu->addChild( + /*$menu->addChild( $translator->trans('MyCourses'), array('route' => 'userportal') ); @@ -117,7 +117,7 @@ class NavBuilder extends ContainerAware 'route' => 'administration', ) ); - } + }*/ } return $menu; diff --git a/src/Chamilo/FaqBundle/Admin/CategoryAdmin.php b/src/Chamilo/FaqBundle/Admin/CategoryAdmin.php index 931b6c0f75..c8ba520533 100644 --- a/src/Chamilo/FaqBundle/Admin/CategoryAdmin.php +++ b/src/Chamilo/FaqBundle/Admin/CategoryAdmin.php @@ -40,10 +40,12 @@ class CategoryAdmin extends Admin { $listMapper ->add('headline', null, array('identifier' => true)) + ->add('rank') ->add('_action', 'actions', array( 'actions' => array( - 'show' => array(), + //'show' => array(), + 'preview' => array('template' => 'ChamiloFaqBundle:Faq:preview_category_partial.html.twig'), 'edit' => array(), 'delete' => array() ) @@ -58,9 +60,9 @@ class CategoryAdmin extends Admin protected function configureFormFields(FormMapper $formMapper) { $formMapper - ->add('headline', null, array('attr' => array('class' => 'span12'))) - ->add('body', null, array('required' => false, 'attr' => array('class' => 'span12'))) - ->add('rank', null, array('required' => false, 'attr' => array('class' => 'span12'))) + ->add('headline') + ->add('body', null, array('required' => false)) + ->add('rank', null, array('required' => false)) ->add('slug') ->add('isActive') ->end(); diff --git a/src/Chamilo/FaqBundle/Admin/QuestionAdmin.php b/src/Chamilo/FaqBundle/Admin/QuestionAdmin.php index 80a7e41e57..09b4369527 100644 --- a/src/Chamilo/FaqBundle/Admin/QuestionAdmin.php +++ b/src/Chamilo/FaqBundle/Admin/QuestionAdmin.php @@ -45,7 +45,8 @@ class QuestionAdmin extends Admin ->add('_action', 'actions', array( 'actions' => array( - 'show' => array(), + //'show' => array(), + 'preview' => array('template' => 'ChamiloFaqBundle:Faq:preview_question_partial.html.twig'), 'edit' => array(), 'delete' => array() ) @@ -59,16 +60,17 @@ class QuestionAdmin extends Admin protected function configureFormFields(FormMapper $formMapper) { $formMapper - ->add('headline', null, array('attr' => array('class' => 'span12'))) - ->add('body', null, array('required' => false, 'attr' => array('class' => 'span12'))) + ->add('headline') + ->add('body', null, array('required' => true)) ->add('category', null, array( 'expanded' => true, 'required' => true, 'attr' => array('class' => 'radio-list vertical') )) - ->add('rank', null, array('required' => false, 'attr' => array('class' => 'span12'))) - ->add('slug', null, array('required' => false, 'attr' => array('class' => 'span12'))) + ->add('rank', null, array('required' => false)) + ->add('slug', null, array('required' => false)) ->add('onlyAuthUsers') - ->end(); + ->end() + ; } } diff --git a/src/Chamilo/FaqBundle/Resources/views/Faq/index.html.twig b/src/Chamilo/FaqBundle/Resources/views/Faq/index.html.twig index 1c84208d88..baa06fd7c5 100644 --- a/src/Chamilo/FaqBundle/Resources/views/Faq/index.html.twig +++ b/src/Chamilo/FaqBundle/Resources/views/Faq/index.html.twig @@ -1,13 +1,13 @@ -{% extends 'SonataPageBundle::layout.html.twig' %} +{% extends '@ChamiloCore/layout_cms.html.twig' %} -{% block page_content %} +{% block sonata_page_container %}

FAQ

Categories