Using URL generator to create the logout button.

skala
Julio Montoya 13 years ago
parent 6ab475844d
commit 7307fb92c5
  1. 2
      main/inc/global.inc.php
  2. 9
      main/inc/services.php
  3. 18
      main/install/1.10.0/db_main.sql
  4. 6
      main/template/default/admin/administrator/question_score/add.tpl
  5. 6
      main/template/default/admin/administrator/question_score/edit.tpl
  6. 10
      main/template/default/admin/administrator/question_score/list.tpl
  7. 9
      main/template/default/admin/administrator/role/add.tpl
  8. 6
      main/template/default/admin/administrator/role/settings.tpl
  9. 7
      main/template/default/default_actions/add.tpl
  10. 6
      main/template/default/default_actions/edit.tpl
  11. 10
      main/template/default/default_actions/list.tpl
  12. 6
      main/template/default/default_actions/settings.tpl
  13. 133
      src/ChamiloLMS/Controller/Admin/Administrator/QuestionScore.php
  14. 6
      temp/index.html
  15. 0
      temp/twig/PLACEHOLDER
  16. 2
      vendor/autoload.php
  17. 4
      vendor/composer/ClassLoader.php
  18. 5
      vendor/composer/autoload_classmap.php
  19. 4
      vendor/composer/autoload_namespaces.php
  20. 6
      vendor/composer/autoload_real.php
  21. 221
      vendor/composer/installed.json

@ -542,6 +542,7 @@ $app->before(
// Loop in the folder array and create temp folders.
/** @var ChamiloLMS\Component\DataFilesystem\DataFilesystem $filesystem */
$filesystem = $app['chamilo.filesystem'];
// @todo improvement create temp folders during installation not everytime
$filesystem->createFolders($app['temp.paths']->folders);
@ -679,6 +680,7 @@ require_once 'routes.php';
// Setting doctrine2 extensions
if (isset($app['configuration']['main_database']) && isset($app['db.event_manager'])) {
// @todo improvement do not create every time this objects
$sortableGroup = new Gedmo\Mapping\Annotation\SortableGroup(array());
$sortablePosition = new Gedmo\Mapping\Annotation\SortablePosition(array());

@ -20,7 +20,7 @@ if (is_writable($app['sys_temp_path'])) {
* $app['monolog']->addInfo('Testing the Monolog logging.');
* $app['monolog']->addError('Testing the Monolog logging.');
*/
//if ($app['debug']) {
if ($app['debug']) {
$app->register(
new Silex\Provider\MonologServiceProvider(),
array(
@ -28,7 +28,7 @@ if (is_writable($app['sys_temp_path'])) {
'monolog.name' => 'chamilo',
)
);
//}
}
}
//Setting HttpCacheService provider in order to use do: $app['http_cache']->run();
@ -176,8 +176,8 @@ $app['security.role_hierarchy'] = array(
// Role rules
$app['security.access_rules'] = array(
array('^/admin/administrator', 'ROLE_ADMIN'),
array('^/admin/questionmanager', 'ROLE_QUESTION_MANAGER'),
array('^/main/admin/.*', 'ROLE_ADMIN'),
array('^/admin/questionmanager', 'ROLE_QUESTION_MANAGER'),
array('^/main/.*', array('ROLE_STUDENT'))
//array('^.*$', 'ROLE_USER'),
);
@ -405,7 +405,7 @@ $app['twig'] = $app->share(
// Developer tools
if (is_writable($app['sys_temp_path'])) {
if ($app['debug'] && $app['show_profiler']) {
if ($app['show_profiler']) {
// Adding Symfony2 web profiler (memory, time, logs, etc)
$app->register(
$p = new Silex\Provider\WebProfilerServiceProvider(),
@ -414,6 +414,7 @@ if (is_writable($app['sys_temp_path'])) {
)
);
$app->mount('/_profiler', $p);
// PHP errors for cool kids
$app->register(new Whoops\Provider\Silex\WhoopsServiceProvider);
}

@ -3531,5 +3531,23 @@ CREATE TABLE ext_log_entries (
PRIMARY KEY (id)
) DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS question_score_names;
CREATE TABLE question_score_names (
id int NOT NULL AUTO_INCREMENT,
score varchar(255) DEFAULT NULL,
name varchar(255) DEFAULT NULL,
description TEXT DEFAULT NULL
question_score_id INT NOT NULL,
PRIMARY KEY (id)
) DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS question_score;
CREATE TABLE question_score (
id int NOT NULL AUTO_INCREMENT,
name varchar(255) DEFAULT NULL,
PRIMARY KEY (id)
) DEFAULT CHARSET=utf8;
-- Do not move this
UPDATE settings_current SET selected_value = '1.10.0.025' WHERE variable = 'chamilo_database_version';

@ -0,0 +1,6 @@
{% extends app.template_style ~ "/layout/layout_1_col.tpl" %}
{% block content %}
<form action="{{ path('admin_administrator_roles_add')}}" method="post" {{ form_enctype(form) }}>
{{ form_widget(form) }}
</form>
{% endblock %}

@ -0,0 +1,6 @@
{% extends app.template_style ~ "/layout/layout_1_col.tpl" %}
{% block content %}
<form action="{{ url('admin_administrator_roles_edit', {id : role.id}) }}" method = "post" {{ form_enctype(form) }}>
{{ form_widget(form) }}
</form>
{% endblock %}

@ -0,0 +1,10 @@
{% extends app.template_style ~ "/layout/layout_1_col.tpl" %}
{% block content %}
{% for item in items %}
{{ item.name }} - {{ item.role}}
<a class="btn" href="{{ url('admin_administrator_roles_edit', { id: item.id }) }}"> Edit</a>
<a class="btn" href="{{ url('admin_administrator_roles_delete', { id: item.id }) }}"> Delete</a>
<br />
{% endfor %}
{% endblock %}

@ -1,6 +1,3 @@
{% extends app.template_style ~ "/layout/layout_1_col.tpl" %}
{% block content %}
<form action="{{ path('admin_administrator_roles_add')}}" method="post" {{ form_enctype(form) }}>
{{ form_widget(form) }}
</form>
{% endblock %}
{% include app.template_style ~ "/admin/administrator/role/settings.tpl" %}
{{ links | var_dump }}
{% include app.template_style ~ "/default_actions/add.tpl" %}

@ -0,0 +1,6 @@
{% set links = {
'add_link' : path('admin_administrator_roles_add'),
'edit_link' : path('admin_administrator_roles_add'),
'list_link' : path('admin_administrator_roles_add')
}
%}

@ -0,0 +1,7 @@
{% extends app.template_style ~ "/layout/layout_1_col.tpl" %}
{% block content %}
{{ links | var_dump }}
<form action="{{ links.add_link }}" method="post" {{ form_enctype(form) }}>
{{ form_widget(form) }}
</form>
{% endblock %}

@ -0,0 +1,6 @@
{% extends app.template_style ~ "/layout/layout_1_col.tpl" %}
{% block content %}
<form action="{{ url('admin_administrator_roles_edit', {id : role.id}) }}" method = "post" {{ form_enctype(form) }}>
{{ form_widget(form) }}
</form>
{% endblock %}

@ -0,0 +1,10 @@
{% extends app.template_style ~ "/layout/layout_1_col.tpl" %}
{% block content %}
{% for item in items %}
{{ item.name }} - {{ item.role}}
<a class="btn" href="{{ url('admin_administrator_roles_edit', { id: item.id }) }}"> Edit</a>
<a class="btn" href="{{ url('admin_administrator_roles_delete', { id: item.id }) }}"> Delete</a>
<br />
{% endfor %}
{% endblock %}

@ -0,0 +1,6 @@
{% set links = {
'add_link' : path('add_link'),
'edit_link' : path('edit_link'),
'list_link' : path('list_link')
%}

@ -0,0 +1,133 @@
<?php
/* For licensing terms, see /license.txt */
namespace ChamiloLMS\Controller\Admin\Administrator;
use ChamiloLMS\Controller\BaseController;
use Silex\Application;
use Symfony\Component\Form\Extension\Validator\Constraints\FormValidator;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Entity;
use ChamiloLMS\Form\RoleType;
/**
* Class RoleController
* @todo @route and @method function don't work yet
* @package ChamiloLMS\Controller
* @author Julio Montoya <gugli100@gmail.com>
*/
class QuestionScore extends BaseController
{
/**
*
* @param Application $app
* @Route("/")
* @Method({"GET"})
*/
public function indexAction()
{
$items = parent::listAction('array');
$template = $this->get('template');
$template->assign('items', $items);
$response = $template->render_template('admin/administrator/role/list.tpl');
return new Response($response, 200, array());
}
/**
*
* @Route("/{id}", requirements={"id" = "\d+"}, defaults={"foo" = "bar"})
* @Method({"GET"})
*/
public function readAction($id)
{
return parent::readAction($id);
}
public function editAction($id)
{
$roleRepo = $this->getRepository();
$request = $this->getRequest();
$role = $roleRepo->findOneById($id);
if ($role) {
$form = $this->get('form.factory')->create(new RoleType(), $role);
if ($request->getMethod() == 'POST') {
$form->bind($this->getRequest());
if ($form->isValid()) {
$role = $form->getData();
parent::updateAction($role);
$this->get('session')->getFlashBag()->add('success', "Updated");
$url = $this->get('url_generator')->generate('admin_administrator_roles');
return $this->redirect($url);
}
}
$template = $this->get('template');
$template->assign('role', $role);
$template->assign('form', $form->createView());
$response = $template->render_template('admin/administrator/role/edit.tpl');
return new Response($response, 200, array());
} else {
return $this->createNotFoundException();
}
}
public function addAction()
{
$request = $this->getRequest();
$form = $this->get('form.factory')->create(new RoleType());
if ($request->getMethod() == 'POST') {
$form->bind($request);
if ($form->isValid()) {
$role = $form->getData();
parent::createAction($role);
$this->get('session')->getFlashBag()->add('success', "Added");
// $params = array('id' => $role->getId());
// $url = $this->get('url_generator')->generate('admin_administrator_roles_read', $params);
$url = $this->get('url_generator')->generate('admin_administrator_roles');
return $this->redirect($url);
}
}
$template = $this->get('template');
$template->assign('form', $form->createView());
$response = $template->render_template('admin/administrator/role/add.tpl');
return new Response($response, 200, array());
}
public function deleteAction($id)
{
$result = parent::deleteAction($id);
if ($result) {
$url = $this->get('url_generator')->generate('admin_administrator_roles');
$this->get('session')->getFlashBag()->add('success', "Deleted");
return $this->redirect($url);
}
}
/**
* @see BaseController::getRepository()
* @return EntityRepository
*/
protected function getRepository()
{
return $this->get('orm.em')->getRepository('Entity\Role');
}
/**
* @see BaseController::getNewEntity()
* @return Object
*/
protected function getNewEntity()
{
return new Entity\Role();
}
}

@ -1,6 +0,0 @@
<html>
<head>
</head>
<body>
</body>
</html>

@ -4,4 +4,4 @@
require_once __DIR__ . '/composer' . '/autoload_real.php';
return ComposerAutoloaderInit6d8cfb51f68fe5f00cff93e0da1ac4a3::getLoader();
return ComposerAutoloaderInit8811d572e3015a10a8864726603bac3a::getLoader();

@ -121,8 +121,8 @@ class ClassLoader
/**
* Registers a set of classes, replacing any others previously set.
*
* @param string $prefix The classes prefix
* @param array|string $paths The location(s) of the classes
* @param string $prefix The classes prefix
* @param array|string $paths The location(s) of the classes
*/
public function set($prefix, $paths)
{

@ -503,7 +503,7 @@ return array(
'RSSCache' => $baseDir . '/main/inc/lib/magpierss/rss_cache.inc',
'Redirect' => $baseDir . '/main/inc/lib/redirect.class.php',
'Renderer' => $baseDir . '/main/inc/lib/phpdocx/pdf/include/renderer.cls.php',
'Request' => $baseDir . '/main/inc/lib/system/web/request.class.php',
'Request2' => $baseDir . '/main/inc/lib/system/web/request.class.php',
'RequestServer' => $baseDir . '/main/inc/lib/system/web/request_server.class.php',
'Resource' => $baseDir . '/main/coursecopy/classes/Resource.class.php',
'Response' => $baseDir . '/main/inc/lib/response.class.php',
@ -593,7 +593,6 @@ return array(
'SurveyUtil' => $baseDir . '/main/survey/survey.lib.php',
'SystemAnnouncementManager' => $baseDir . '/main/inc/lib/system_announcements.lib.php',
'SystemManagementPage' => $baseDir . '/main/admin/system_management.php',
'System\\Session' => $baseDir . '/main/inc/lib/system/session.class.php',
'TCPDF_Adapter' => $baseDir . '/main/inc/lib/phpdocx/pdf/include/tcpdf_adapter.cls.php',
'TTFontFile' => $vendorDir . '/mpdf/mpdf/classes/ttfontsuni.php',
'TTFontFile_Analysis' => $vendorDir . '/mpdf/mpdf/classes/ttfontsuni_analysis.php',
@ -682,7 +681,7 @@ return array(
'aiccItem' => $baseDir . '/main/newscorm/aiccItem.class.php',
'aiccObjective' => $baseDir . '/main/newscorm/aiccObjective.class.php',
'aiccResource' => $baseDir . '/main/newscorm/aiccResource.class.php',
'api_failure' => $baseDir . '/main/inc/lib/main_api.lib.php',
'api_failure' => $baseDir . '/main/inc/lib/api.lib.php',
'bmp' => $vendorDir . '/mpdf/mpdf/classes/bmp.php',
'calendarComponent' => $baseDir . '/main/inc/lib/icalcreator/iCalcreator.class.php',
'ch_comment' => $baseDir . '/main/survey/survey.lib.php',

@ -12,6 +12,7 @@ return array(
'Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'),
'Symfony\\Component\\Validator\\' => array($vendorDir . '/symfony/validator'),
'Symfony\\Component\\Translation\\' => array($vendorDir . '/symfony/translation'),
'Symfony\\Component\\Templating\\' => array($vendorDir . '/symfony/templating'),
'Symfony\\Component\\Stopwatch\\' => array($vendorDir . '/symfony/stopwatch'),
'Symfony\\Component\\Security\\' => array($vendorDir . '/symfony/security'),
'Symfony\\Component\\Routing\\' => array($vendorDir . '/symfony/routing'),
@ -34,11 +35,14 @@ return array(
'Symfony\\Component\\Config\\' => array($vendorDir . '/symfony/config'),
'Symfony\\Component\\BrowserKit\\' => array($vendorDir . '/symfony/browser-kit'),
'Symfony\\Bundle\\WebProfilerBundle\\' => array($vendorDir . '/symfony/web-profiler-bundle'),
'Symfony\\Bundle\\FrameworkBundle\\' => array($vendorDir . '/symfony/framework-bundle'),
'Symfony\\Bridge\\Twig\\' => array($vendorDir . '/symfony/twig-bridge'),
'Symfony\\Bridge\\Monolog\\' => array($vendorDir . '/symfony/monolog-bridge'),
'Symfony\\Bridge\\Doctrine\\' => array($vendorDir . '/symfony/doctrine-bridge'),
'Silex\\Provider\\' => array($vendorDir . '/silex/web-profiler'),
'SilexAssetic' => array($vendorDir . '/mheap/silex-assetic/src'),
'Silex' => array($vendorDir . '/silex/silex/src'),
'Sensio\\Bundle\\FrameworkExtraBundle' => array($vendorDir . '/sensio/framework-extra-bundle'),
'Psr\\Log\\' => array($vendorDir . '/psr/log'),
'Pimple' => array($vendorDir . '/pimple/pimple/lib'),
'Pagerfanta\\' => array($vendorDir . '/pagerfanta/pagerfanta/src'),

@ -2,7 +2,7 @@
// autoload_real.php generated by Composer
class ComposerAutoloaderInit6d8cfb51f68fe5f00cff93e0da1ac4a3
class ComposerAutoloaderInit8811d572e3015a10a8864726603bac3a
{
private static $loader;
@ -19,9 +19,9 @@ class ComposerAutoloaderInit6d8cfb51f68fe5f00cff93e0da1ac4a3
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInit6d8cfb51f68fe5f00cff93e0da1ac4a3', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInit8811d572e3015a10a8864726603bac3a', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
spl_autoload_unregister(array('ComposerAutoloaderInit6d8cfb51f68fe5f00cff93e0da1ac4a3', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInit8811d572e3015a10a8864726603bac3a', 'loadClassLoader'));
$vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir);

@ -3499,5 +3499,226 @@
],
"description": "Symfony Locale Component",
"homepage": "http://symfony.com"
},
{
"name": "symfony/templating",
"version": "v2.3.1",
"version_normalized": "2.3.1.0",
"target-dir": "Symfony/Component/Templating",
"source": {
"type": "git",
"url": "https://github.com/symfony/Templating.git",
"reference": "v2.3.1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Templating/zipball/v2.3.1",
"reference": "v2.3.1",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"time": "2013-04-17 05:31:37",
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.3-dev"
}
},
"installation-source": "dist",
"autoload": {
"psr-0": {
"Symfony\\Component\\Templating\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"description": "Symfony Templating Component",
"homepage": "http://symfony.com"
},
{
"name": "symfony/framework-bundle",
"version": "v2.3.1",
"version_normalized": "2.3.1.0",
"target-dir": "Symfony/Bundle/FrameworkBundle",
"source": {
"type": "git",
"url": "https://github.com/symfony/FrameworkBundle.git",
"reference": "v2.3.1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/FrameworkBundle/zipball/v2.3.1",
"reference": "v2.3.1",
"shasum": ""
},
"require": {
"doctrine/common": ">=2.2,<3.0",
"php": ">=5.3.3",
"symfony/config": ">=2.2,<3.0",
"symfony/dependency-injection": ">=2.2,<3.0",
"symfony/event-dispatcher": ">=2.1,<3.0",
"symfony/filesystem": ">=2.3,<3.0",
"symfony/http-kernel": ">=2.3,<3.0",
"symfony/routing": ">=2.2,<3.0",
"symfony/stopwatch": ">=2.3,<3.0",
"symfony/templating": ">=2.1,<3.0",
"symfony/translation": ">=2.3,<3.0"
},
"require-dev": {
"symfony/class-loader": ">=2.1,<3.0",
"symfony/finder": ">=2.0,<3.0",
"symfony/form": ">=2.3,<3.0",
"symfony/security": ">=2.3,<3.0",
"symfony/validator": ">=2.1,<3.0"
},
"suggest": {
"symfony/console": "",
"symfony/finder": "",
"symfony/form": "",
"symfony/validator": ""
},
"time": "2013-06-07 22:05:01",
"type": "symfony-bundle",
"extra": {
"branch-alias": {
"dev-master": "2.3-dev"
}
},
"installation-source": "dist",
"autoload": {
"psr-0": {
"Symfony\\Bundle\\FrameworkBundle\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"description": "Symfony FrameworkBundle",
"homepage": "http://symfony.com"
},
{
"name": "sensio/framework-extra-bundle",
"version": "dev-master",
"version_normalized": "9999999-dev",
"target-dir": "Sensio/Bundle/FrameworkExtraBundle",
"source": {
"type": "git",
"url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git",
"reference": "v2.3.1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/v2.3.1",
"reference": "v2.3.1",
"shasum": ""
},
"require": {
"doctrine/common": ">=2.2,<3.0",
"symfony/framework-bundle": ">=2.2,<3.0"
},
"time": "2013-06-02 16:13:20",
"type": "symfony-bundle",
"extra": {
"branch-alias": {
"dev-master": "2.3.x-dev"
}
},
"installation-source": "source",
"autoload": {
"psr-0": {
"Sensio\\Bundle\\FrameworkExtraBundle": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "This bundle provides a way to configure your controllers with annotations",
"keywords": [
"annotations",
"controllers"
]
},
{
"name": "symfony/monolog-bridge",
"version": "v2.3.1",
"version_normalized": "2.3.1.0",
"target-dir": "Symfony/Bridge/Monolog",
"source": {
"type": "git",
"url": "https://github.com/symfony/MonologBridge.git",
"reference": "v2.3.1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/MonologBridge/zipball/v2.3.1",
"reference": "v2.3.1",
"shasum": ""
},
"require": {
"monolog/monolog": ">=1.3,<2.0",
"php": ">=5.3.3",
"symfony/http-kernel": ">=2.2,<3.0"
},
"time": "2013-05-24 13:05:33",
"type": "symfony-bridge",
"extra": {
"branch-alias": {
"dev-master": "2.3-dev"
}
},
"installation-source": "dist",
"autoload": {
"psr-0": {
"Symfony\\Bridge\\Monolog\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"description": "Symfony Monolog Bridge",
"homepage": "http://symfony.com"
}
]

Loading…
Cancel
Save