Browse Source

Fixing curriculum tool now redirecting from courses/ABC/curriculum/ to courses/ABC/curriculum/user

Julio Montoya 11 years ago
parent
commit
6d4c93bf23

+ 1 - 1
main/inc/Entity/CurriculumItem.php

@@ -78,7 +78,7 @@ class CurriculumItem
 
     /**
      *
-     * @return CurriculumCategory
+     * @return ArrayCollection
      */
     public function getUserItems()
     {

+ 1 - 0
main/inc/routes.php

@@ -669,6 +669,7 @@ if ($alreadyInstalled) {
     $app->mount('/courses/{courseCode}/curriculum/category', new ChamiloLMS\Provider\ReflectionControllerProvider('curriculum_category.controller'));
     $app->mount('/courses/{courseCode}/curriculum/item', new ChamiloLMS\Provider\ReflectionControllerProvider('curriculum_item.controller'));
     $app->mount('/courses/{courseCode}/curriculum/user', new ChamiloLMS\Provider\ReflectionControllerProvider('curriculum_user.controller'));
+    $app->mount('/courses/{courseCode}/curriculum', new ChamiloLMS\Provider\ReflectionControllerProvider('curriculum.controller'));
 
 }
 

+ 11 - 2
main/inc/services.php

@@ -152,8 +152,10 @@ $app['security.access_rules'] = array(
     // Ministerio routes
 
     array('^/admin/director', 'ROLE_DIRECTOR'),
-    array('^/tool/curriculum/category', 'ROLE_ADMIN'),
-    array('^/tool/curriculum/item', 'ROLE_ADMIN'),
+    array('^/courses/.*/curriculum/category', 'ROLE_TEACHER'),
+    array('^/courses/.*/curriculum/item', 'ROLE_TEACHER'),
+    array('^/courses/.*/curriculum/user', 'ROLE_STUDENT'),
+    array('^/courses/.*/curriculum', 'ROLE_STUDENT'),
     array('^/tool/.*', array('ROLE_ADMIN','ROLE_TEACHER')),
     array('^/admin/jury_president', 'ROLE_JURY_PRESIDENT'),
     array('^/admin/jury_member', 'ROLE_JURY_MEMBER'), //? jury subsitute??
@@ -708,3 +710,10 @@ $app['curriculum_user.controller'] = $app->share(
         return new ChamiloLMS\Controller\Tool\Curriculum\CurriculumUserController($app);
     }
 );
+
+$app['curriculum.controller'] = $app->share(
+    function () use ($app) {
+        return new ChamiloLMS\Controller\Tool\Curriculum\CurriculumController($app);
+    }
+);
+

+ 2 - 0
main/template/default/tool/curriculum/index.tpl

@@ -0,0 +1,2 @@
+{% extends app.template_style ~ "/layout/layout_1_col.tpl" %}
+

+ 1 - 0
src/ChamiloLMS/Controller/CommonController.php

@@ -54,6 +54,7 @@ class CommonController extends BaseController
      */
     protected function getTemplatePath()
     {
+
     }
 
     protected function generateDefaultCrudRoutes()

+ 43 - 0
src/ChamiloLMS/Controller/Tool/Curriculum/CurriculumController.php

@@ -0,0 +1,43 @@
+<?php
+/* For licensing terms, see /license.txt */
+
+namespace ChamiloLMS\Controller\Tool\Curriculum;
+
+use ChamiloLMS\Controller\CommonController;
+use Silex\Application;
+use Symfony\Component\Form\Extension\Validator\Constraints\FormValidator;
+use Symfony\Component\HttpFoundation\Response;
+use Entity;
+use ChamiloLMS\Form\CurriculumItemType;
+use Symfony\Component\Routing\Annotation\Route;
+use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
+
+/**
+ * Class CurriculumController
+ * @package ChamiloLMS\Controller
+ * @author Julio Montoya <gugli100@gmail.com>
+ */
+class CurriculumController extends CommonController
+{
+    /**
+     *
+     * @Route("/")
+     * @Method({"GET"})
+     */
+    public function indexAction($courseCode)
+    {
+        // Redirecting to curriculum user
+        return $this->redirect($this->generateUrl('curriculum_user.controller:indexAction', array('courseCode' => $courseCode)));
+
+        /*
+        $template = $this->get('template');
+        $response = $template->render_template($this->getTemplatePath().'index.tpl');
+        return new Response($response, 200, array());
+        */
+    }
+
+    protected function getTemplatePath()
+    {
+        return 'tool/curriculum/';
+    }
+}

+ 12 - 2
src/ChamiloLMS/Controller/Tool/Curriculum/CurriculumUserController.php

@@ -26,9 +26,15 @@ class CurriculumUserController extends CommonController
      * @Route("/")
      * @Method({"GET"})
      */
-    public function indexAction()
+    public function indexAction(Application $app)
     {
-        // $repo = $this->getCurriculumCategoryRepository();
+        // @todo Use filters like "after/before|finish" to manage user access
+        api_block_anonymous_users();
+
+        // Abort request because the user is not allowed here - @todo use filters
+        if ($app['allowed'] == false) {
+            return $app->abort(403, 'Not allowed');
+        }
 
         $query = $this->getManager()
             ->createQueryBuilder()
@@ -65,6 +71,10 @@ class CurriculumUserController extends CommonController
             }
         }
 
+        if (api_is_allowed_to_edit()) {
+            $this->get('template')->assign('teacher_links', $categories);
+        }
+
         $this->get('template')->assign('categories', $categories);
         $this->get('template')->assign('links', $this->generateLinks());
         $this->get('template')->assign('form_list', $formList);

+ 1 - 1
src/ChamiloLMS/Controller/UserPortalController.php

@@ -28,7 +28,7 @@ class UserPortalController extends CommonController
         // @todo Use filters like "after/before|finish" to manage user access
         api_block_anonymous_users();
 
-        //Abort request because the user is not allowed here - @todo use filters
+        // Abort request because the user is not allowed here - @todo use filters
         if ($app['allowed'] == false) {
             return $app->abort(403, 'Not allowed');
         }