diff --git a/public/main/template/default/user_portal/classic_session.html.twig b/public/main/template/default/user_portal/classic_session.html.twig
index 4c79c8ee47..cca0e5acd0 100644
--- a/public/main/template/default/user_portal/classic_session.html.twig
+++ b/public/main/template/default/user_portal/classic_session.html.twig
@@ -1,4 +1,4 @@
-{% set session_image = 'window_list.png'|img(32, row.title) %}
+{% set session_image = 'window_list.png'|img(32, '') %}
{% autoescape false %}
{% for row in session %}
diff --git a/public/main/webservices/cm_webservice.php b/public/main/webservices/cm_webservice.php
index e5a212014d..92facbbd71 100644
--- a/public/main/webservices/cm_webservice.php
+++ b/public/main/webservices/cm_webservice.php
@@ -1,7 +1,7 @@
0) {
// Check if user is not active.
- $sql = "SELECT user_id FROM $table_user
+ $sql = "SELECT user_id FROM $table_user
WHERE user_id ='".$row[1]."' AND active= '0'";
$resu = Database::query($sql);
$r_check_user = Database::fetch_row($resu);
@@ -1389,7 +1389,7 @@ function WSCreateUserPasswordCrypted($params)
phone='".Database::escape_string($phone)."',
expiration_date='".Database::escape_string($expiration_date)."',
active='1',
- hr_dept_id=".intval($hr_dept_id)."
+ hr_dept_id=".intval($hr_dept_id)."
WHERE user_id='".$r_check_user[0]."'";
Database::query($sql);
@@ -1459,7 +1459,7 @@ function WSCreateUserPasswordCrypted($params)
phone = '".Database::escape_string($phone)."',
language = '".Database::escape_string($language)."',
registration_date = '".api_get_utc_datetime()."',
- roles = 'a:0:{}',
+ roles = 'a:0:{}',
".$queryExpirationDate."
hr_dept_id = '".Database::escape_string($hr_dept_id)."',
active = '".Database::escape_string($active)."'";
@@ -2139,7 +2139,7 @@ function WSEditUserWithPicture($params)
}
// Check whether username already exits.
- $sql = "SELECT username FROM $table_user
+ $sql = "SELECT username FROM $table_user
WHERE username = '$username' AND id <> $user_id";
$res_un = Database::query($sql);
$r_username = Database::fetch_row($res_un);
@@ -4768,7 +4768,7 @@ function WSSubscribeUserToCourseSimple($params)
error_log('Try to register: user_id= '.$user_id.' to course: '.$course_data['code']);
}
if (!CourseManager::subscribeUser($user_id, $course_data['code'], $status, 0, false, false)) {
- $result = 'User was not registered possible reasons: User already registered to the course,
+ $result = 'User was not registered possible reasons: User already registered to the course,
Course visibility doesnt allow user subscriptions ';
if ($debug) {
error_log($result);
diff --git a/public/plugin/bbb/admin.php b/public/plugin/bbb/admin.php
index 2835943790..a70d42eb39 100644
--- a/public/plugin/bbb/admin.php
+++ b/public/plugin/bbb/admin.php
@@ -2,7 +2,7 @@
/* For license terms, see /license.txt */
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
/**
* This script initiates a video conference session, calling the BigBlueButton API.
diff --git a/public/plugin/buycourses/src/buycourses.ajax.php b/public/plugin/buycourses/src/buycourses.ajax.php
index e538e927a8..a8d5a1adae 100644
--- a/public/plugin/buycourses/src/buycourses.ajax.php
+++ b/public/plugin/buycourses/src/buycourses.ajax.php
@@ -5,7 +5,7 @@
use Chamilo\CoreBundle\Entity\Course;
use Chamilo\CoreBundle\Entity\Session;
use Chamilo\CourseBundle\Entity\CLp;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
/**
* Responses to AJAX calls.
diff --git a/public/plugin/buycourses/src/service_process.php b/public/plugin/buycourses/src/service_process.php
index 836782d057..48eba0bf65 100644
--- a/public/plugin/buycourses/src/service_process.php
+++ b/public/plugin/buycourses/src/service_process.php
@@ -4,7 +4,7 @@
use Chamilo\CoreBundle\Entity\Session;
use Chamilo\CoreBundle\Entity\SessionRelCourseRelUser;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
/**
* Process payments for the Buy Courses plugin.
diff --git a/public/plugin/grading_electronic/generate.php b/public/plugin/grading_electronic/generate.php
index fe3a54061e..4e7c408611 100644
--- a/public/plugin/grading_electronic/generate.php
+++ b/public/plugin/grading_electronic/generate.php
@@ -6,7 +6,7 @@ use Chamilo\CoreBundle\Entity\Course;
use Chamilo\CoreBundle\Entity\CourseRelUser;
use Chamilo\CoreBundle\Entity\Session;
use Chamilo\CoreBundle\Entity\SessionRelUser;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use Doctrine\Common\Collections\Criteria;
require_once '../../main/inc/global.inc.php';
diff --git a/public/plugin/studentfollowup/Entity/CarePost.php b/public/plugin/studentfollowup/Entity/CarePost.php
index 5e06fe72e8..c4016ac3ef 100644
--- a/public/plugin/studentfollowup/Entity/CarePost.php
+++ b/public/plugin/studentfollowup/Entity/CarePost.php
@@ -85,13 +85,13 @@ class CarePost
protected $attachment;
/**
- * @ORM\ManyToOne(targetEntity="Chamilo\UserBundle\Entity\User", cascade={"persist"})
+ * @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\User", cascade={"persist"})
* @ORM\JoinColumn(name="insert_user_id", referencedColumnName="id", nullable=false)
*/
private $insertUser;
/**
- * @ORM\ManyToOne(targetEntity="Chamilo\UserBundle\Entity\User", cascade={"persist"})
+ * @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\User", cascade={"persist"})
* @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=false)
*/
private $user;
diff --git a/public/plugin/whispeakauth/WhispeakAuthPlugin.php b/public/plugin/whispeakauth/WhispeakAuthPlugin.php
index 57b6e5e9e4..abcb0362f9 100644
--- a/public/plugin/whispeakauth/WhispeakAuthPlugin.php
+++ b/public/plugin/whispeakauth/WhispeakAuthPlugin.php
@@ -4,7 +4,7 @@
use Chamilo\CoreBundle\Entity\ExtraField;
use Chamilo\CoreBundle\Entity\ExtraFieldValues;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
/**
* Class WhispeakAuthPlugin.
diff --git a/public/plugin/whispeakauth/ajax/record_audio.php b/public/plugin/whispeakauth/ajax/record_audio.php
index 226637444e..faeffce983 100644
--- a/public/plugin/whispeakauth/ajax/record_audio.php
+++ b/public/plugin/whispeakauth/ajax/record_audio.php
@@ -2,7 +2,7 @@
/* For licensing terms, see /license.txt */
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use FFMpeg\FFMpeg;
use FFMpeg\Format\Audio\Wav;
@@ -37,7 +37,7 @@ $plugin->protectTool(false);
if ($isAuthentify) {
$em = Database::getManager();
/** @var User|null $user */
- $user = $em->getRepository('ChamiloUserBundle:User')->findOneBy(['username' => $_POST['username']]);
+ $user = $em->getRepository('ChamiloCoreBundle:User')->findOneBy(['username' => $_POST['username']]);
} else {
/** @var User $user */
$user = api_get_user_entity(api_get_user_id());
diff --git a/src/CoreBundle/Component/Editor/Connector.php b/src/CoreBundle/Component/Editor/Connector.php
index b0cab14751..ae4eb37ac6 100644
--- a/src/CoreBundle/Component/Editor/Connector.php
+++ b/src/CoreBundle/Component/Editor/Connector.php
@@ -7,7 +7,7 @@ namespace Chamilo\CoreBundle\Component\Editor;
use Chamilo\CoreBundle\Component\Editor\Driver\Driver;
use Chamilo\CoreBundle\Entity\Course;
use Chamilo\CoreBundle\Entity\Session;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use Doctrine\ORM\EntityManager;
use Symfony\Component\Routing\Router;
use Symfony\Component\Routing\RouterInterface;
diff --git a/src/CoreBundle/Controller/AccountController.php b/src/CoreBundle/Controller/AccountController.php
index 6db4443bea..cb3c0a7b4d 100644
--- a/src/CoreBundle/Controller/AccountController.php
+++ b/src/CoreBundle/Controller/AccountController.php
@@ -5,13 +5,13 @@
namespace Chamilo\CoreBundle\Controller;
use Chamilo\CoreBundle\Repository\IllustrationRepository;
+use Chamilo\CoreBundle\Repository\UserRepository;
use Chamilo\CoreBundle\Traits\ControllerTrait;
-use Chamilo\ThemeBundle\Model\UserInterface;
-use Chamilo\UserBundle\Form\ProfileType;
-use FOS\UserBundle\Model\UserManagerInterface;
+use Chamilo\CoreBundle\Form\ProfileType;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
+use Symfony\Component\Security\Core\User\UserInterface;
/**
* Class UserController.
@@ -41,10 +41,11 @@ class AccountController extends BaseController
/**
* @Route("/edit", methods={"GET", "POST"}, name="chamilo_core_account_edit")
*/
- public function editAction(Request $request, UserManagerInterface $userManager, IllustrationRepository $illustrationRepository)
+ public function editAction(Request $request, UserRepository $userRepository, IllustrationRepository $illustrationRepository)
{
$user = $this->getUser();
+ //UserManagerInterface $userManager,
if (!is_object($user) || !$user instanceof UserInterface) {
throw $this->createAccessDeniedException('This user does not have access to this section');
}
@@ -63,7 +64,7 @@ class AccountController extends BaseController
$em->flush();
}
- $userManager->updateUser($user);
+ $userRepository->updateUser($user);
$this->addFlash('success', $this->trans('Updated'));
$url = $this->generateUrl('chamilo_core_account_home', ['username' => $user->getUsername()]);
diff --git a/src/CoreBundle/Controller/CourseHomeController.php b/src/CoreBundle/Controller/CourseHomeController.php
index bab68183fb..69fe2e66bd 100644
--- a/src/CoreBundle/Controller/CourseHomeController.php
+++ b/src/CoreBundle/Controller/CourseHomeController.php
@@ -192,8 +192,6 @@ class CourseHomeController extends ToolBaseController
api_remove_in_gradebook();
\Exercise::cleanSessionVariables();
- //\DocumentManager::removeGeneratedAudioTempFile();
-
$shortcutQuery = $shortcutRepository->getResources($this->getUser(), $course->getResourceNode(), $course);
$shortcuts = $shortcutQuery->getQuery()->getResult();
diff --git a/src/CoreBundle/Controller/ResourceController.php b/src/CoreBundle/Controller/ResourceController.php
index b8fcf3bb1e..3de4f83484 100644
--- a/src/CoreBundle/Controller/ResourceController.php
+++ b/src/CoreBundle/Controller/ResourceController.php
@@ -75,26 +75,19 @@ class ResourceController extends AbstractResourceController implements CourseCon
$repository = $this->getRepositoryFromRequest($request);
$settings = $repository->getResourceSettings();
- $grid = $this->getGrid(
+ /*$grid = $this->getGrid(
$request,
$repository,
$grid,
$parentResourceNode->getId(),
'chamilo_core_resource_index'
- );
-
- /*$breadcrumb = $this->getBreadCrumb();
- $breadcrumb->addChild(
- $this->trans($tool),
- [
- 'uri' => '#',
- ]
);*/
// The base resource node is the course.
$id = $parentResourceNode->getId();
- return $grid->getGridResponse(
+ //return $grid->getGridResponse(
+ return $this->render(
$repository->getTemplates()->getFromAction(__FUNCTION__),
[
'tool' => $tool,
@@ -437,7 +430,8 @@ class ResourceController extends AbstractResourceController implements CourseCon
$this->setBreadCrumb($request, $parentResourceNode);
- return $grid->getGridResponse(
+ //return $grid->getGridResponse(
+ return $this->render(
$repository->getTemplates()->getFromAction(__FUNCTION__),
[
'parent_id' => $resourceNodeId,
diff --git a/src/UserBundle/Controller/SecurityController.php b/src/CoreBundle/Controller/SecurityController.php
similarity index 53%
rename from src/UserBundle/Controller/SecurityController.php
rename to src/CoreBundle/Controller/SecurityController.php
index 790153cd66..cfd527443b 100644
--- a/src/UserBundle/Controller/SecurityController.php
+++ b/src/CoreBundle/Controller/SecurityController.php
@@ -2,9 +2,9 @@
/* For licensing terms, see /license.txt */
-namespace Chamilo\UserBundle\Controller;
+namespace Chamilo\CoreBundle\Controller;
-use Chamilo\UserBundle\Form\LoginType;
+use Chamilo\CoreBundle\Form\LoginType;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
@@ -15,34 +15,20 @@ use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
*/
class SecurityController extends AbstractController
{
- /**
- * @var AuthenticationUtils
- */
- private $authenticationUtils;
-
- /**
- * SecurityController constructor.
- */
- public function __construct(AuthenticationUtils $authenticationUtils)
- {
- $this->authenticationUtils = $authenticationUtils;
- }
-
/**
* @Route("/login", name="login")
*
- * @return Response
*/
- public function loginAction()
+ public function login(AuthenticationUtils $authenticationUtils): Response
{
- $helper = $this->authenticationUtils;
- $error = $helper->getLastAuthenticationError();
- $form = $this->createForm(LoginType::class, ['_username' => $helper->getLastUsername()]);
+ $error = $authenticationUtils->getLastAuthenticationError();
+ $lastUsername = $authenticationUtils->getLastUsername();
+ //$form = $this->createForm(LoginType::class, ['_username' => $lastUsername]);
- return $this->render('@ChamiloUser/login.html.twig', [
- 'last_username' => $helper->getLastUsername(),
+ return $this->render('@ChamiloCore/login.html.twig', [
+ 'last_username' => $lastUsername,
'error' => $error,
- 'form' => $form->createView(),
+ //'form' => $form->createView(),
]);
}
@@ -57,7 +43,7 @@ class SecurityController extends AbstractController
$form = $this->createForm(LoginType::class, ['_username' => $helper->getLastUsername()]);
- return $this->render('@ChamiloUser/login_sidebar.html.twig', [
+ return $this->render('@ChamiloCore/login_sidebar.html.twig', [
'last_username' => $helper->getLastUsername(),
'error' => '', // error will be printed in the /login page
'form' => $form->createView(),
diff --git a/src/CoreBundle/Controller/SessionController.php b/src/CoreBundle/Controller/SessionController.php
index a46c5f4486..15c8e40c7a 100644
--- a/src/CoreBundle/Controller/SessionController.php
+++ b/src/CoreBundle/Controller/SessionController.php
@@ -11,7 +11,7 @@ use Chamilo\CoreBundle\Entity\SessionRelCourse;
use Chamilo\CoreBundle\Framework\Container;
use Chamilo\CoreBundle\Repository\SequenceRepository;
use Chamilo\CourseBundle\Entity\CCourseDescription;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use CoursesController;
use Essence\Essence;
use ExtraFieldValue;
diff --git a/src/CoreBundle/Controller/UserController.php b/src/CoreBundle/Controller/UserController.php
index bc5777909e..0d83e9acb8 100644
--- a/src/CoreBundle/Controller/UserController.php
+++ b/src/CoreBundle/Controller/UserController.php
@@ -5,8 +5,8 @@
namespace Chamilo\CoreBundle\Controller;
use Chamilo\CoreBundle\Repository\IllustrationRepository;
-use Chamilo\ThemeBundle\Model\UserInterface;
-use Chamilo\UserBundle\Repository\UserRepository;
+use Symfony\Component\Security\Core\User\UserInterface;
+use Chamilo\CoreBundle\Repository\UserRepository;
use Symfony\Component\Routing\Annotation\Route;
/**
diff --git a/src/CoreBundle/Entity/AccessUrlRelUser.php b/src/CoreBundle/Entity/AccessUrlRelUser.php
index 7fcf1608b0..9d0cb9e147 100644
--- a/src/CoreBundle/Entity/AccessUrlRelUser.php
+++ b/src/CoreBundle/Entity/AccessUrlRelUser.php
@@ -4,7 +4,7 @@
namespace Chamilo\CoreBundle\Entity;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use Doctrine\ORM\Mapping as ORM;
/**
@@ -32,7 +32,7 @@ class AccessUrlRelUser
protected $id;
/**
- * @ORM\ManyToOne(targetEntity="Chamilo\UserBundle\Entity\User", inversedBy="portals")
+ * @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\User", inversedBy="portals")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id", onDelete="CASCADE")
*/
protected $user;
diff --git a/src/CoreBundle/Entity/Course.php b/src/CoreBundle/Entity/Course.php
index 01962d2280..5c69875064 100644
--- a/src/CoreBundle/Entity/Course.php
+++ b/src/CoreBundle/Entity/Course.php
@@ -12,7 +12,7 @@ use Chamilo\CoreBundle\Entity\Resource\AbstractResource;
use Chamilo\CoreBundle\Entity\Resource\ResourceInterface;
use Chamilo\CourseBundle\Entity\CGroupInfo;
use Chamilo\CourseBundle\Entity\CTool;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Criteria;
use Doctrine\ORM\Mapping as ORM;
@@ -64,7 +64,7 @@ class Course extends AbstractResource implements ResourceInterface
protected $id;
/**
- * @var string the course title
+ * @var string The course title.
* @Groups({"course:read", "course:write", "list"})
* @Assert\NotBlank()
*
diff --git a/src/CoreBundle/Entity/CourseRelUser.php b/src/CoreBundle/Entity/CourseRelUser.php
index 9a7369d893..ea878e9510 100644
--- a/src/CoreBundle/Entity/CourseRelUser.php
+++ b/src/CoreBundle/Entity/CourseRelUser.php
@@ -4,7 +4,7 @@
namespace Chamilo\CoreBundle\Entity;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Annotation\Groups;
@@ -35,7 +35,7 @@ class CourseRelUser
/**
* Groups({"course_rel_user:read", "course_rel_user:write"}).
*
- * @ORM\ManyToOne(targetEntity="Chamilo\UserBundle\Entity\User", inversedBy="courses", cascade={"persist"})
+ * @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\User", inversedBy="courses", cascade={"persist"})
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
protected $user;
diff --git a/src/CoreBundle/Entity/CourseRelUserCatalogue.php b/src/CoreBundle/Entity/CourseRelUserCatalogue.php
index 225c064b50..c9fd418c75 100644
--- a/src/CoreBundle/Entity/CourseRelUserCatalogue.php
+++ b/src/CoreBundle/Entity/CourseRelUserCatalogue.php
@@ -4,7 +4,7 @@
namespace Chamilo\CoreBundle\Entity;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use Doctrine\ORM\Mapping as ORM;
/**
@@ -32,7 +32,7 @@ class CourseRelUserCatalogue
protected $id;
/**
- * @ORM\ManyToOne(targetEntity="Chamilo\UserBundle\Entity\User", inversedBy="courses", cascade={"persist"})
+ * @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\User", inversedBy="courses", cascade={"persist"})
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
protected $user;
diff --git a/src/CoreBundle/Entity/CourseRequest.php b/src/CoreBundle/Entity/CourseRequest.php
index b7cd04af25..bd1fc812d7 100644
--- a/src/CoreBundle/Entity/CourseRequest.php
+++ b/src/CoreBundle/Entity/CourseRequest.php
@@ -4,7 +4,7 @@
namespace Chamilo\CoreBundle\Entity;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use Doctrine\ORM\Mapping as ORM;
/**
@@ -20,7 +20,7 @@ class CourseRequest
/**
* @var User
*
- * @ORM\ManyToOne(targetEntity="Chamilo\UserBundle\Entity\User", cascade={"persist"})
+ * @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\User", cascade={"persist"})
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
protected $user;
diff --git a/src/CoreBundle/Entity/ExtraFieldSavedSearch.php b/src/CoreBundle/Entity/ExtraFieldSavedSearch.php
index 3231cf1cdf..9608cc7334 100644
--- a/src/CoreBundle/Entity/ExtraFieldSavedSearch.php
+++ b/src/CoreBundle/Entity/ExtraFieldSavedSearch.php
@@ -4,7 +4,7 @@
namespace Chamilo\CoreBundle\Entity;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Timestampable\Traits\TimestampableEntity;
@@ -38,7 +38,7 @@ class ExtraFieldSavedSearch
/**
* @var User
*
- * @ORM\ManyToOne(targetEntity="Chamilo\UserBundle\Entity\User")
+ * @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\User")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
protected $user;
diff --git a/src/CoreBundle/Entity/GradebookCategory.php b/src/CoreBundle/Entity/GradebookCategory.php
index 3c6f20d5d0..f101394741 100644
--- a/src/CoreBundle/Entity/GradebookCategory.php
+++ b/src/CoreBundle/Entity/GradebookCategory.php
@@ -4,7 +4,7 @@
namespace Chamilo\CoreBundle\Entity;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use Doctrine\ORM\Mapping as ORM;
/**
@@ -44,7 +44,7 @@ class GradebookCategory
/**
* @var User
*
- * @ORM\ManyToOne(targetEntity="Chamilo\UserBundle\Entity\User", inversedBy="gradeBookCategories")
+ * @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\User", inversedBy="gradeBookCategories")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
protected $user;
diff --git a/src/CoreBundle/Entity/Group.php b/src/CoreBundle/Entity/Group.php
new file mode 100644
index 0000000000..d700d02b93
--- /dev/null
+++ b/src/CoreBundle/Entity/Group.php
@@ -0,0 +1,144 @@
+name = $name;
+ $this->roles = $roles;
+ }
+
+ public function addRole($role)
+ {
+ if (!$this->hasRole($role)) {
+ $this->roles[] = strtoupper($role);
+ }
+
+ return $this;
+ }
+
+ public function hasRole($role)
+ {
+ return in_array(strtoupper($role), $this->roles, true);
+ }
+
+ public function getRoles()
+ {
+ return $this->roles;
+ }
+ public function removeRole($role)
+ {
+ if (false !== $key = array_search(strtoupper($role), $this->roles, true)) {
+ unset($this->roles[$key]);
+ $this->roles = array_values($this->roles);
+ }
+
+ return $this;
+ }
+
+ /**
+ * @param string $name
+ *
+ * @return Group
+ */
+ public function setName($name)
+ {
+ $this->name = $name;
+
+ return $this;
+ }
+
+ /**
+ * @param array $roles
+ *
+ * @return Group
+ */
+ public function setRoles(array $roles)
+ {
+ $this->roles = $roles;
+
+ return $this;
+ }
+
+ /**
+ * Get id.
+ *
+ * @return int
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ public function getUsers()
+ {
+ return $this->users;
+ }
+
+ /**
+ * @return string
+ */
+ public function getCode()
+ {
+ return $this->code;
+ }
+
+ /**
+ * @param string $code
+ *
+ * @return Group
+ */
+ public function setCode($code)
+ {
+ $this->code = $code;
+
+ return $this;
+ }
+
+ public function __toString()
+ {
+ return $this->getName() ?: '';
+ }
+}
diff --git a/src/CoreBundle/Entity/Manager/SessionManager.php b/src/CoreBundle/Entity/Manager/SessionManager.php
index 87d2b93255..812f3907ee 100644
--- a/src/CoreBundle/Entity/Manager/SessionManager.php
+++ b/src/CoreBundle/Entity/Manager/SessionManager.php
@@ -7,13 +7,11 @@ namespace Chamilo\CoreBundle\Entity\Manager;
use Chamilo\CoreBundle\Entity\Course;
use Chamilo\CoreBundle\Entity\Session;
use Chamilo\CoreBundle\Entity\SessionRelUser;
-use Chamilo\UserBundle\Entity\User;
-use Sonata\Doctrine\Entity\BaseEntityManager;
-
+use Chamilo\CoreBundle\Entity\User;
/**
* Class SessionManager.
*/
-class SessionManager extends BaseEntityManager
+class SessionManager
{
/**
* @return Session
diff --git a/src/CoreBundle/Entity/Manager/SettingsCurrentManager.php b/src/CoreBundle/Entity/Manager/SettingsCurrentManager.php
deleted file mode 100644
index 8a960995e4..0000000000
--- a/src/CoreBundle/Entity/Manager/SettingsCurrentManager.php
+++ /dev/null
@@ -1,14 +0,0 @@
-portals = new ArrayCollection();
$this->dropBoxSentFiles = new ArrayCollection();
$this->dropBoxReceivedFiles = new ArrayCollection();
+ $this->groups = new ArrayCollection();
//$this->extraFields = new ArrayCollection();
//$this->userId = 0;
//$this->createdAt = new \DateTime();
@@ -819,14 +861,6 @@ class User extends BaseUser implements ThemeUser, EquatableInterface //implement
return 1 == $this->getActive();
}
- /**
- * @return ArrayCollection
- */
- /*public function getRolesObj()
- {
- return $this->roles;
- }*/
-
/**
* Set salt.
*
@@ -1587,6 +1621,15 @@ class User extends BaseUser implements ThemeUser, EquatableInterface //implement
return $this;
}
+ public function addGroup($group)
+ {
+ if (!$this->getGroups()->contains($group)) {
+ $this->getGroups()->add($group);
+ }
+
+ return $this;
+ }
+
/**
* Sets the user groups.
*
@@ -1611,6 +1654,11 @@ class User extends BaseUser implements ThemeUser, EquatableInterface //implement
return sprintf('%s %s', $this->getFirstname(), $this->getLastname());
}
+ public function getGroups()
+ {
+ return $this->groups;
+ }
+
/**
* Returns the user roles.
*
@@ -1625,7 +1673,7 @@ class User extends BaseUser implements ThemeUser, EquatableInterface //implement
}
// we need to make sure to have at least one role
- $roles[] = static::ROLE_DEFAULT;
+ $roles[] = 'ROLE_USER';
return array_unique($roles);
}
@@ -1966,6 +2014,98 @@ class User extends BaseUser implements ThemeUser, EquatableInterface //implement
return $this->courseGroupsAsMember->matching($criteria);
}
+ public function getFirstname(){
+
+ }
+
+ public function getLastname(){
+
+ }
+
+ public function eraseCredentials()
+ {
+ $this->plainPassword = null;
+ }
+ public function hasRole($role)
+ {
+ return in_array(strtoupper($role), $this->getRoles(), true);
+ }
+
+ public function isSuperAdmin()
+ {
+ return $this->hasRole('ROLE_SUPER_ADMIN');
+ }
+
+ public function isUser(UserInterface $user = null)
+ {
+ return null !== $user && $this->getId() === $user->getId();
+ }
+
+ public function removeRole($role)
+ {
+ if (false !== $key = array_search(strtoupper($role), $this->roles, true)) {
+ unset($this->roles[$key]);
+ $this->roles = array_values($this->roles);
+ }
+
+ return $this;
+ }
+
+ public function getUsernameCanonical()
+ {
+ return $this->usernameCanonical;
+ }
+
+ public function getEmailCanonical()
+ {
+ return $this->emailCanonical;
+ }
+
+ public function getPlainPassword()
+ {
+ return $this->plainPassword;
+ }
+
+ /**
+ * @param string $timezone
+ *
+ * @return User
+ */
+ public function setTimezone($timezone)
+ {
+ $this->timezone = $timezone;
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getTimezone()
+ {
+ return $this->timezone;
+ }
+
+ /**
+ * @param string $locale
+ *
+ * @return User
+ */
+ public function setLocale($locale)
+ {
+ $this->locale = $locale;
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getLocale()
+ {
+ return $this->locale;
+ }
+
public function getCourseGroupsAsTutorFromCourse(Course $course): ArrayCollection
{
$criteria = Criteria::create();
diff --git a/src/CoreBundle/Entity/UsergroupRelUser.php b/src/CoreBundle/Entity/UsergroupRelUser.php
index 6e24addb63..11b4901e1d 100644
--- a/src/CoreBundle/Entity/UsergroupRelUser.php
+++ b/src/CoreBundle/Entity/UsergroupRelUser.php
@@ -4,7 +4,7 @@
namespace Chamilo\CoreBundle\Entity;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use Doctrine\ORM\Mapping as ORM;
/**
@@ -33,7 +33,7 @@ class UsergroupRelUser
/**
* @var User
*
- * @ORM\ManyToOne(targetEntity="Chamilo\UserBundle\Entity\User", inversedBy="classes", cascade={"persist"})
+ * @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\User", inversedBy="classes", cascade={"persist"})
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
protected $user;
diff --git a/src/CoreBundle/EventListener/LegacyListener.php b/src/CoreBundle/EventListener/LegacyListener.php
index 2655532029..6d6b83eb64 100644
--- a/src/CoreBundle/EventListener/LegacyListener.php
+++ b/src/CoreBundle/EventListener/LegacyListener.php
@@ -5,7 +5,7 @@
namespace Chamilo\CoreBundle\EventListener;
use Chamilo\CoreBundle\Framework\Container;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use Symfony\Component\DependencyInjection\ContainerAwareTrait;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\HttpKernel\Event\ControllerEvent;
@@ -49,6 +49,7 @@ class LegacyListener
$twig = $container->get('twig');
$token = $container->get('security.token_storage')->getToken();
+
$userObject = null;
if (null !== $token) {
/** @var User $userObject */
diff --git a/src/CoreBundle/EventListener/LoginSuccessHandler.php b/src/CoreBundle/EventListener/LoginSuccessHandler.php
index 6fddfe1ac2..a720411406 100644
--- a/src/CoreBundle/EventListener/LoginSuccessHandler.php
+++ b/src/CoreBundle/EventListener/LoginSuccessHandler.php
@@ -5,11 +5,10 @@
namespace Chamilo\CoreBundle\EventListener;
use Chamilo\SettingsBundle\Manager\SettingsManager;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
-use Symfony\Component\Security\Http\Authentication\AuthenticationSuccessHandlerInterface;
use Symfony\Component\Security\Http\Event\InteractiveLoginEvent;
/**
diff --git a/src/CoreBundle/EventListener/OnlineListener.php b/src/CoreBundle/EventListener/OnlineListener.php
index 63eb89eac3..5dd154d732 100644
--- a/src/CoreBundle/EventListener/OnlineListener.php
+++ b/src/CoreBundle/EventListener/OnlineListener.php
@@ -4,7 +4,7 @@
namespace Chamilo\CoreBundle\EventListener;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use DateTime;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\HttpKernel\Event\ControllerEvent;
diff --git a/src/UserBundle/Form/ProfileFosUserType.php b/src/CoreBundle/Form/ProfileFosUserType.php
similarity index 91%
rename from src/UserBundle/Form/ProfileFosUserType.php
rename to src/CoreBundle/Form/ProfileFosUserType.php
index 3614e82841..f5c19ec17c 100644
--- a/src/UserBundle/Form/ProfileFosUserType.php
+++ b/src/CoreBundle/Form/ProfileFosUserType.php
@@ -2,7 +2,7 @@
/* For licensing terms, see /license.txt */
-namespace Chamilo\UserBundle\Form;
+namespace Chamilo\CoreBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
@@ -36,7 +36,7 @@ class ProfileFosUserType extends AbstractType
{
$resolver->setDefaults(
[
- 'data_class' => 'Chamilo\UserBundle\Entity\User',
+ 'data_class' => 'Chamilo\CoreBundle\Entity\User',
]
);
}
diff --git a/src/UserBundle/Form/ProfileType.php b/src/CoreBundle/Form/ProfileType.php
similarity index 98%
rename from src/UserBundle/Form/ProfileType.php
rename to src/CoreBundle/Form/ProfileType.php
index badc491916..bdaea381df 100644
--- a/src/UserBundle/Form/ProfileType.php
+++ b/src/CoreBundle/Form/ProfileType.php
@@ -2,7 +2,7 @@
/* For licensing terms, see /license.txt */
-namespace Chamilo\UserBundle\Form;
+namespace Chamilo\CoreBundle\Form;
use Chamilo\CoreBundle\Form\Type\IllustrationType;
use Symfony\Component\Form\AbstractType;
@@ -170,7 +170,7 @@ class ProfileType extends AbstractType
{
$resolver->setDefaults(
[
- 'data_class' => 'Chamilo\UserBundle\Entity\User',
+ 'data_class' => 'Chamilo\CoreBundle\Entity\User',
]
);
}
diff --git a/src/CoreBundle/Form/SessionType.php b/src/CoreBundle/Form/SessionType.php
index 1656f1514b..2035fea0c8 100644
--- a/src/CoreBundle/Form/SessionType.php
+++ b/src/CoreBundle/Form/SessionType.php
@@ -19,7 +19,7 @@ class SessionType extends AbstractType
'general_coach',
'entity',
[
- 'class' => 'ChamiloUserBundle:User',
+ 'class' => 'ChamiloCoreBundle:User',
'property' => 'username',
]
)
@@ -27,7 +27,7 @@ class SessionType extends AbstractType
'session_admin_id',
'entity',
[
- 'class' => 'ChamiloUserBundle:User',
+ 'class' => 'ChamiloCoreBundle:User',
'property' => 'username',
]
)
diff --git a/src/CoreBundle/Form/Type/CourseType.php b/src/CoreBundle/Form/Type/CourseType.php
index b2499f23b9..3228dc7388 100644
--- a/src/CoreBundle/Form/Type/CourseType.php
+++ b/src/CoreBundle/Form/Type/CourseType.php
@@ -45,11 +45,11 @@ class CourseType extends AbstractType
['required' => false]
)
/* ->add('general_coach', 'entity', array(
- 'class' => 'ChamiloUserBundle:User',
+ 'class' => 'ChamiloCoreBundle:User',
'property' => 'username',
))
->add('session_admin_id', 'entity', array(
- 'class' => 'ChamiloUserBundle:User',
+ 'class' => 'ChamiloCoreBundle:User',
'property' => 'username',
))
->add('visibility', 'choice',
diff --git a/src/CoreBundle/Framework/Container.php b/src/CoreBundle/Framework/Container.php
index 470a727b83..0c9f553ab7 100644
--- a/src/CoreBundle/Framework/Container.php
+++ b/src/CoreBundle/Framework/Container.php
@@ -37,9 +37,7 @@ use Chamilo\CourseBundle\Repository\CStudentPublicationCommentRepository;
use Chamilo\CourseBundle\Repository\CStudentPublicationRepository;
use Chamilo\PageBundle\Entity\Page;
use Chamilo\SettingsBundle\Manager\SettingsManager;
-use Chamilo\UserBundle\Repository\UserRepository;
-use Sonata\PageBundle\Entity\SiteManager;
-use Sonata\UserBundle\Entity\UserManager;
+use Chamilo\CoreBundle\Repository\UserRepository;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Session\Session;
@@ -169,7 +167,7 @@ class Container
*/
public static function getTemplating()
{
- return self::$container->get('templating');
+ return self::$container->get('twig');
}
/**
@@ -479,7 +477,7 @@ class Container
*/
public static function getUserRepository()
{
- return self::$container->get('Chamilo\UserBundle\Repository\UserRepository');
+ return self::$container->get('Chamilo\CoreBundle\Repository\UserRepository');
}
/**
@@ -545,14 +543,6 @@ class Container
self::$userManager = $manager;
}
- /**
- * @return SiteManager
- */
- public static function getSiteManager()
- {
- return self::$siteManager;
- }
-
/**
* @param UserManager $manager
*/
@@ -622,8 +612,8 @@ class Container
\Database::setManager($em);
\CourseManager::setEntityManager($em);
//self::setSettingsManager($container->get('chamilo.settings.manager'));
- self::setUserManager($container->get('fos_user.user_manager'));
- self::setSiteManager($container->get('sonata.page.manager.site'));
+ //self::setUserManager($container->get('fos_user.user_manager'));
+ //self::setSiteManager($container->get('sonata.page.manager.site'));
\CourseManager::setCourseSettingsManager($container->get('Chamilo\CourseBundle\Manager\SettingsManager'));
// Setting course tool chain (in order to create tools to a course)
\CourseManager::setToolList($container->get(ToolChain::class));
diff --git a/src/CoreBundle/Menu/MenuVoter.php b/src/CoreBundle/Menu/MenuVoter.php
index 484be43321..b09ee7f2bb 100644
--- a/src/CoreBundle/Menu/MenuVoter.php
+++ b/src/CoreBundle/Menu/MenuVoter.php
@@ -26,7 +26,7 @@ class MenuVoter implements VoterInterface
/**
* @return bool|null
*/
- public function matchItem(ItemInterface $item)
+ public function matchItem(ItemInterface $item): ?bool
{
$request = $this->requestStack->getCurrentRequest();
$currentUri = $item->getUri();
diff --git a/src/CoreBundle/Repository/CourseRepository.php b/src/CoreBundle/Repository/CourseRepository.php
index cf4ed713f4..87b0ebc3ed 100644
--- a/src/CoreBundle/Repository/CourseRepository.php
+++ b/src/CoreBundle/Repository/CourseRepository.php
@@ -81,7 +81,7 @@ class CourseRepository extends ResourceRepository
// Selecting courses for users.
$queryBuilder->innerJoin('c.users', 'subscriptions');
$queryBuilder->innerJoin(
- 'ChamiloUserBundle:User',
+ 'ChamiloCoreBundle:User',
'user',
Join::WITH,
'subscriptions.user = user.id'
diff --git a/src/CoreBundle/Repository/GridInterface.php b/src/CoreBundle/Repository/GridInterface.php
index 946c5eff94..251a725a64 100644
--- a/src/CoreBundle/Repository/GridInterface.php
+++ b/src/CoreBundle/Repository/GridInterface.php
@@ -11,7 +11,7 @@ use Chamilo\CoreBundle\Entity\Course;
use Chamilo\CoreBundle\Entity\Resource\ResourceNode;
use Chamilo\CoreBundle\Entity\Session;
use Chamilo\CourseBundle\Entity\CGroupInfo;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use Symfony\Component\Form\FormInterface;
interface GridInterface
diff --git a/src/UserBundle/Repository/GroupRepository.php b/src/CoreBundle/Repository/GroupRepository.php
similarity index 90%
rename from src/UserBundle/Repository/GroupRepository.php
rename to src/CoreBundle/Repository/GroupRepository.php
index c223373d28..1752a280bb 100644
--- a/src/UserBundle/Repository/GroupRepository.php
+++ b/src/CoreBundle/Repository/GroupRepository.php
@@ -2,9 +2,9 @@
/* For licensing terms, see /license.txt */
-namespace Chamilo\UserBundle\Repository;
+namespace Chamilo\CoreBundle\Repository;
-use Chamilo\UserBundle\Entity\Group;
+use Chamilo\CoreBundle\Entity\Group;
use Doctrine\ORM\EntityManagerInterface;
use Doctrine\ORM\EntityRepository;
diff --git a/src/CoreBundle/Repository/IllustrationRepository.php b/src/CoreBundle/Repository/IllustrationRepository.php
index d946516204..8cfaa0494d 100644
--- a/src/CoreBundle/Repository/IllustrationRepository.php
+++ b/src/CoreBundle/Repository/IllustrationRepository.php
@@ -14,7 +14,7 @@ use Chamilo\CoreBundle\Entity\Resource\ResourceNode;
use Chamilo\CoreBundle\Entity\Session;
use Chamilo\CoreBundle\Form\Resource\IllustrationType;
use Chamilo\CourseBundle\Entity\CGroupInfo;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use Doctrine\ORM\QueryBuilder;
use Symfony\Component\Form\FormInterface;
use Symfony\Component\HttpFoundation\File\UploadedFile;
diff --git a/src/CoreBundle/Repository/MessageRepository.php b/src/CoreBundle/Repository/MessageRepository.php
index 59fe1910fd..2f8b556452 100644
--- a/src/CoreBundle/Repository/MessageRepository.php
+++ b/src/CoreBundle/Repository/MessageRepository.php
@@ -5,7 +5,7 @@
namespace Chamilo\CoreBundle\Repository;
use Chamilo\CoreBundle\Entity\Message;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Doctrine\Common\Persistence\ManagerRegistry;
diff --git a/src/CoreBundle/Repository/PersonalFileRepository.php b/src/CoreBundle/Repository/PersonalFileRepository.php
index 825a47c41e..145711e637 100644
--- a/src/CoreBundle/Repository/PersonalFileRepository.php
+++ b/src/CoreBundle/Repository/PersonalFileRepository.php
@@ -12,7 +12,7 @@ use Chamilo\CoreBundle\Entity\Resource\ResourceNode;
use Chamilo\CoreBundle\Entity\Session;
use Chamilo\CoreBundle\Form\Resource\PersonalFileType;
use Chamilo\CourseBundle\Entity\CGroupInfo;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use Doctrine\ORM\QueryBuilder;
use Symfony\Component\Form\FormInterface;
diff --git a/src/CoreBundle/Repository/ResourceRepository.php b/src/CoreBundle/Repository/ResourceRepository.php
index aa9877121d..dc722775cb 100644
--- a/src/CoreBundle/Repository/ResourceRepository.php
+++ b/src/CoreBundle/Repository/ResourceRepository.php
@@ -22,7 +22,7 @@ use Chamilo\CoreBundle\Security\Authorization\Voter\ResourceNodeVoter;
use Chamilo\CoreBundle\ToolChain;
use Chamilo\CourseBundle\Entity\CDocument;
use Chamilo\CourseBundle\Entity\CGroupInfo;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use Cocur\Slugify\SlugifyInterface;
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\EntityRepository;
@@ -418,7 +418,7 @@ class ResourceRepository extends BaseEntityRepository
$em = $this->getEntityManager();
if (!empty($userList)) {
- $userRepo = $em->getRepository('ChamiloUserBundle:User');
+ $userRepo = $em->getRepository('ChamiloCoreBundle:User');
foreach ($userList as $userId) {
$toUser = $userRepo->find($userId);
$resourceLink = $this->addResourceNodeToUser($resourceNode, $toUser);
diff --git a/src/CoreBundle/Repository/SkillRepository.php b/src/CoreBundle/Repository/SkillRepository.php
index c9464f9a7e..24b29de1a5 100644
--- a/src/CoreBundle/Repository/SkillRepository.php
+++ b/src/CoreBundle/Repository/SkillRepository.php
@@ -7,7 +7,7 @@ namespace Chamilo\CoreBundle\Repository;
use Chamilo\CoreBundle\Entity\Course;
use Chamilo\CoreBundle\Entity\Session;
use Chamilo\CoreBundle\Entity\Skill;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Doctrine\Common\Persistence\ManagerRegistry;
use Doctrine\ORM\Query\Expr\Join;
diff --git a/src/CoreBundle/Repository/TemplatesRepository.php b/src/CoreBundle/Repository/TemplatesRepository.php
index bbc4f6739c..50f462fef4 100644
--- a/src/CoreBundle/Repository/TemplatesRepository.php
+++ b/src/CoreBundle/Repository/TemplatesRepository.php
@@ -6,7 +6,7 @@ namespace Chamilo\CoreBundle\Repository;
use Chamilo\CoreBundle\Entity\Course;
use Chamilo\CoreBundle\Entity\Templates;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Doctrine\Common\Persistence\ManagerRegistry;
use Doctrine\ORM\Query\Expr\Join;
diff --git a/src/CoreBundle/Repository/TrackECourseAccessRepository.php b/src/CoreBundle/Repository/TrackECourseAccessRepository.php
index 9895d3f545..13fe13849a 100644
--- a/src/CoreBundle/Repository/TrackECourseAccessRepository.php
+++ b/src/CoreBundle/Repository/TrackECourseAccessRepository.php
@@ -5,7 +5,7 @@
namespace Chamilo\CoreBundle\Repository;
use Chamilo\CoreBundle\Entity\TrackECourseAccess;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Doctrine\Common\Persistence\ManagerRegistry;
diff --git a/src/UserBundle/Repository/UserRepository.php b/src/CoreBundle/Repository/UserRepository.php
similarity index 97%
rename from src/UserBundle/Repository/UserRepository.php
rename to src/CoreBundle/Repository/UserRepository.php
index c8a9969682..93b005cf6a 100644
--- a/src/UserBundle/Repository/UserRepository.php
+++ b/src/CoreBundle/Repository/UserRepository.php
@@ -2,7 +2,7 @@
/* For licensing terms, see /license.txt */
-namespace Chamilo\UserBundle\Repository;
+namespace Chamilo\CoreBundle\Repository;
use Chamilo\CoreBundle\Entity\AccessUrl;
use Chamilo\CoreBundle\Entity\AccessUrlRelUser;
@@ -46,10 +46,13 @@ use Chamilo\CourseBundle\Entity\CStudentPublicationComment;
use Chamilo\CourseBundle\Entity\CSurveyAnswer;
use Chamilo\CourseBundle\Entity\CWiki;
use Chamilo\TicketBundle\Entity\Ticket;
-use Chamilo\UserBundle\Entity\User;
+use Chamilo\CoreBundle\Entity\User;
use Doctrine\Common\Collections\Criteria;
use Doctrine\ORM\Query\Expr\Join;
+use Symfony\Bridge\Doctrine\Security\User\UserLoaderInterface;
use Symfony\Component\Security\Core\Exception\UsernameNotFoundException;
+use Symfony\Component\Security\Core\User\PasswordUpgraderInterface;
+use Symfony\Component\Security\Core\User\UserInterface;
use Symfony\Component\Serializer\Encoder\JsonEncoder;
use Symfony\Component\Serializer\Normalizer\AbstractNormalizer;
use Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer;
@@ -61,8 +64,28 @@ use Symfony\Component\Serializer\Serializer;
* All functions that query the database (selects)
* Functions should return query builders.
*/
-class UserRepository extends ResourceRepository
+class UserRepository extends ResourceRepository implements UserLoaderInterface, PasswordUpgraderInterface
{
+ public function loadUserByUsername($username)
+ {
+ return $this->findBy(['username' => $username]);
+ }
+
+ public function updateUser($user)
+ {
+
+ $this->getEntityManager()->persist($user);
+ $this->getEntityManager()->flush();
+ }
+
+ public function upgradePassword(UserInterface $user, string $newEncodedPassword): void
+ {
+ // this code is only an example; the exact code will depend on
+ // your own application needs
+ $user->setPassword($newEncodedPassword);
+ $this->getEntityManager()->flush($user);
+ }
+
public function getRootUser(): User
{
$qb = $this->getRepository()->createQueryBuilder('u');
@@ -167,7 +190,7 @@ class UserRepository extends ResourceRepository
// Selecting user info
$qb->select('DISTINCT b');
- $qb->from('Chamilo\UserBundle\Entity\User', 'b');
+ $qb->from('Chamilo\CoreBundle\Entity\User', 'b');
// Selecting courses for users
//$qb->innerJoin('u.courses', 'c');
@@ -194,7 +217,7 @@ class UserRepository extends ResourceRepository
$queryBuilder->select('c');
// Loading User.
- //$qb->from('Chamilo\UserBundle\Entity\User', 'u');
+ //$qb->from('Chamilo\CoreBundle\Entity\User', 'u');
// Selecting course
$queryBuilder->innerJoin('Chamilo\CoreBundle\Entity\Course', 'c');
@@ -324,7 +347,7 @@ class UserRepository extends ResourceRepository
$queryBuilder->select('c');
// Loading User.
- //$qb->from('Chamilo\UserBundle\Entity\User', 'u');
+ //$qb->from('Chamilo\CoreBundle\Entity\User', 'u');
// Selecting course
$queryBuilder->innerJoin('Chamilo\CoreBundle\Entity\Course', 'c');
@@ -486,7 +509,7 @@ class UserRepository extends ResourceRepository
// All users
if ('true' === $allowSendMessageToAllUsers || api_is_platform_admin()) {
$dql = "SELECT DISTINCT U
- FROM ChamiloUserBundle:User U
+ FROM ChamiloCoreBundle:User U
LEFT JOIN ChamiloCoreBundle:AccessUrlRelUser R
WITH U = R.user
WHERE
@@ -497,7 +520,7 @@ class UserRepository extends ResourceRepository
} else {
$dql = 'SELECT DISTINCT U
FROM ChamiloCoreBundle:AccessUrlRelUser R, ChamiloCoreBundle:UserRelUser UF
- INNER JOIN ChamiloUserBundle:User AS U
+ INNER JOIN ChamiloCoreBundle:User AS U
WITH UF.friendUserId = U
WHERE
U.active = 1 AND
@@ -514,7 +537,7 @@ class UserRepository extends ResourceRepository
) {
if ('true' === $allowSendMessageToAllUsers) {
$dql = "SELECT DISTINCT U
- FROM ChamiloUserBundle:User U
+ FROM ChamiloCoreBundle:User U
LEFT JOIN ChamiloCoreBundle:AccessUrlRelUser R
WITH U = R.user
WHERE
@@ -527,7 +550,7 @@ class UserRepository extends ResourceRepository
$online_time = time() - $time_limit * 60;
$limit_date = api_get_utc_datetime($online_time);
$dql = "SELECT DISTINCT U
- FROM ChamiloUserBundle:User U
+ FROM ChamiloCoreBundle:User U
INNER JOIN ChamiloCoreBundle:TrackEOnline T
WITH U.id = T.loginUserId
WHERE
diff --git a/src/CoreBundle/Resources/config/repositories.yml b/src/CoreBundle/Resources/config/repositories.yml
index cccd8efbcb..73c4e7aed8 100644
--- a/src/CoreBundle/Resources/config/repositories.yml
+++ b/src/CoreBundle/Resources/config/repositories.yml
@@ -31,8 +31,8 @@ services:
arguments:
$className: 'Chamilo\CoreBundle\Entity\PersonalFile'
- Chamilo\UserBundle\Repository\UserRepository:
+ Chamilo\CoreBundle\Repository\UserRepository:
arguments:
- $className: 'Chamilo\UserBundle\Entity\User'
+ $className: 'Chamilo\CoreBundle\Entity\User'
- Chamilo\UserBundle\Repository\GroupRepository: ~
+ Chamilo\CoreBundle\Repository\GroupRepository: ~
diff --git a/src/CoreBundle/Resources/config/routing.yml b/src/CoreBundle/Resources/config/routing.yml
deleted file mode 100644
index 1ff11e1354..0000000000
--- a/src/CoreBundle/Resources/config/routing.yml
+++ /dev/null
@@ -1,37 +0,0 @@
-legacy_main:
- path: /main/{name}
- defaults: {_controller: 'ChamiloCoreBundle:Legacy:classic'}
- requirements:
- name: .+
-
-# Controllers
-controllers:
- resource: '../src/CoreBundle/Controller/'
- type: annotation
-
-legacy_plugin:
- path: /plugin/{name}
- defaults: {_controller: 'ChamiloCoreBundle:Legacy:plugin'}
- requirements:
- name: .+
-
-# web url shortcuts for legacy templates
-web.ajax:
- path: main/inc/ajax/
-
-web.main:
- path: main/
-
-# Core controllers
-core_admin:
- resource: '@ChamiloCoreBundle/Controller/Admin'
- type: annotation
- prefix: /admin
-
-# Redirects /url/ to /url always located at the end
-#remove_trailing_slash:
-# path: /{url}
-# defaults: {_controller: 'ChamiloCoreBundle:Redirecting:removeTrailingSlash'}
-# requirements:
-# url: .*/$
-# _method: GET
diff --git a/src/CoreBundle/Resources/config/services.yml b/src/CoreBundle/Resources/config/services.yml
index 265a26a679..213f9d2479 100644
--- a/src/CoreBundle/Resources/config/services.yml
+++ b/src/CoreBundle/Resources/config/services.yml
@@ -16,7 +16,7 @@ services:
Chamilo\CoreBundle\:
resource: '../../*'
- exclude: '../../{Repository,Tool,Admin,Block,Component,Composer,DependencyInjection,EventListener,Form,Framework,Menu,Migrations,Security,Settings,ChamiloCoreBundle.php,Entity,Tests}'
+ exclude: '../../{Repository,Tool,Admin,Block,Component,Composer,DependencyInjection,EventListener,Form,Framework,Menu,Migrations,Settings,ChamiloCoreBundle.php,Entity,Tests}'
public: true
Chamilo\CoreBundle\Controller\:
@@ -53,7 +53,13 @@ services:
# Chamilo custom password encoder (depends on the password_encryption param)
# chamilo_user.security.encoder:
-# class: Chamilo\UserBundle\Security\Encoder
+# class: Chamilo\CoreBundle\Security\Encoder
+# bind:
+# $passwordEncrypt: '%password_encryption%'
+
+ Chamilo\CoreBundle\Security\Encoder:
+ arguments:
+ - '%password_encryption%'
# Course voter checks if a user has permissions to do actions in a course
chamilo_core.security.authorization.voter.course_voter:
@@ -98,21 +104,21 @@ services:
- {name: form.type, alias: yes_no}
# # Extra field attribute services
# chamilo_user.form.type.attribute_value_type:
-# class: Chamilo\UserBundle\Form\Type\AttributeValueType
+# class: Chamilo\CoreBundle\Form\Type\AttributeValueType
# arguments: [Chamilo\CoreBundle\Entity\ExtraFieldValues, ['registration'], 'user', @sylius.repository.subject_name_attribute_value]
# tags:
# - {name: form.type, alias: chamilo_user_extra_field_value}
##
#
# chamilo_user.form.type.attribute_type:
-# class: Chamilo\UserBundle\Form\Type\AttributeType
+# class: Chamilo\CoreBundle\Form\Type\AttributeType
# arguments: [Chamilo\CoreBundle\Entity\ExtraField, ['registration'], 'user']
## arguments: [%sylius.attribute.attribute_types%]
# tags:
# - {name: form.type, alias: chamilo_user_attribute_type}
#
# chamilo_user.form.type.attribute_choice_type:
-# class: Chamilo\UserBundle\Form\Type\AttributeTypeChoiceType
+# class: Chamilo\CoreBundle\Form\Type\AttributeTypeChoiceType
# arguments: [%sylius.attribute.attribute_types%]
# tags:
# - {name: form.type, alias: chamilo_user_attribute_choice}
@@ -245,43 +251,43 @@ services:
arguments: ['@router', '@security.authorization_checker', '@security.token_storage']
# Block services
- chamilo_core.block.course:
- class: Chamilo\CoreBundle\Block\CourseBlockService
- arguments: [chamilo_core.block.course, '@templating']
- tags:
- - {name: sonata.block}
+# chamilo_core.block.course:
+# class: Chamilo\CoreBundle\Block\CourseBlockService
+# arguments: [chamilo_core.block.course, '@templating']
+# tags:
+# - {name: sonata.block}
- chamilo_core.block.skill:
- class: Chamilo\CoreBundle\Block\SkillBlockService
- arguments: [chamilo_core.block.skill, '@templating']
- tags:
- - {name: sonata.block}
+# chamilo_core.block.skill:
+# class: Chamilo\CoreBundle\Block\SkillBlockService
+# arguments: [chamilo_core.block.skill, '@templating']
+# tags:
+# - {name: sonata.block}
# Breadcrumb
- chamilo_core.block.breadcrumb:
- class: Chamilo\CoreBundle\Block\BreadcrumbBlockService
- arguments: ['chamilo_core.block.breadcrumb', 'breadcrumb', '@templating', '@knp_menu.menu_provider', '@knp_menu.factory']
- tags:
- - {name: sonata.block}
- - {name: sonata.breadcrumb}
+# chamilo_core.block.breadcrumb:
+# class: Chamilo\CoreBundle\Block\BreadcrumbBlockService
+# arguments: ['chamilo_core.block.breadcrumb', 'breadcrumb', '@templating', '@knp_menu.menu_provider', '@knp_menu.factory']
+# tags:
+# - {name: sonata.block}
+# - {name: sonata.breadcrumb}
- Chamilo\CoreBundle\Block\BreadcrumbBlockService: '@chamilo_core.block.breadcrumb'
+# Chamilo\CoreBundle\Block\BreadcrumbBlockService: '@chamilo_core.block.breadcrumb'
- Chamilo\CoreBundle\Controller\ResourceUploadController:
- autowire: false
+# Chamilo\CoreBundle\Controller\ResourceUploadController:
+# autowire: false
# Form types
- chamilo_user.registration.form.type:
- class: Chamilo\UserBundle\Form\Type\RegistrationFormType
- arguments: ['%fos_user.model.user.class%']
- tags:
- - {name: form.type, alias: chamilo_sonata_user_registration}
+# chamilo_user.registration.form.type:
+# class: Chamilo\CoreBundle\Form\Type\RegistrationFormType
+# arguments: ['%fos_user.model.user.class%']
+# tags:
+# - {name: form.type, alias: chamilo_sonata_user_registration}
- chamilo_user.profile.form.type:
- class: Chamilo\UserBundle\Form\ProfileType
- arguments: ['%fos_user.model.user.class%']
- tags:
- - {name: form.type, alias: chamilo_sonata_user_profile}
+# chamilo_user.profile.form.type:
+# class: Chamilo\CoreBundle\Form\ProfileType
+# arguments: ['%fos_user.model.user.class%']
+# tags:
+# - {name: form.type, alias: chamilo_sonata_user_profile}
Liip\ImagineBundle\Service\FilterService:
alias: 'liip_imagine.service.filter'
diff --git a/src/CoreBundle/Resources/config/tools.yml b/src/CoreBundle/Resources/config/tools.yml
index d5cb1d7338..3499d331ff 100644
--- a/src/CoreBundle/Resources/config/tools.yml
+++ b/src/CoreBundle/Resources/config/tools.yml
@@ -22,7 +22,7 @@ services:
courses:
repository: Chamilo\CoreBundle\Repository\CourseRepository
users:
- repository: Chamilo\UserBundle\Repository\UserRepository
+ repository: Chamilo\CoreBundle\Repository\UserRepository
tags:
- {name: chamilo_core.tool}
diff --git a/src/UserBundle/Resources/views/ChangePassword/changePassword.html.twig b/src/CoreBundle/Resources/views/ChangePassword/changePassword.html.twig
similarity index 100%
rename from src/UserBundle/Resources/views/ChangePassword/changePassword.html.twig
rename to src/CoreBundle/Resources/views/ChangePassword/changePassword.html.twig
diff --git a/src/UserBundle/Resources/views/ChangePassword/changePassword_content.html.twig b/src/CoreBundle/Resources/views/ChangePassword/changePassword_content.html.twig
similarity index 100%
rename from src/UserBundle/Resources/views/ChangePassword/changePassword_content.html.twig
rename to src/CoreBundle/Resources/views/ChangePassword/changePassword_content.html.twig
diff --git a/src/UserBundle/Resources/views/Profile/action.html.twig b/src/CoreBundle/Resources/views/Profile/action.html.twig
similarity index 93%
rename from src/UserBundle/Resources/views/Profile/action.html.twig
rename to src/CoreBundle/Resources/views/Profile/action.html.twig
index 393d11061f..e5019267d1 100644
--- a/src/UserBundle/Resources/views/Profile/action.html.twig
+++ b/src/CoreBundle/Resources/views/Profile/action.html.twig
@@ -29,7 +29,7 @@ file that was distributed with this source code.
- {% include 'SonataCoreBundle:FlashMessage:render.html.twig' %}
+{# {% include 'SonataCoreBundle:FlashMessage:render.html.twig' %}#}
{% block sonata_profile_content '' %}
diff --git a/src/UserBundle/Resources/views/Profile/edit_authentication.html.twig b/src/CoreBundle/Resources/views/Profile/edit_authentication.html.twig
similarity index 100%
rename from src/UserBundle/Resources/views/Profile/edit_authentication.html.twig
rename to src/CoreBundle/Resources/views/Profile/edit_authentication.html.twig
diff --git a/src/UserBundle/Resources/views/Profile/edit_profile.html.twig b/src/CoreBundle/Resources/views/Profile/edit_profile.html.twig
similarity index 97%
rename from src/UserBundle/Resources/views/Profile/edit_profile.html.twig
rename to src/CoreBundle/Resources/views/Profile/edit_profile.html.twig
index aeac1ad96a..be5d8d427a 100644
--- a/src/UserBundle/Resources/views/Profile/edit_profile.html.twig
+++ b/src/CoreBundle/Resources/views/Profile/edit_profile.html.twig
@@ -1,4 +1,4 @@
-{% extends "ChamiloUserBundle:Profile:action.html.twig" %}
+{% extends "ChamiloCoreBundle:Profile:action.html.twig" %}
{% block sonata_profile_title %}
{{ "title_user_account" | trans({}, 'SonataUserBundle')}} - {{ "title_user_edit_profile" | trans({}, 'SonataUserBundle')}}
diff --git a/src/UserBundle/Resources/views/Profile/show.html.twig b/src/CoreBundle/Resources/views/Profile/show.html.twig
similarity index 100%
rename from src/UserBundle/Resources/views/Profile/show.html.twig
rename to src/CoreBundle/Resources/views/Profile/show.html.twig
diff --git a/src/UserBundle/Resources/views/Registration/register_content.html.twig b/src/CoreBundle/Resources/views/Registration/register_content.html.twig
similarity index 100%
rename from src/UserBundle/Resources/views/Registration/register_content.html.twig
rename to src/CoreBundle/Resources/views/Registration/register_content.html.twig
diff --git a/src/UserBundle/Resources/views/Resetting/checkEmail.html.twig b/src/CoreBundle/Resources/views/Resetting/checkEmail.html.twig
similarity index 100%
rename from src/UserBundle/Resources/views/Resetting/checkEmail.html.twig
rename to src/CoreBundle/Resources/views/Resetting/checkEmail.html.twig
diff --git a/src/UserBundle/Resources/views/Resetting/email.txt.twig b/src/CoreBundle/Resources/views/Resetting/email.txt.twig
similarity index 100%
rename from src/UserBundle/Resources/views/Resetting/email.txt.twig
rename to src/CoreBundle/Resources/views/Resetting/email.txt.twig
diff --git a/src/UserBundle/Resources/views/Resetting/passwordAlreadyRequested.html.twig b/src/CoreBundle/Resources/views/Resetting/passwordAlreadyRequested.html.twig
similarity index 100%
rename from src/UserBundle/Resources/views/Resetting/passwordAlreadyRequested.html.twig
rename to src/CoreBundle/Resources/views/Resetting/passwordAlreadyRequested.html.twig
diff --git a/src/UserBundle/Resources/views/Resetting/request.html.twig b/src/CoreBundle/Resources/views/Resetting/request.html.twig
similarity index 100%
rename from src/UserBundle/Resources/views/Resetting/request.html.twig
rename to src/CoreBundle/Resources/views/Resetting/request.html.twig
diff --git a/src/UserBundle/Resources/views/Resetting/request_content.html.twig b/src/CoreBundle/Resources/views/Resetting/request_content.html.twig
similarity index 100%
rename from src/UserBundle/Resources/views/Resetting/request_content.html.twig
rename to src/CoreBundle/Resources/views/Resetting/request_content.html.twig
diff --git a/src/UserBundle/Resources/views/Resetting/reset.html.twig b/src/CoreBundle/Resources/views/Resetting/reset.html.twig
similarity index 100%
rename from src/UserBundle/Resources/views/Resetting/reset.html.twig
rename to src/CoreBundle/Resources/views/Resetting/reset.html.twig
diff --git a/src/UserBundle/Resources/views/Resetting/reset_content.html.twig b/src/CoreBundle/Resources/views/Resetting/reset_content.html.twig
similarity index 100%
rename from src/UserBundle/Resources/views/Resetting/reset_content.html.twig
rename to src/CoreBundle/Resources/views/Resetting/reset_content.html.twig
diff --git a/src/UserBundle/Resources/views/layout.html.twig b/src/CoreBundle/Resources/views/layout.html.twig
similarity index 100%
rename from src/UserBundle/Resources/views/layout.html.twig
rename to src/CoreBundle/Resources/views/layout.html.twig
diff --git a/src/UserBundle/Resources/views/login.html.twig b/src/CoreBundle/Resources/views/login.html.twig
similarity index 76%
rename from src/UserBundle/Resources/views/login.html.twig
rename to src/CoreBundle/Resources/views/login.html.twig
index 096afb7f43..f5f68f18c6 100644
--- a/src/UserBundle/Resources/views/login.html.twig
+++ b/src/CoreBundle/Resources/views/login.html.twig
@@ -1,4 +1,4 @@
-{% extends "@ChamiloUser/layout.html.twig" %}
+{% extends "@ChamiloCore/layout.html.twig" %}
{% block fos_user_content %}
{% block sonata_user_login %}
@@ -15,18 +15,17 @@
diff --git a/src/ThemeBundle/Resources/views/FlashMessage/render.html.twig b/src/ThemeBundle/Resources/views/FlashMessage/render.html.twig
index effb561b70..50b3782442 100644
--- a/src/ThemeBundle/Resources/views/FlashMessage/render.html.twig
+++ b/src/ThemeBundle/Resources/views/FlashMessage/render.html.twig
@@ -4,20 +4,20 @@
{{ flash_messages }}
{# new flash messages when using controller #}
-{% for type in sonata_flashmessages_types() %}
- {% set domain = domain is defined ? domain : null %}
- {% for message in sonata_flashmessages_get(type, domain) %}
-
- {% endfor %}
-{% endfor %}
+{#{% for type in sonata_flashmessages_types() %}#}
+{# {% set domain = domain is defined ? domain : null %}#}
+{# {% for message in sonata_flashmessages_get(type, domain) %}#}
+{#
#}
+{# {% endfor %}#}
+{#{% endfor %}#}
{% endautoescape %}
diff --git a/src/ThemeBundle/Resources/views/Index/index.html.twig b/src/ThemeBundle/Resources/views/Index/index.html.twig
index 7f74787d92..b53a893bb8 100644
--- a/src/ThemeBundle/Resources/views/Index/index.html.twig
+++ b/src/ThemeBundle/Resources/views/Index/index.html.twig
@@ -12,7 +12,7 @@
diff --git a/src/ThemeBundle/Resources/views/Index/userportal.html.twig b/src/ThemeBundle/Resources/views/Index/userportal.html.twig
index 46a0bac498..c351795418 100644
--- a/src/ThemeBundle/Resources/views/Index/userportal.html.twig
+++ b/src/ThemeBundle/Resources/views/Index/userportal.html.twig
@@ -1,21 +1,20 @@
{% block page_content %}
{% autoescape false %}
-
{% if plugin_content_top %}
{% endif %}
- {{ sniff_notification }}
+{# {{ sniff_notification }}#}
- {% if home_welcome %}
+ {% if home_welcome is defined %}
{% endif %}
- {% if home_include %}
+ {% if home_include is defined %}
@@ -25,7 +24,7 @@
{# include 'layout/page_body.tpl'|get_template #}
{% endblock %}
- {% if welcome_to_course_block %}
+ {% if welcome_to_course_block is defined %}
@@ -39,20 +38,20 @@
{% endif %}
{% endblock %}
- {% if announcements_block %}
+ {% if announcements_block is defined %}
{% endif %}
- {% if course_category_block %}
+ {% if course_category_block is defined %}
{% endif %}
{# % include 'layout/hot_courses.tpl'|get_template #}
{# include 'session/sessions_current.tpl'|get_template #}
- {% if plugin_content_bottom %}
+ {% if plugin_content_bottom is defined %}
diff --git a/src/ThemeBundle/Resources/views/Layout/base-layout.html.twig b/src/ThemeBundle/Resources/views/Layout/base-layout.html.twig
index cd3e5b9c75..33343693ce 100644
--- a/src/ThemeBundle/Resources/views/Layout/base-layout.html.twig
+++ b/src/ThemeBundle/Resources/views/Layout/base-layout.html.twig
@@ -17,7 +17,7 @@
{% endblock %}
diff --git a/src/ThemeBundle/Resources/views/Layout/head.html.twig b/src/ThemeBundle/Resources/views/Layout/head.html.twig
index 94bbbd6559..85c680761a 100644
--- a/src/ThemeBundle/Resources/views/Layout/head.html.twig
+++ b/src/ThemeBundle/Resources/views/Layout/head.html.twig
@@ -1,6 +1,6 @@
{# Check settings to add more metadata in app/config/sonata/sonata_seo.yml #}
-{{ sonata_seo_metadatas() }}
+{#{{ sonata_seo_metadatas() }}#}
@@ -25,21 +25,29 @@
{% set profile_link = '' %}
{% set message_link = '' %}
-{# Files app.css is generated from "assets/css/app.scss" file using the file webpack.config.js #}
-
+{% block stylesheets %}
+ {# Files app.css is generated from "assets/css/app.scss" file using the file webpack.config.js #}
+
+ {{ encore_entry_link_tags('resource') }}
+{% endblock %}
+
{# app.js is generated using the file webpack.config.js and using yarn read /assets/README.md for more info #}
-
+{##}
-
+{##}
{# Add third party js libraries that can't be loaded using webpack #}
{##}
{# Check chamilo_js key in assetic.yml #}
{% block javascripts %}
+ {{ encore_entry_script_tags('app') }}
+ {{ encore_entry_script_tags('resource') }}
+
{% block chamilo_header_js %}
{# Loading legacy js using the $htmlHeadXtra array #}
{% autoescape false %}
diff --git a/src/ThemeBundle/Resources/views/Layout/layout_one_col.html.twig b/src/ThemeBundle/Resources/views/Layout/layout_one_col.html.twig
index 25e1d59723..1eeeee1e0e 100644
--- a/src/ThemeBundle/Resources/views/Layout/layout_one_col.html.twig
+++ b/src/ThemeBundle/Resources/views/Layout/layout_one_col.html.twig
@@ -36,7 +36,7 @@
{% endblock %}