Merge pull request #5050 from marvil07/cs-iterations

Coding standard fixes
pull/5053/head
Angel Fernando Quiroz Campos 2 years ago committed by GitHub
commit 7292c4e250
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      composer.json
  2. 17
      src/CoreBundle/Controller/CourseController.php
  3. 9
      src/CoreBundle/Controller/ResourceController.php
  4. 6
      src/CoreBundle/Entity/AttemptFeedback.php
  5. 6
      src/CoreBundle/Entity/ExtraFieldOptionRelFieldOption.php
  6. 5
      src/CoreBundle/Entity/ExtraFieldOptions.php
  7. 4
      src/CoreBundle/Entity/ExtraFieldSavedSearch.php
  8. 2
      src/CoreBundle/Entity/GradeComponents.php
  9. 16
      src/CoreBundle/Entity/GradebookCategory.php
  10. 4
      src/CoreBundle/Entity/GradebookCertificate.php
  11. 4
      src/CoreBundle/Entity/GradebookComment.php
  12. 6
      src/CoreBundle/Entity/GradebookEvaluation.php
  13. 6
      src/CoreBundle/Entity/GradebookLink.php
  14. 4
      src/CoreBundle/Entity/GradebookResult.php
  15. 2
      src/CoreBundle/Entity/GradebookResultAttempt.php
  16. 2
      src/CoreBundle/Entity/GradebookScoreDisplay.php
  17. 4
      src/CoreBundle/Entity/GradebookScoreLog.php
  18. 2
      src/CoreBundle/Entity/Group.php
  19. 3
      src/CoreBundle/Entity/Illustration.php
  20. 3
      src/CoreBundle/Entity/Legal.php
  21. 2
      src/CoreBundle/Entity/Level.php
  22. 6
      src/CoreBundle/Entity/Page.php
  23. 8
      src/CoreBundle/Entity/Portfolio.php
  24. 4
      src/CoreBundle/Entity/PortfolioCategory.php
  25. 6
      src/CoreBundle/Entity/Promotion.php
  26. 2
      src/CoreBundle/Entity/Resource/ResourceTag.php
  27. 4
      src/CoreBundle/Entity/Resource/ResourceUserTag.php
  28. 2
      src/CoreBundle/Entity/ResourceNode.php
  29. 2
      src/CoreBundle/Entity/ResourceRight.php
  30. 4
      src/CoreBundle/Entity/ResourceType.php
  31. 2
      src/CoreBundle/Entity/Room.php
  32. 4
      src/CoreBundle/Entity/SearchEngineRef.php
  33. 3
      src/CoreBundle/Entity/Sequence.php
  34. 4
      src/CoreBundle/Entity/SequenceFormula.php
  35. 5
      src/CoreBundle/Entity/SequenceResource.php
  36. 4
      src/CoreBundle/Entity/SequenceRuleCondition.php
  37. 4
      src/CoreBundle/Entity/SequenceValid.php
  38. 4
      src/CoreBundle/Entity/SequenceValue.php
  39. 3
      src/CoreBundle/Entity/Skill.php
  40. 6
      src/CoreBundle/Entity/SkillRelCourse.php
  41. 4
      src/CoreBundle/Entity/SkillRelGradebook.php
  42. 2
      src/CoreBundle/Entity/SkillRelItem.php
  43. 4
      src/CoreBundle/Entity/SkillRelItemRelUser.php
  44. 4
      src/CoreBundle/Entity/SkillRelProfile.php
  45. 4
      src/CoreBundle/Entity/SkillRelSkill.php
  46. 15
      src/CoreBundle/Entity/SkillRelUser.php
  47. 4
      src/CoreBundle/Entity/SkillRelUserComment.php
  48. 2
      src/CoreBundle/Entity/SocialPostAttachment.php
  49. 4
      src/CoreBundle/Entity/SocialPostFeedback.php
  50. 6
      src/CoreBundle/Entity/SysAnnouncement.php
  51. 2
      src/CoreBundle/Entity/SysCalendar.php
  52. 9
      src/CoreBundle/Entity/Tag.php
  53. 7
      src/CoreBundle/Entity/Templates.php
  54. 14
      src/CoreBundle/Entity/Ticket.php
  55. 4
      src/CoreBundle/Entity/TicketAssignedLog.php
  56. 2
      src/CoreBundle/Entity/TicketCategory.php
  57. 4
      src/CoreBundle/Entity/TicketCategoryRelUser.php
  58. 2
      src/CoreBundle/Entity/TicketMessage.php
  59. 4
      src/CoreBundle/Entity/TicketMessageAttachment.php
  60. 2
      src/CoreBundle/Entity/Tool.php
  61. 2
      src/CoreBundle/Entity/ToolResourceRight.php
  62. 2
      src/CoreBundle/Entity/TrackEAccessComplete.php
  63. 5
      src/CoreBundle/Entity/TrackECourseAccess.php
  64. 2
      src/CoreBundle/Entity/TrackEHotspot.php
  65. 2
      src/CoreBundle/Entity/TrackELogin.php
  66. 4
      src/CoreBundle/Entity/UserRelTag.php
  67. 4
      src/CoreBundle/Entity/UsergroupRelCourse.php
  68. 4
      src/CoreBundle/Entity/UsergroupRelQuestion.php
  69. 4
      src/CoreBundle/Entity/UsergroupRelUser.php
  70. 7
      src/CoreBundle/Migrations/MigrationFactory.php
  71. 7
      src/CoreBundle/Repository/ResourceRepository.php
  72. 12
      src/CoreBundle/Tool/AbstractTool.php
  73. 2
      src/CoreBundle/Tool/ToolChain.php
  74. 4
      src/CoreBundle/Tool/UserGroup.php
  75. 5
      src/CourseBundle/Entity/CAnnouncementAttachment.php
  76. 9
      src/CourseBundle/Entity/CAttendance.php
  77. 4
      src/CourseBundle/Entity/CAttendanceSheetLog.php
  78. 3
      src/CourseBundle/Entity/CChatConversation.php
  79. 5
      src/CourseBundle/Entity/CExerciseCategory.php
  80. 4
      src/CourseBundle/Entity/CGroupRelTutor.php
  81. 3
      src/CourseBundle/Entity/CLinkCategory.php
  82. 5
      src/CourseBundle/Entity/CLpCategory.php
  83. 4
      src/CourseBundle/Entity/CLpCategoryRelUser.php
  84. 2
      src/CourseBundle/Entity/CLpItem.php
  85. 8
      src/CourseBundle/Entity/CLpRelUserGroup.php
  86. 8
      src/CourseBundle/Entity/CLpView.php
  87. 2
      src/CourseBundle/Entity/CQuizAnswer.php
  88. 5
      src/CourseBundle/Entity/CQuizQuestionCategory.php
  89. 4
      src/CourseBundle/Entity/CQuizRelQuestion.php
  90. 4
      src/CourseBundle/Entity/CQuizRelQuestionCategory.php
  91. 5
      src/CourseBundle/Entity/CShortcut.php
  92. 9
      src/CourseBundle/Entity/CSurvey.php
  93. 7
      src/CourseBundle/Entity/CThematic.php
  94. 15
      src/CourseBundle/Repository/CQuizRepository.php
  95. 2
      src/LtiBundle/Controller/CourseController.php
  96. 6
      src/LtiBundle/Controller/ServiceController.php

@ -221,6 +221,7 @@
"pre-update-cmd": [
],
"phpcs": "@php vendor/bin/ecs check --no-interaction",
"phpcs-fix": "@php vendor/bin/ecs check --no-interaction --fix",
"psalm": "@php vendor/bin/psalm --show-info=false",
"phpstan": "@php vendor/bin/phpstan analyse --no-interaction"
}

@ -107,9 +107,9 @@ class CourseController extends ToolBaseController
->getSetting('course.allow_public_course_with_no_terms_conditions')
;
if (true === $allow &&
null !== $course->getVisibility() &&
Course::OPEN_WORLD === $course->getVisibility()
if (true === $allow
&& null !== $course->getVisibility()
&& Course::OPEN_WORLD === $course->getVisibility()
) {
$redirect = false;
}
@ -193,8 +193,8 @@ class CourseController extends ToolBaseController
$isSpecialCourse = CourseManager::isSpecialCourse($courseId);
if ($user && $isSpecialCourse && (isset($_GET['autoreg']) && 1 === (int) $_GET['autoreg']) &&
CourseManager::subscribeUser($userId, $courseId, STUDENT)
if ($user && $isSpecialCourse && (isset($_GET['autoreg']) && 1 === (int) $_GET['autoreg'])
&& CourseManager::subscribeUser($userId, $courseId, STUDENT)
) {
$sessionHandler->set('is_allowed_in_course', true);
}
@ -238,18 +238,21 @@ class CourseController extends ToolBaseController
if ($isInASession && null === $linkSessionId && ResourceLink::VISIBILITY_DRAFT === $link->getVisibility()) {
$hasNullSessionIdDraftLink = true;
$selectedLink = $link;
break;
}
if ($linkSessionId === $currentSessionId) {
$selectedLink = $link;
break;
} elseif ($linkSessionId === null && !$selectedLink) {
}
if (null === $linkSessionId && !$selectedLink) {
$selectedLink = $link;
}
}
if ($hasNullSessionIdDraftLink || ($isInASession && (null === $linkSessionId && ResourceLink::VISIBILITY_DRAFT === $selectedLink->getVisibility()))) {
if ($hasNullSessionIdDraftLink || ($isInASession && (null === $linkSessionId && ResourceLink::VISIBILITY_DRAFT === $selectedLink->getVisibility()))) {
continue;
}

@ -283,6 +283,7 @@ class ResourceController extends AbstractResourceController implements CourseCon
foreach ($resourceNode->getResourceLinks() as $resourceLink) {
if ($resourceLink->getSession() === $session) {
$link = $resourceLink;
break;
}
}
@ -292,7 +293,8 @@ class ResourceController extends AbstractResourceController implements CourseCon
$link->setResourceNode($resourceNode)
->setSession($session)
->setCourse($course)
->setVisibility(ResourceLink::VISIBILITY_DRAFT);
->setVisibility(ResourceLink::VISIBILITY_DRAFT)
;
$entityManager->persist($link);
} else {
if (ResourceLink::VISIBILITY_PUBLISHED === $link->getVisibility()) {
@ -367,11 +369,13 @@ class ResourceController extends AbstractResourceController implements CourseCon
}
$resourceNode = $item->getResourceNode();
/** @var ResourceLink $link */
$link = null;
foreach ($resourceNode->getResourceLinks() as $resourceLink) {
if ($resourceLink->getSession() === $session) {
$link = $resourceLink;
break;
}
}
@ -381,7 +385,8 @@ class ResourceController extends AbstractResourceController implements CourseCon
$link->setResourceNode($resourceNode)
->setSession($session)
->setCourse($course)
->setVisibility(ResourceLink::VISIBILITY_DRAFT);
->setVisibility(ResourceLink::VISIBILITY_DRAFT)
;
$entityManager->persist($link);
}

@ -22,16 +22,16 @@ class AttemptFeedback
protected Uuid $id;
#[Assert\NotNull]
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\TrackEAttempt::class, inversedBy: 'attemptFeedbacks')]
#[ORM\ManyToOne(targetEntity: TrackEAttempt::class, inversedBy: 'attemptFeedbacks')]
#[ORM\JoinColumn(name: 'attempt_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected TrackEAttempt $attempt;
#[Assert\NotNull]
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class)]
#[ORM\ManyToOne(targetEntity: User::class)]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected User $user;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Asset::class, cascade: ['remove'])]
#[ORM\ManyToOne(targetEntity: Asset::class, cascade: ['remove'])]
#[ORM\JoinColumn(name: 'asset_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected ?Asset $asset = null;

@ -18,15 +18,15 @@ class ExtraFieldOptionRelFieldOption
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\ExtraFieldOptions::class)]
#[ORM\ManyToOne(targetEntity: ExtraFieldOptions::class)]
#[ORM\JoinColumn(name: 'field_option_id', referencedColumnName: 'id')]
protected ExtraFieldOptions $extraFieldOption;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\ExtraFieldOptions::class)]
#[ORM\ManyToOne(targetEntity: ExtraFieldOptions::class)]
#[ORM\JoinColumn(name: 'related_field_option_id', referencedColumnName: 'id')]
protected ExtraFieldOptions $relatedFieldOption;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\ExtraField::class)]
#[ORM\ManyToOne(targetEntity: ExtraField::class)]
#[ORM\JoinColumn(name: 'field_id', referencedColumnName: 'id')]
protected ExtraField $field;

@ -6,12 +6,13 @@ declare(strict_types=1);
namespace Chamilo\CoreBundle\Entity;
use Chamilo\CoreBundle\Repository\ExtraFieldOptionsRepository;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Symfony\Component\Validator\Constraints as Assert;
#[ORM\Table(name: 'extra_field_options')]
#[ORM\Entity(repositoryClass: \Chamilo\CoreBundle\Repository\ExtraFieldOptionsRepository::class)]
#[ORM\Entity(repositoryClass: ExtraFieldOptionsRepository::class)]
#[ORM\MappedSuperclass]
class ExtraFieldOptions
{
@ -21,7 +22,7 @@ class ExtraFieldOptions
protected ?int $id = null;
#[Assert\NotNull]
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\ExtraField::class, inversedBy: 'options')]
#[ORM\ManyToOne(targetEntity: ExtraField::class, inversedBy: 'options')]
#[ORM\JoinColumn(name: 'field_id', referencedColumnName: 'id')]
protected ExtraField $field;

@ -22,11 +22,11 @@ class ExtraFieldSavedSearch
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\ExtraField::class)]
#[ORM\ManyToOne(targetEntity: ExtraField::class)]
#[ORM\JoinColumn(name: 'field_id', referencedColumnName: 'id')]
protected ExtraField $field;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class)]
#[ORM\ManyToOne(targetEntity: User::class)]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')]
protected User $user;

@ -29,7 +29,7 @@ class GradeComponents
#[ORM\Column(name: 'acronym', type: 'string', length: 255, nullable: false)]
protected string $acronym;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\GradeModel::class)]
#[ORM\ManyToOne(targetEntity: GradeModel::class)]
#[ORM\JoinColumn(name: 'grade_model_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected GradeModel $gradeModel;

@ -32,11 +32,11 @@ class GradebookCategory
#[ORM\Column(name: 'description', type: 'text', nullable: true)]
protected ?string $description;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class, inversedBy: 'gradeBookCategories')]
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'gradeBookCategories')]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')]
protected User $user;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Course::class, inversedBy: 'gradebookCategories')]
#[ORM\ManyToOne(targetEntity: Course::class, inversedBy: 'gradebookCategories')]
#[ORM\JoinColumn(name: 'c_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected Course $course;
@ -50,35 +50,35 @@ class GradebookCategory
#[ORM\OneToMany(targetEntity: self::class, mappedBy: 'parent')]
protected Collection $subCategories;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Session::class)]
#[ORM\ManyToOne(targetEntity: Session::class)]
#[ORM\JoinColumn(name: 'session_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected ?Session $session = null;
/**
* @var SkillRelGradebook[]|Collection
*/
#[ORM\OneToMany(targetEntity: \Chamilo\CoreBundle\Entity\SkillRelGradebook::class, mappedBy: 'gradeBookCategory')]
#[ORM\OneToMany(targetEntity: SkillRelGradebook::class, mappedBy: 'gradeBookCategory')]
protected Collection $skills;
/**
* @var Collection|GradebookEvaluation[]
*/
#[ORM\OneToMany(targetEntity: \Chamilo\CoreBundle\Entity\GradebookEvaluation::class, mappedBy: 'category', cascade: ['persist', 'remove'])]
#[ORM\OneToMany(targetEntity: GradebookEvaluation::class, mappedBy: 'category', cascade: ['persist', 'remove'])]
protected Collection $evaluations;
/**
* @var Collection|GradebookLink[]
*/
#[ORM\OneToMany(targetEntity: \Chamilo\CoreBundle\Entity\GradebookLink::class, mappedBy: 'category', cascade: ['persist', 'remove'])]
#[ORM\OneToMany(targetEntity: GradebookLink::class, mappedBy: 'category', cascade: ['persist', 'remove'])]
protected Collection $links;
/**
* @var Collection|GradebookComment[]
*/
#[ORM\OneToMany(targetEntity: \Chamilo\CoreBundle\Entity\GradebookComment::class, mappedBy: 'gradeBook')]
#[ORM\OneToMany(targetEntity: GradebookComment::class, mappedBy: 'gradeBook')]
protected Collection $comments;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\GradeModel::class)]
#[ORM\ManyToOne(targetEntity: GradeModel::class)]
#[ORM\JoinColumn(name: 'grade_model_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected ?GradeModel $gradeModel = null;

@ -23,11 +23,11 @@ class GradebookCertificate
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\GradebookCategory::class)]
#[ORM\ManyToOne(targetEntity: GradebookCategory::class)]
#[ORM\JoinColumn(name: 'cat_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected GradebookCategory $category;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class, inversedBy: 'gradeBookCertificates')]
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'gradeBookCertificates')]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected User $user;

@ -22,11 +22,11 @@ class GradebookComment
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class, inversedBy: 'gradeBookComments')]
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'gradeBookComments')]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected User $user;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\GradebookCategory::class, inversedBy: 'comments')]
#[ORM\ManyToOne(targetEntity: GradebookCategory::class, inversedBy: 'comments')]
#[ORM\JoinColumn(name: 'gradebook_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected GradebookCategory $gradeBook;

@ -33,15 +33,15 @@ class GradebookEvaluation
#[ORM\Column(name: 'description', type: 'text', nullable: true)]
protected ?string $description = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class, inversedBy: 'gradeBookEvaluations')]
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'gradeBookEvaluations')]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected User $user;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Course::class, inversedBy: 'gradebookEvaluations')]
#[ORM\ManyToOne(targetEntity: Course::class, inversedBy: 'gradebookEvaluations')]
#[ORM\JoinColumn(name: 'c_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected Course $course;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\GradebookCategory::class, inversedBy: 'evaluations')]
#[ORM\ManyToOne(targetEntity: GradebookCategory::class, inversedBy: 'evaluations')]
#[ORM\JoinColumn(name: 'category_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected GradebookCategory $category;

@ -34,15 +34,15 @@ class GradebookLink
#[ORM\Column(name: 'ref_id', type: 'integer', nullable: false)]
protected int $refId;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class, inversedBy: 'gradeBookLinks')]
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'gradeBookLinks')]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected User $user;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Course::class, inversedBy: 'gradebookLinks')]
#[ORM\ManyToOne(targetEntity: Course::class, inversedBy: 'gradebookLinks')]
#[ORM\JoinColumn(name: 'c_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected Course $course;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\GradebookCategory::class, inversedBy: 'links')]
#[ORM\ManyToOne(targetEntity: GradebookCategory::class, inversedBy: 'links')]
#[ORM\JoinColumn(name: 'category_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected GradebookCategory $category;

@ -23,11 +23,11 @@ class GradebookResult
#[ORM\GeneratedValue(strategy: 'IDENTITY')]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\GradebookEvaluation::class)]
#[ORM\ManyToOne(targetEntity: GradebookEvaluation::class)]
#[ORM\JoinColumn(name: 'evaluation_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected GradebookEvaluation $evaluation;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class, inversedBy: 'gradeBookResults')]
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'gradeBookResults')]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected User $user;

@ -26,7 +26,7 @@ class GradebookResultAttempt
#[ORM\Column(name: 'score', type: 'float', nullable: true)]
protected ?float $score = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\GradebookResult::class)]
#[ORM\ManyToOne(targetEntity: GradebookResult::class)]
#[ORM\JoinColumn(name: 'result_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected GradebookResult $result;

@ -27,7 +27,7 @@ class GradebookScoreDisplay
#[ORM\Column(name: 'display', type: 'string', length: 40, nullable: false)]
protected ?string $display = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\GradebookCategory::class)]
#[ORM\ManyToOne(targetEntity: GradebookCategory::class)]
#[ORM\JoinColumn(name: 'category_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected GradebookCategory $category;

@ -26,11 +26,11 @@ class GradebookScoreLog
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\GradebookCategory::class)]
#[ORM\ManyToOne(targetEntity: GradebookCategory::class)]
#[ORM\JoinColumn(name: 'category_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected GradebookCategory $category;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class, inversedBy: 'gradeBookScoreLogs')]
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'gradeBookScoreLogs')]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected User $user;

@ -31,7 +31,7 @@ class Group implements Stringable
/**
* @var User[]|Collection
*/
#[ORM\ManyToMany(targetEntity: \Chamilo\CoreBundle\Entity\User::class, mappedBy: 'groups')]
#[ORM\ManyToMany(targetEntity: User::class, mappedBy: 'groups')]
protected Collection $users;
public function __construct(

@ -7,6 +7,7 @@ declare(strict_types=1);
namespace Chamilo\CoreBundle\Entity;
use ApiPlatform\Metadata\ApiResource;
use Chamilo\CoreBundle\Repository\Node\IllustrationRepository;
use Chamilo\CoreBundle\Traits\PersonalResourceTrait;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Timestampable\Traits\TimestampableEntity;
@ -16,7 +17,7 @@ use Symfony\Component\Validator\Constraints as Assert;
#[ApiResource(normalizationContext: ['groups' => ['illustration:read']])]
#[ORM\Table(name: 'illustration')]
#[ORM\Entity(repositoryClass: \Chamilo\CoreBundle\Repository\Node\IllustrationRepository::class)]
#[ORM\Entity(repositoryClass: IllustrationRepository::class)]
class Illustration extends AbstractResource implements ResourceInterface, Stringable
{
use PersonalResourceTrait;

@ -6,13 +6,14 @@ declare(strict_types=1);
namespace Chamilo\CoreBundle\Entity;
use Chamilo\CoreBundle\Repository\LegalRepository;
use Doctrine\ORM\Mapping as ORM;
/**
* Legal.
*/
#[ORM\Table(name: 'legal')]
#[ORM\Entity(repositoryClass: \Chamilo\CoreBundle\Repository\LegalRepository::class)]
#[ORM\Entity(repositoryClass: LegalRepository::class)]
class Legal
{
#[ORM\Column(name: 'id', type: 'integer')]

@ -33,7 +33,7 @@ class Level implements Stringable
protected string $shortName;
#[Gedmo\SortableGroup]
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Profile::class, inversedBy: 'levels')]
#[ORM\ManyToOne(targetEntity: Profile::class, inversedBy: 'levels')]
#[ORM\JoinColumn(name: 'profile_id', referencedColumnName: 'id')]
protected ?Profile $profile = null;

@ -80,17 +80,17 @@ class Page
protected string $locale;
#[Assert\NotNull]
#[Groups(['page:read', 'page:write'])]
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\AccessUrl::class, cascade: ['persist'])]
#[ORM\ManyToOne(targetEntity: AccessUrl::class, cascade: ['persist'])]
#[ORM\JoinColumn(name: 'access_url_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected AccessUrl $url;
#[Assert\NotNull]
#[Groups(['page:read', 'page:write'])]
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class)]
#[ORM\ManyToOne(targetEntity: User::class)]
#[ORM\JoinColumn(name: 'creator_id', referencedColumnName: 'id', nullable: true, onDelete: 'CASCADE')]
protected User $creator;
#[Groups(['page:read', 'page:write'])]
#[Gedmo\SortableGroup]
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\PageCategory::class, inversedBy: 'pages')]
#[ORM\ManyToOne(targetEntity: PageCategory::class, inversedBy: 'pages')]
#[ORM\JoinColumn(name: 'category_id', referencedColumnName: 'id', onDelete: 'SET NULL')]
protected ?PageCategory $category = null;
public function __construct()

@ -34,15 +34,15 @@ class Portfolio
#[ORM\Column(name: 'content', type: 'text')]
protected string $content;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class)]
#[ORM\ManyToOne(targetEntity: User::class)]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: false)]
protected User $user;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Course::class)]
#[ORM\ManyToOne(targetEntity: Course::class)]
#[ORM\JoinColumn(name: 'c_id', referencedColumnName: 'id')]
protected Course $course;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Session::class)]
#[ORM\ManyToOne(targetEntity: Session::class)]
#[ORM\JoinColumn(name: 'session_id', referencedColumnName: 'id')]
protected Session $session;
@ -55,7 +55,7 @@ class Portfolio
#[ORM\Column(name: 'is_visible', type: 'boolean', options: ['default' => true])]
protected bool $isVisible = true;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\PortfolioCategory::class, inversedBy: 'items')]
#[ORM\ManyToOne(targetEntity: PortfolioCategory::class, inversedBy: 'items')]
#[ORM\JoinColumn(name: 'category_id', referencedColumnName: 'id')]
protected PortfolioCategory $category;

@ -30,14 +30,14 @@ class PortfolioCategory implements Stringable
#[ORM\Column(name: 'description', type: 'text', nullable: true)]
protected ?string $description = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class)]
#[ORM\ManyToOne(targetEntity: User::class)]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')]
protected User $user;
#[ORM\Column(name: 'is_visible', type: 'boolean', options: ['default' => true])]
protected bool $isVisible = true;
#[ORM\OneToMany(targetEntity: \Chamilo\CoreBundle\Entity\Portfolio::class, mappedBy: 'category')]
#[ORM\OneToMany(targetEntity: Portfolio::class, mappedBy: 'category')]
protected ArrayCollection $items;
public function __construct()

@ -33,20 +33,20 @@ class Promotion
#[ORM\Column(name: 'description', type: 'text', nullable: false)]
protected ?string $description = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Career::class, inversedBy: 'promotions')]
#[ORM\ManyToOne(targetEntity: Career::class, inversedBy: 'promotions')]
#[ORM\JoinColumn(name: 'career_id', referencedColumnName: 'id')]
protected Career $career;
/**
* @var Collection|Session[]
*/
#[ORM\OneToMany(targetEntity: \Chamilo\CoreBundle\Entity\Session::class, mappedBy: 'promotion', cascade: ['persist'])]
#[ORM\OneToMany(targetEntity: Session::class, mappedBy: 'promotion', cascade: ['persist'])]
protected Collection $sessions;
/**
* @var Collection|SysAnnouncement[]
*/
#[ORM\OneToMany(targetEntity: \Chamilo\CoreBundle\Entity\SysAnnouncement::class, mappedBy: 'promotion', cascade: ['persist'])]
#[ORM\OneToMany(targetEntity: SysAnnouncement::class, mappedBy: 'promotion', cascade: ['persist'])]
protected Collection $announcements;
#[ORM\Column(name: 'status', type: 'integer', nullable: false)]

@ -24,7 +24,7 @@ class ResourceTag
#[ORM\Column(name: 'name', type: 'string', nullable: false)]
protected string $name;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class)]
#[ORM\ManyToOne(targetEntity: User::class)]
#[ORM\JoinColumn(name: 'author_id', referencedColumnName: 'id', onDelete: 'SET NULL')]
protected ?User $author = null;
}

@ -21,11 +21,11 @@ class ResourceUserTag
#[ORM\GeneratedValue(strategy: 'AUTO')]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class)]
#[ORM\ManyToOne(targetEntity: User::class)]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'SET NULL')]
protected ?User $user = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Resource\ResourceTag::class)]
#[ORM\ManyToOne(targetEntity: ResourceTag::class)]
#[ORM\JoinColumn(name: 'tag_id', referencedColumnName: 'id', onDelete: 'SET NULL')]
protected ?ResourceTag $tag = null;
}

@ -121,7 +121,7 @@ class ResourceNode implements Stringable
#[Assert\NotNull]
#[Groups(['resource_node:read', 'resource_node:write', 'document:write'])]
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class, cascade: ['persist'], inversedBy: 'resourceNodes')]
#[ORM\ManyToOne(targetEntity: User::class, cascade: ['persist'], inversedBy: 'resourceNodes')]
#[ORM\JoinColumn(name: 'creator_id', referencedColumnName: 'id', nullable: true, onDelete: 'CASCADE')]
protected User $creator;

@ -18,7 +18,7 @@ class ResourceRight implements Stringable
#[ORM\GeneratedValue(strategy: 'AUTO')]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\ResourceLink::class, inversedBy: 'resourceRights')]
#[ORM\ManyToOne(targetEntity: ResourceLink::class, inversedBy: 'resourceRights')]
#[ORM\JoinColumn(name: 'resource_link_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected ?ResourceLink $resourceLink = null;

@ -31,14 +31,14 @@ class ResourceType implements Stringable
#[Groups(['resource_node:read'])]
protected string $name;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Tool::class, inversedBy: 'resourceTypes')]
#[ORM\ManyToOne(targetEntity: Tool::class, inversedBy: 'resourceTypes')]
#[ORM\JoinColumn(name: 'tool_id', referencedColumnName: 'id')]
protected Tool $tool;
/**
* @var ResourceNode[]|Collection
*/
#[ORM\OneToMany(targetEntity: \Chamilo\CoreBundle\Entity\ResourceNode::class, mappedBy: 'resourceType', cascade: ['persist', 'remove'])]
#[ORM\OneToMany(targetEntity: ResourceNode::class, mappedBy: 'resourceType', cascade: ['persist', 'remove'])]
protected Collection $resourceNodes;
public function __construct()

@ -37,7 +37,7 @@ class Room
#[ORM\Column(name: 'ip_mask', type: 'string', length: 6, nullable: true, unique: false)]
protected ?string $ipMask = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\BranchSync::class)]
#[ORM\ManyToOne(targetEntity: BranchSync::class)]
#[ORM\JoinColumn(name: 'branch_id', referencedColumnName: 'id')]
protected BranchSync $branch;

@ -15,7 +15,7 @@ use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity]
class SearchEngineRef
{
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Course::class, inversedBy: 'searchEngineRefs')]
#[ORM\ManyToOne(targetEntity: Course::class, inversedBy: 'searchEngineRefs')]
#[ORM\JoinColumn(name: 'c_id', referencedColumnName: 'id')]
protected ?Course $course = null;
@ -39,7 +39,7 @@ class SearchEngineRef
/**
* Set course.
*
* @return \Chamilo\CoreBundle\Entity\SearchEngineRef
* @return SearchEngineRef
*/
public function setCourse(Course $course)
{

@ -6,13 +6,14 @@ declare(strict_types=1);
namespace Chamilo\CoreBundle\Entity;
use Chamilo\CoreBundle\Repository\SequenceRepository;
use Doctrine\ORM\Mapping as ORM;
use Fhaculty\Graph\Graph;
use Gedmo\Timestampable\Traits\TimestampableEntity;
use Stringable;
#[ORM\Table(name: 'sequence')]
#[ORM\Entity(repositoryClass: \Chamilo\CoreBundle\Repository\SequenceRepository::class)]
#[ORM\Entity(repositoryClass: SequenceRepository::class)]
class Sequence implements Stringable
{
use TimestampableEntity;

@ -17,11 +17,11 @@ class SequenceFormula
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\SequenceMethod::class)]
#[ORM\ManyToOne(targetEntity: SequenceMethod::class)]
#[ORM\JoinColumn(name: 'sequence_method_id', referencedColumnName: 'id')]
protected ?SequenceMethod $method = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\SequenceVariable::class)]
#[ORM\ManyToOne(targetEntity: SequenceVariable::class)]
#[ORM\JoinColumn(name: 'sequence_variable_id', referencedColumnName: 'id')]
protected ?SequenceVariable $variable = null;

@ -6,10 +6,11 @@ declare(strict_types=1);
namespace Chamilo\CoreBundle\Entity;
use Chamilo\CoreBundle\Repository\SequenceResourceRepository;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Table(name: 'sequence_resource')]
#[ORM\Entity(repositoryClass: \Chamilo\CoreBundle\Repository\SequenceResourceRepository::class)]
#[ORM\Entity(repositoryClass: SequenceResourceRepository::class)]
class SequenceResource
{
public const COURSE_TYPE = 1;
@ -20,7 +21,7 @@ class SequenceResource
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Sequence::class)]
#[ORM\ManyToOne(targetEntity: Sequence::class)]
#[ORM\JoinColumn(name: 'sequence_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected Sequence $sequence;

@ -17,11 +17,11 @@ class SequenceRuleCondition
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\SequenceRule::class)]
#[ORM\ManyToOne(targetEntity: SequenceRule::class)]
#[ORM\JoinColumn(name: 'sequence_rule_id', referencedColumnName: 'id')]
protected ?SequenceRule $rule = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\SequenceCondition::class)]
#[ORM\ManyToOne(targetEntity: SequenceCondition::class)]
#[ORM\JoinColumn(name: 'sequence_condition_id', referencedColumnName: 'id')]
protected ?SequenceCondition $condition = null;

@ -17,11 +17,11 @@ class SequenceValid
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\SequenceVariable::class)]
#[ORM\ManyToOne(targetEntity: SequenceVariable::class)]
#[ORM\JoinColumn(name: 'sequence_variable_id', referencedColumnName: 'id')]
protected ?SequenceVariable $variable = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\SequenceCondition::class)]
#[ORM\ManyToOne(targetEntity: SequenceCondition::class)]
#[ORM\JoinColumn(name: 'sequence_condition_id', referencedColumnName: 'id')]
protected ?SequenceCondition $condition = null;

@ -21,11 +21,11 @@ class SequenceValue
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class, inversedBy: 'sequenceValues')]
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'sequenceValues')]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected User $user;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\SequenceRowEntity::class)]
#[ORM\ManyToOne(targetEntity: SequenceRowEntity::class)]
#[ORM\JoinColumn(name: 'sequence_row_entity_id', referencedColumnName: 'id')]
protected ?SequenceRowEntity $entity = null;

@ -8,6 +8,7 @@ namespace Chamilo\CoreBundle\Entity;
use ApiPlatform\Metadata\ApiResource;
use ApiPlatform\Metadata\Get;
use Chamilo\CoreBundle\Repository\SkillRepository;
use DateTime;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
@ -19,7 +20,7 @@ use Symfony\Component\Validator\Constraints as Assert;
#[ApiResource(security: 'is_granted(\'ROLE_ADMIN\')', normalizationContext: ['groups' => ['skill:read']])]
#[ORM\Table(name: 'skill')]
#[ORM\Entity(repositoryClass: \Chamilo\CoreBundle\Repository\SkillRepository::class)]
#[ORM\Entity(repositoryClass: SkillRepository::class)]
class Skill implements Stringable
{
public const STATUS_DISABLED = 0;

@ -24,15 +24,15 @@ class SkillRelCourse
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Skill::class, inversedBy: 'courses')]
#[ORM\ManyToOne(targetEntity: Skill::class, inversedBy: 'courses')]
#[ORM\JoinColumn(name: 'skill_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected Skill $skill;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Course::class, inversedBy: 'skills', cascade: ['persist'])]
#[ORM\ManyToOne(targetEntity: Course::class, inversedBy: 'skills', cascade: ['persist'])]
#[ORM\JoinColumn(name: 'c_id', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')]
protected Course $course;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Session::class, inversedBy: 'skills', cascade: ['persist'])]
#[ORM\ManyToOne(targetEntity: Session::class, inversedBy: 'skills', cascade: ['persist'])]
#[ORM\JoinColumn(name: 'session_id', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')]
protected ?Session $session = null;

@ -17,11 +17,11 @@ class SkillRelGradebook
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Skill::class, inversedBy: 'gradeBookCategories')]
#[ORM\ManyToOne(targetEntity: Skill::class, inversedBy: 'gradeBookCategories')]
#[ORM\JoinColumn(name: 'skill_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected Skill $skill;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\GradebookCategory::class, inversedBy: 'skills')]
#[ORM\ManyToOne(targetEntity: GradebookCategory::class, inversedBy: 'skills')]
#[ORM\JoinColumn(name: 'gradebook_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected GradebookCategory $gradeBookCategory;

@ -21,7 +21,7 @@ class SkillRelItem
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Skill::class, inversedBy: 'items')]
#[ORM\ManyToOne(targetEntity: Skill::class, inversedBy: 'items')]
#[ORM\JoinColumn(name: 'skill_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected Skill $skill;

@ -23,11 +23,11 @@ class SkillRelItemRelUser
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\SkillRelItem::class, cascade: ['persist'])]
#[ORM\ManyToOne(targetEntity: SkillRelItem::class, cascade: ['persist'])]
#[ORM\JoinColumn(name: 'skill_rel_item_id', referencedColumnName: 'id', nullable: false)]
protected SkillRelItem $skillRelItem;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class, cascade: ['persist'])]
#[ORM\ManyToOne(targetEntity: User::class, cascade: ['persist'])]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: false)]
protected User $user;

@ -17,11 +17,11 @@ class SkillRelProfile
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Skill::class, cascade: ['persist'])]
#[ORM\ManyToOne(targetEntity: Skill::class, cascade: ['persist'])]
#[ORM\JoinColumn(name: 'skill_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected Skill $skill;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\SkillProfile::class, cascade: ['persist'])]
#[ORM\ManyToOne(targetEntity: SkillProfile::class, cascade: ['persist'])]
#[ORM\JoinColumn(name: 'profile_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected SkillProfile $profile;

@ -18,11 +18,11 @@ class SkillRelSkill
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Skill::class, inversedBy: 'skills')]
#[ORM\ManyToOne(targetEntity: Skill::class, inversedBy: 'skills')]
#[ORM\JoinColumn(name: 'skill_id', referencedColumnName: 'id')]
protected Skill $skill;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Skill::class)]
#[ORM\ManyToOne(targetEntity: Skill::class)]
#[ORM\JoinColumn(name: 'parent_id', referencedColumnName: 'id', onDelete: 'SET NULL')]
protected ?Skill $parent = null;

@ -6,6 +6,7 @@ declare(strict_types=1);
namespace Chamilo\CoreBundle\Entity;
use Chamilo\CoreBundle\Entity\Listener\SkillRelUserListener;
use Chamilo\CoreBundle\Traits\UserTrait;
use DateTime;
use Doctrine\Common\Collections\ArrayCollection;
@ -19,7 +20,7 @@ use Symfony\Component\Validator\Constraints as Assert;
#[ORM\Index(name: 'idx_select_s_c_u', columns: ['session_id', 'course_id', 'user_id'])]
#[ORM\Index(name: 'idx_select_sk_u', columns: ['skill_id', 'user_id'])]
#[ORM\Entity]
#[ORM\EntityListeners([\Chamilo\CoreBundle\Entity\Listener\SkillRelUserListener::class])]
#[ORM\EntityListeners([SkillRelUserListener::class])]
class SkillRelUser
{
use UserTrait;
@ -29,29 +30,29 @@ class SkillRelUser
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class, inversedBy: 'achievedSkills', cascade: ['persist'])]
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'achievedSkills', cascade: ['persist'])]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')]
protected User $user;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Skill::class, inversedBy: 'issuedSkills', cascade: ['persist'])]
#[ORM\ManyToOne(targetEntity: Skill::class, inversedBy: 'issuedSkills', cascade: ['persist'])]
#[ORM\JoinColumn(name: 'skill_id', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')]
protected ?Skill $skill = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Course::class, inversedBy: 'issuedSkills', cascade: ['persist'])]
#[ORM\ManyToOne(targetEntity: Course::class, inversedBy: 'issuedSkills', cascade: ['persist'])]
#[ORM\JoinColumn(name: 'course_id', referencedColumnName: 'id', nullable: true, onDelete: 'CASCADE')]
protected ?Course $course = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Session::class, inversedBy: 'issuedSkills', cascade: ['persist'])]
#[ORM\ManyToOne(targetEntity: Session::class, inversedBy: 'issuedSkills', cascade: ['persist'])]
#[ORM\JoinColumn(name: 'session_id', referencedColumnName: 'id', nullable: true, onDelete: 'CASCADE')]
protected ?Session $session = null;
/**
* @var Collection<int, SkillRelUserComment>
*/
#[ORM\OneToMany(targetEntity: \Chamilo\CoreBundle\Entity\SkillRelUserComment::class, mappedBy: 'skillRelUser', cascade: ['persist', 'remove'], orphanRemoval: true)]
#[ORM\OneToMany(targetEntity: SkillRelUserComment::class, mappedBy: 'skillRelUser', cascade: ['persist', 'remove'], orphanRemoval: true)]
protected Collection $comments;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Level::class)]
#[ORM\ManyToOne(targetEntity: Level::class)]
#[ORM\JoinColumn(name: 'acquired_level', referencedColumnName: 'id')]
protected ?Level $acquiredLevel = null;

@ -19,11 +19,11 @@ class SkillRelUserComment
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\SkillRelUser::class, inversedBy: 'comments')]
#[ORM\ManyToOne(targetEntity: SkillRelUser::class, inversedBy: 'comments')]
#[ORM\JoinColumn(name: 'skill_rel_user_id', referencedColumnName: 'id')]
protected ?SkillRelUser $skillRelUser = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class, inversedBy: 'commentedUserSkills')]
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'commentedUserSkills')]
#[ORM\JoinColumn(name: 'feedback_giver_id', referencedColumnName: 'id')]
protected ?User $feedbackGiver = null;

@ -66,7 +66,7 @@ class SocialPostAttachment extends AbstractResource implements ResourceInterface
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\SocialPost::class, inversedBy: 'attachments')]
#[ORM\ManyToOne(targetEntity: SocialPost::class, inversedBy: 'attachments')]
#[ORM\JoinColumn(name: 'social_post_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected SocialPost $socialPost;

@ -24,11 +24,11 @@ class SocialPostFeedback
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\SocialPost::class, inversedBy: 'feedbacks')]
#[ORM\ManyToOne(targetEntity: SocialPost::class, inversedBy: 'feedbacks')]
#[ORM\JoinColumn(name: 'social_post_id', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')]
protected SocialPost $socialPost;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class, inversedBy: 'socialPostsFeedbacks')]
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'socialPostsFeedbacks')]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')]
protected User $user;

@ -39,7 +39,7 @@ class SysAnnouncement
#[ORM\Column(name: 'lang', type: 'string', length: 70, nullable: true)]
protected ?string $lang = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\AccessUrl::class)]
#[ORM\ManyToOne(targetEntity: AccessUrl::class)]
#[ORM\JoinColumn(name: 'access_url_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected AccessUrl $url;
@ -51,11 +51,11 @@ class SysAnnouncement
#[ORM\Column(type: 'array')]
protected array $roles = [];
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Career::class)]
#[ORM\ManyToOne(targetEntity: Career::class)]
#[ORM\JoinColumn(name: 'career_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected ?Career $career = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Promotion::class, inversedBy: 'announcements')]
#[ORM\ManyToOne(targetEntity: Promotion::class, inversedBy: 'announcements')]
#[ORM\JoinColumn(name: 'promotion_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected ?Promotion $promotion = null;

@ -33,7 +33,7 @@ class SysCalendar
#[ORM\Column(name: 'end_date', type: 'datetime', nullable: true)]
protected ?DateTime $endDate = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\AccessUrl::class)]
#[ORM\ManyToOne(targetEntity: AccessUrl::class)]
#[ORM\JoinColumn(name: 'access_url_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected AccessUrl $url;

@ -6,13 +6,14 @@ declare(strict_types=1);
namespace Chamilo\CoreBundle\Entity;
use Chamilo\CoreBundle\Repository\TagRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
#[ORM\Table(name: 'tag')]
#[ORM\Entity(repositoryClass: \Chamilo\CoreBundle\Repository\TagRepository::class)]
#[ORM\Entity(repositoryClass: TagRepository::class)]
class Tag
{
#[ORM\Column(name: 'id', type: 'integer')]
@ -24,20 +25,20 @@ class Tag
#[ORM\Column(name: 'tag', type: 'string', length: 255, nullable: false)]
protected string $tag;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\ExtraField::class, inversedBy: 'tags')]
#[ORM\ManyToOne(targetEntity: ExtraField::class, inversedBy: 'tags')]
#[ORM\JoinColumn(name: 'field_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected ExtraField $field;
/**
* @var Collection<int, UserRelTag>|UserRelTag[]
*/
#[ORM\OneToMany(targetEntity: \Chamilo\CoreBundle\Entity\UserRelTag::class, mappedBy: 'tag', cascade: ['persist'])]
#[ORM\OneToMany(targetEntity: UserRelTag::class, mappedBy: 'tag', cascade: ['persist'])]
protected Collection $userRelTags;
/**
* @var Collection<int, ExtraFieldRelTag>|ExtraFieldRelTag[]
*/
#[ORM\OneToMany(targetEntity: \Chamilo\CoreBundle\Entity\ExtraFieldRelTag::class, mappedBy: 'tag', cascade: ['persist'])]
#[ORM\OneToMany(targetEntity: ExtraFieldRelTag::class, mappedBy: 'tag', cascade: ['persist'])]
protected Collection $extraFieldRelTags;
#[ORM\Column(name: 'count', type: 'integer', nullable: false)]

@ -6,6 +6,7 @@ declare(strict_types=1);
namespace Chamilo\CoreBundle\Entity;
use Chamilo\CoreBundle\Repository\TemplatesRepository;
use Chamilo\CoreBundle\Traits\UserTrait;
use Doctrine\ORM\Mapping as ORM;
@ -13,7 +14,7 @@ use Doctrine\ORM\Mapping as ORM;
* Templates.
*/
#[ORM\Table(name: 'templates')]
#[ORM\Entity(repositoryClass: \Chamilo\CoreBundle\Repository\TemplatesRepository::class)]
#[ORM\Entity(repositoryClass: TemplatesRepository::class)]
class Templates
{
use UserTrait;
@ -29,11 +30,11 @@ class Templates
#[ORM\Column(name: 'description', type: 'string', length: 250, nullable: false)]
protected string $description;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Course::class, inversedBy: 'templates', cascade: ['persist'])]
#[ORM\ManyToOne(targetEntity: Course::class, inversedBy: 'templates', cascade: ['persist'])]
#[ORM\JoinColumn(name: 'c_id', referencedColumnName: 'id')]
protected Course $course;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class, inversedBy: 'templates')]
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'templates')]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected User $user;

@ -28,23 +28,23 @@ class Ticket
#[ORM\Column(name: 'message', type: 'text', nullable: true)]
protected ?string $message = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\TicketProject::class)]
#[ORM\ManyToOne(targetEntity: TicketProject::class)]
#[ORM\JoinColumn(name: 'project_id', referencedColumnName: 'id')]
protected TicketProject $project;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\TicketCategory::class)]
#[ORM\ManyToOne(targetEntity: TicketCategory::class)]
#[ORM\JoinColumn(name: 'category_id', referencedColumnName: 'id')]
protected TicketCategory $category;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\TicketPriority::class)]
#[ORM\ManyToOne(targetEntity: TicketPriority::class)]
#[ORM\JoinColumn(name: 'priority_id', referencedColumnName: 'id')]
protected TicketPriority $priority;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Course::class)]
#[ORM\ManyToOne(targetEntity: Course::class)]
#[ORM\JoinColumn(name: 'course_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected Course $course;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Session::class)]
#[ORM\ManyToOne(targetEntity: Session::class)]
#[ORM\JoinColumn(name: 'session_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected Session $session;
@ -52,11 +52,11 @@ class Ticket
#[ORM\Column(name: 'personal_email', type: 'string', length: 255, nullable: false)]
protected string $personalEmail;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class)]
#[ORM\ManyToOne(targetEntity: User::class)]
#[ORM\JoinColumn(name: 'assigned_last_user', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected ?User $assignedLastUser = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\TicketStatus::class)]
#[ORM\ManyToOne(targetEntity: TicketStatus::class)]
#[ORM\JoinColumn(name: 'status_id', referencedColumnName: 'id')]
protected TicketStatus $status;

@ -18,11 +18,11 @@ class TicketAssignedLog
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Ticket::class)]
#[ORM\ManyToOne(targetEntity: Ticket::class)]
#[ORM\JoinColumn(name: 'ticket_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected Ticket $ticket;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class)]
#[ORM\ManyToOne(targetEntity: User::class)]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')]
protected User $user;

@ -33,7 +33,7 @@ class TicketCategory
#[ORM\Column(name: 'course_required', type: 'boolean', nullable: false)]
protected bool $courseRequired;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\TicketProject::class)]
#[ORM\ManyToOne(targetEntity: TicketProject::class)]
#[ORM\JoinColumn(name: 'project_id', referencedColumnName: 'id')]
protected TicketProject $project;

@ -20,11 +20,11 @@ class TicketCategoryRelUser
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\TicketCategory::class)]
#[ORM\ManyToOne(targetEntity: TicketCategory::class)]
#[ORM\JoinColumn(name: 'category_id', referencedColumnName: 'id')]
protected TicketCategory $category;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class)]
#[ORM\ManyToOne(targetEntity: User::class)]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')]
protected TicketCategory $user;
}

@ -31,7 +31,7 @@ class TicketMessage
#[ORM\Column(name: 'ip_address', type: 'string', nullable: false)]
protected string $ipAddress;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Ticket::class)]
#[ORM\ManyToOne(targetEntity: Ticket::class)]
#[ORM\JoinColumn(name: 'ticket_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected Ticket $ticket;

@ -19,11 +19,11 @@ class TicketMessageAttachment extends AbstractResource implements ResourceInterf
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Ticket::class)]
#[ORM\ManyToOne(targetEntity: Ticket::class)]
#[ORM\JoinColumn(name: 'ticket_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected Ticket $ticket;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\TicketMessage::class)]
#[ORM\ManyToOne(targetEntity: TicketMessage::class)]
#[ORM\JoinColumn(name: 'message_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected TicketMessage $message;

@ -34,7 +34,7 @@ class Tool implements Stringable
/**
* @var Collection<int, ResourceType>
*/
#[ORM\OneToMany(targetEntity: \Chamilo\CoreBundle\Entity\ResourceType::class, mappedBy: 'tool', cascade: ['persist', 'remove'])]
#[ORM\OneToMany(targetEntity: ResourceType::class, mappedBy: 'tool', cascade: ['persist', 'remove'])]
protected Collection $resourceTypes;
public function __construct()

@ -28,7 +28,7 @@ class ToolResourceRight implements Stringable
#[ORM\Column(name: 'mask', type: 'integer', nullable: false)]
protected int $mask;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Tool::class, cascade: ['persist'])]
#[ORM\ManyToOne(targetEntity: Tool::class, cascade: ['persist'])]
#[ORM\JoinColumn(name: 'tool_id', referencedColumnName: 'id')]
protected ?Tool $tool = null;

@ -23,7 +23,7 @@ class TrackEAccessComplete
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class, inversedBy: 'trackEAccessCompleteList')]
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'trackEAccessCompleteList')]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE', nullable: false)]
protected User $user;

@ -6,6 +6,7 @@ declare(strict_types=1);
namespace Chamilo\CoreBundle\Entity;
use Chamilo\CoreBundle\Repository\TrackECourseAccessRepository;
use Chamilo\CoreBundle\Traits\UserTrait;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
@ -19,7 +20,7 @@ use Doctrine\ORM\Mapping as ORM;
#[ORM\Index(name: 'login_course_date', columns: ['login_course_date'])]
#[ORM\Index(name: 'session_id', columns: ['session_id'])]
#[ORM\Index(name: 'user_course_session_date', columns: ['user_id', 'c_id', 'session_id', 'login_course_date'])]
#[ORM\Entity(repositoryClass: \Chamilo\CoreBundle\Repository\TrackECourseAccessRepository::class)]
#[ORM\Entity(repositoryClass: TrackECourseAccessRepository::class)]
class TrackECourseAccess
{
use UserTrait;
@ -32,7 +33,7 @@ class TrackECourseAccess
#[ORM\Column(name: 'c_id', type: 'integer', nullable: false)]
protected int $cId;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class, inversedBy: 'trackECourseAccess')]
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'trackECourseAccess')]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected User $user;

@ -29,7 +29,7 @@ class TrackEHotspot
#[ORM\Column(name: 'hotspot_user_id', type: 'integer', nullable: false)]
protected int $hotspotUserId;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Course::class, inversedBy: 'trackEHotspots')]
#[ORM\ManyToOne(targetEntity: Course::class, inversedBy: 'trackEHotspots')]
#[ORM\JoinColumn(name: 'c_id', referencedColumnName: 'id')]
protected ?Course $course = null;

@ -23,7 +23,7 @@ class TrackELogin
#[ORM\GeneratedValue]
protected int $loginId;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class, inversedBy: 'logins', cascade: ['persist'])]
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'logins', cascade: ['persist'])]
#[ORM\JoinColumn(name: 'login_user_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected User $user;

@ -25,11 +25,11 @@ class UserRelTag
#[ORM\GeneratedValue(strategy: 'IDENTITY')]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class, inversedBy: 'userRelTags', cascade: ['persist'])]
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'userRelTags', cascade: ['persist'])]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected User $user;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Tag::class, inversedBy: 'userRelTags', cascade: ['persist'])]
#[ORM\ManyToOne(targetEntity: Tag::class, inversedBy: 'userRelTags', cascade: ['persist'])]
#[ORM\JoinColumn(name: 'tag_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected Tag $tag;

@ -17,11 +17,11 @@ class UsergroupRelCourse
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Usergroup::class, inversedBy: 'courses')]
#[ORM\ManyToOne(targetEntity: Usergroup::class, inversedBy: 'courses')]
#[ORM\JoinColumn(name: 'usergroup_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected Usergroup $usergroup;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Course::class)]
#[ORM\ManyToOne(targetEntity: Course::class)]
#[ORM\JoinColumn(name: 'course_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected Course $course;

@ -18,11 +18,11 @@ class UsergroupRelQuestion
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CourseBundle\Entity\CQuizQuestion::class)]
#[ORM\ManyToOne(targetEntity: CQuizQuestion::class)]
#[ORM\JoinColumn(name: 'question_id', referencedColumnName: 'iid', onDelete: 'CASCADE')]
protected CQuizQuestion $question;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Usergroup::class, inversedBy: 'questions')]
#[ORM\ManyToOne(targetEntity: Usergroup::class, inversedBy: 'questions')]
#[ORM\JoinColumn(name: 'usergroup_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected Usergroup $usergroup;

@ -23,11 +23,11 @@ class UsergroupRelUser
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class, inversedBy: 'classes', cascade: ['persist'])]
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'classes', cascade: ['persist'])]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected User $user;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Usergroup::class, inversedBy: 'users', cascade: ['persist'])]
#[ORM\ManyToOne(targetEntity: Usergroup::class, inversedBy: 'users', cascade: ['persist'])]
#[ORM\JoinColumn(name: 'usergroup_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected Usergroup $usergroup;

@ -5,18 +5,19 @@ declare(strict_types=1);
namespace Chamilo\CoreBundle\Migrations;
use Doctrine\Migrations\AbstractMigration;
use Doctrine\Migrations\Version\MigrationFactory as DoctrineMigrationFactory;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
class MigrationFactory implements \Doctrine\Migrations\Version\MigrationFactory
class MigrationFactory implements DoctrineMigrationFactory
{
private \Doctrine\Migrations\Version\MigrationFactory $migrationFactory;
private DoctrineMigrationFactory $migrationFactory;
private ContainerInterface $container;
/**
* @psalm-suppress ContainerDependency
*/
public function __construct(\Doctrine\Migrations\Version\MigrationFactory $migrationFactory, ContainerInterface $container)
public function __construct(DoctrineMigrationFactory $migrationFactory, ContainerInterface $container)
{
$this->migrationFactory = $migrationFactory;
$this->container = $container;

@ -291,7 +291,8 @@ abstract class ResourceRepository extends ServiceEntityRepository
) {
$qb
->andWhere('links.visibility = :visibility')
->setParameter('visibility', ResourceLink::VISIBILITY_PUBLISHED, Types::INTEGER);
->setParameter('visibility', ResourceLink::VISIBILITY_PUBLISHED, Types::INTEGER)
;
}
}
@ -545,14 +546,14 @@ abstract class ResourceRepository extends ServiceEntityRepository
return $this->resourceNodeRepository->getResourceNodeFileStream($resourceNode);
}
public function getResourceFileDownloadUrl(AbstractResource $resource, array $extraParams = [], ?int $referenceType = null): string
public function getResourceFileDownloadUrl(AbstractResource $resource, array $extraParams = [], int $referenceType = null): string
{
$extraParams['mode'] = 'download';
return $this->getResourceFileUrl($resource, $extraParams, $referenceType);
}
public function getResourceFileUrl(AbstractResource $resource, array $extraParams = [], ?int $referenceType = null): string
public function getResourceFileUrl(AbstractResource $resource, array $extraParams = [], int $referenceType = null): string
{
return $this->getResourceNodeRepository()->getResourceFileUrl(
$resource->getResourceNode(),

@ -27,12 +27,14 @@ abstract class AbstractTool
protected array $resourceTypes = [];
/**
* @var string
* Tool scope.
*
* 00 disabled tool
* 01 course tool
* 10 global tool
* 11 global or course or both
* Values can be the following.
*
* - 00 disabled tool
* - 01 course tool
* - 10 global tool
* - 11 global or course or both
*/
protected string $scope;

@ -181,7 +181,7 @@ class ToolChain
}
$linkVisibility = ResourceLink::VISIBILITY_PUBLISHED;
if (in_array($tool->getName(), ['course_setting', 'course_maintenance'])) {
if (\in_array($tool->getName(), ['course_setting', 'course_maintenance'])) {
$linkVisibility = ResourceLink::VISIBILITY_DRAFT;
}

@ -6,6 +6,8 @@ declare(strict_types=1);
namespace Chamilo\CoreBundle\Tool;
use Chamilo\CoreBundle\Entity\Usergroup as UsergroupEntity;
class UserGroup extends AbstractTool implements ToolInterface
{
public function getName(): string
@ -31,7 +33,7 @@ class UserGroup extends AbstractTool implements ToolInterface
public function getResourceTypes(): ?array
{
return [
'usergroups' => \Chamilo\CoreBundle\Entity\Usergroup::class,
'usergroups' => UsergroupEntity::class,
];
}
}

@ -8,6 +8,7 @@ namespace Chamilo\CourseBundle\Entity;
use Chamilo\CoreBundle\Entity\AbstractResource;
use Chamilo\CoreBundle\Entity\ResourceInterface;
use Chamilo\CourseBundle\Repository\CAnnouncementAttachmentRepository;
use Doctrine\ORM\Mapping as ORM;
use Stringable;
@ -15,7 +16,7 @@ use Stringable;
* CAnnouncementAttachment.
*/
#[ORM\Table(name: 'c_announcement_attachment')]
#[ORM\Entity(repositoryClass: \Chamilo\CourseBundle\Repository\CAnnouncementAttachmentRepository::class)]
#[ORM\Entity(repositoryClass: CAnnouncementAttachmentRepository::class)]
class CAnnouncementAttachment extends AbstractResource implements ResourceInterface, Stringable
{
#[ORM\Column(name: 'iid', type: 'integer')]
@ -32,7 +33,7 @@ class CAnnouncementAttachment extends AbstractResource implements ResourceInterf
#[ORM\Column(name: 'size', type: 'integer', nullable: false)]
protected int $size;
#[ORM\ManyToOne(targetEntity: \Chamilo\CourseBundle\Entity\CAnnouncement::class, inversedBy: 'attachments', cascade: ['persist'])]
#[ORM\ManyToOne(targetEntity: CAnnouncement::class, inversedBy: 'attachments', cascade: ['persist'])]
#[ORM\JoinColumn(name: 'announcement_id', referencedColumnName: 'iid', onDelete: 'CASCADE')]
protected CAnnouncement $announcement;

@ -8,6 +8,7 @@ namespace Chamilo\CourseBundle\Entity;
use Chamilo\CoreBundle\Entity\AbstractResource;
use Chamilo\CoreBundle\Entity\ResourceInterface;
use Chamilo\CourseBundle\Repository\CAttendanceRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
@ -16,7 +17,7 @@ use Symfony\Component\Validator\Constraints as Assert;
#[ORM\Table(name: 'c_attendance')]
#[ORM\Index(name: 'active', columns: ['active'])]
#[ORM\Entity(repositoryClass: \Chamilo\CourseBundle\Repository\CAttendanceRepository::class)]
#[ORM\Entity(repositoryClass: CAttendanceRepository::class)]
class CAttendance extends AbstractResource implements ResourceInterface, Stringable
{
#[ORM\Column(name: 'iid', type: 'integer')]
@ -53,19 +54,19 @@ class CAttendance extends AbstractResource implements ResourceInterface, Stringa
/**
* @var Collection|CAttendanceCalendar[]
*/
#[ORM\OneToMany(targetEntity: \Chamilo\CourseBundle\Entity\CAttendanceCalendar::class, mappedBy: 'attendance', cascade: ['persist', 'remove'])]
#[ORM\OneToMany(targetEntity: CAttendanceCalendar::class, mappedBy: 'attendance', cascade: ['persist', 'remove'])]
protected Collection $calendars;
/**
* @var Collection|CAttendanceResult[]
*/
#[ORM\OneToMany(targetEntity: \Chamilo\CourseBundle\Entity\CAttendanceResult::class, mappedBy: 'attendance', cascade: ['persist', 'remove'])]
#[ORM\OneToMany(targetEntity: CAttendanceResult::class, mappedBy: 'attendance', cascade: ['persist', 'remove'])]
protected Collection $results;
/**
* @var Collection|CAttendanceSheetLog[]
*/
#[ORM\OneToMany(targetEntity: \Chamilo\CourseBundle\Entity\CAttendanceSheetLog::class, mappedBy: 'attendance', cascade: ['persist', 'remove'])]
#[ORM\OneToMany(targetEntity: CAttendanceSheetLog::class, mappedBy: 'attendance', cascade: ['persist', 'remove'])]
protected Collection $logs;
public function __construct()

@ -20,11 +20,11 @@ class CAttendanceSheetLog
#[ORM\GeneratedValue]
protected ?int $iid = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CourseBundle\Entity\CAttendance::class, inversedBy: 'logs')]
#[ORM\ManyToOne(targetEntity: CAttendance::class, inversedBy: 'logs')]
#[ORM\JoinColumn(name: 'attendance_id', referencedColumnName: 'iid', onDelete: 'CASCADE')]
protected CAttendance $attendance;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class)]
#[ORM\ManyToOne(targetEntity: User::class)]
#[ORM\JoinColumn(name: 'lastedit_user_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected User $user;

@ -8,6 +8,7 @@ namespace Chamilo\CourseBundle\Entity;
use Chamilo\CoreBundle\Entity\AbstractResource;
use Chamilo\CoreBundle\Entity\ResourceInterface;
use Chamilo\CourseBundle\Repository\CChatConversationRepository;
use Doctrine\ORM\Mapping as ORM;
use Stringable;
@ -15,7 +16,7 @@ use Stringable;
* CChatConversation.
*/
#[ORM\Table(name: 'c_chat_conversation')]
#[ORM\Entity(repositoryClass: \Chamilo\CourseBundle\Repository\CChatConversationRepository::class)]
#[ORM\Entity(repositoryClass: CChatConversationRepository::class)]
class CChatConversation extends AbstractResource implements ResourceInterface, Stringable
{
#[ORM\Column(name: 'id', type: 'integer')]

@ -11,12 +11,13 @@ use Chamilo\CoreBundle\Entity\Course;
use Chamilo\CoreBundle\Entity\ResourceInterface;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Gedmo\Sortable\Entity\Repository\SortableRepository;
use Gedmo\Timestampable\Traits\TimestampableEntity;
use Stringable;
use Symfony\Component\Validator\Constraints as Assert;
#[ORM\Table(name: 'c_exercise_category')]
#[ORM\Entity(repositoryClass: \Gedmo\Sortable\Entity\Repository\SortableRepository::class)]
#[ORM\Entity(repositoryClass: SortableRepository::class)]
class CExerciseCategory extends AbstractResource implements ResourceInterface, Stringable
{
use TimestampableEntity;
@ -27,7 +28,7 @@ class CExerciseCategory extends AbstractResource implements ResourceInterface, S
protected ?int $id = null;
#[Gedmo\SortableGroup]
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Course::class)]
#[ORM\ManyToOne(targetEntity: Course::class)]
#[ORM\JoinColumn(name: 'c_id', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')]
protected Course $course;

@ -22,11 +22,11 @@ class CGroupRelTutor
#[ORM\Column(name: 'c_id', type: 'integer')]
protected int $cId;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class, inversedBy: 'courseGroupsAsTutor')]
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'courseGroupsAsTutor')]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: false)]
protected User $user;
#[ORM\ManyToOne(targetEntity: \Chamilo\CourseBundle\Entity\CGroup::class, inversedBy: 'tutors')]
#[ORM\ManyToOne(targetEntity: CGroup::class, inversedBy: 'tutors')]
#[ORM\JoinColumn(name: 'group_id', referencedColumnName: 'iid', nullable: false, onDelete: 'CASCADE')]
protected CGroup $group;

@ -21,6 +21,7 @@ use Chamilo\CoreBundle\Controller\Api\UpdateCLinkCategoryAction;
use Chamilo\CoreBundle\Controller\Api\UpdateVisibilityLinkCategory;
use Chamilo\CoreBundle\Entity\AbstractResource;
use Chamilo\CoreBundle\Entity\ResourceInterface;
use Chamilo\CourseBundle\Repository\CLinkCategoryRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
@ -127,7 +128,7 @@ use Symfony\Component\Validator\Constraints as Assert;
#[ApiFilter(SearchFilter::class, properties: ['category_title' => 'partial', 'resourceNode.parent' => 'exact'])]
#[ApiFilter(OrderFilter::class, properties: ['iid', 'resourceNode.title', 'resourceNode.createdAt', 'resourceNode.updatedAt'])]
#[ORM\Table(name: 'c_link_category')]
#[ORM\Entity(repositoryClass: \Chamilo\CourseBundle\Repository\CLinkCategoryRepository::class)]
#[ORM\Entity(repositoryClass: CLinkCategoryRepository::class)]
class CLinkCategory extends AbstractResource implements ResourceInterface, Stringable
{
#[ApiProperty(identifier: true)]

@ -14,6 +14,7 @@ use Doctrine\Common\Collections\Collection;
use Doctrine\Common\Collections\Criteria;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Gedmo\Sortable\Entity\Repository\SortableRepository;
use Stringable;
use Symfony\Component\Validator\Constraints as Assert;
@ -21,7 +22,7 @@ use Symfony\Component\Validator\Constraints as Assert;
* Learning paths categories.
*/
#[ORM\Table(name: 'c_lp_category')]
#[ORM\Entity(repositoryClass: \Gedmo\Sortable\Entity\Repository\SortableRepository::class)]
#[ORM\Entity(repositoryClass: SortableRepository::class)]
class CLpCategory extends AbstractResource implements ResourceInterface, Stringable
{
#[ORM\Column(name: 'iid', type: 'integer')]
@ -46,7 +47,7 @@ class CLpCategory extends AbstractResource implements ResourceInterface, Stringa
/**
* @var Collection<int, CLp>
*/
#[ORM\OneToMany(mappedBy: 'category', targetEntity: \Chamilo\CourseBundle\Entity\CLp::class, cascade: ['detach'])]
#[ORM\OneToMany(mappedBy: 'category', targetEntity: CLp::class, cascade: ['detach'])]
protected Collection $lps;
public function __construct()

@ -25,11 +25,11 @@ class CLpCategoryRelUser implements Stringable
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CourseBundle\Entity\CLpCategory::class, inversedBy: 'users')]
#[ORM\ManyToOne(targetEntity: CLpCategory::class, inversedBy: 'users')]
#[ORM\JoinColumn(name: 'category_id', referencedColumnName: 'iid')]
protected CLpCategory $category;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class)]
#[ORM\ManyToOne(targetEntity: User::class)]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')]
protected User $user;

@ -84,7 +84,7 @@ class CLpItem implements Stringable
#[ORM\Column(name: 'prerequisite_max_score', type: 'float', precision: 10, scale: 0, nullable: true)]
protected ?float $prerequisiteMaxScore = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CourseBundle\Entity\CLp::class, inversedBy: 'items', cascade: ['persist', 'remove'])]
#[ORM\ManyToOne(targetEntity: CLp::class, inversedBy: 'items', cascade: ['persist', 'remove'])]
#[ORM\JoinColumn(name: 'lp_id', referencedColumnName: 'iid', onDelete: 'CASCADE')]
protected CLp $lp;

@ -27,19 +27,19 @@ class CLpRelUserGroup
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CourseBundle\Entity\CLp::class)]
#[ORM\ManyToOne(targetEntity: CLp::class)]
#[ORM\JoinColumn(name: 'lp_id', referencedColumnName: 'iid')]
protected CLp $lp;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Course::class)]
#[ORM\ManyToOne(targetEntity: Course::class)]
#[ORM\JoinColumn(name: 'c_id', referencedColumnName: 'id', nullable: false)]
protected Course $course;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Session::class)]
#[ORM\ManyToOne(targetEntity: Session::class)]
#[ORM\JoinColumn(name: 'session_id', referencedColumnName: 'id', nullable: true)]
protected ?Session $session = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Usergroup::class)]
#[ORM\ManyToOne(targetEntity: Usergroup::class)]
#[ORM\JoinColumn(name: 'usergroup_id', referencedColumnName: 'id', nullable: true)]
protected ?Usergroup $userGroup = null;

@ -26,19 +26,19 @@ class CLpView
#[ORM\GeneratedValue]
protected ?int $iid = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\User::class)]
#[ORM\ManyToOne(targetEntity: User::class)]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected User $user;
#[ORM\ManyToOne(targetEntity: \Chamilo\CourseBundle\Entity\CLp::class)]
#[ORM\ManyToOne(targetEntity: CLp::class)]
#[ORM\JoinColumn(name: 'lp_id', referencedColumnName: 'iid', onDelete: 'CASCADE')]
protected CLp $lp;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Course::class)]
#[ORM\ManyToOne(targetEntity: Course::class)]
#[ORM\JoinColumn(name: 'c_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected Course $course;
#[ORM\ManyToOne(targetEntity: \Chamilo\CoreBundle\Entity\Session::class)]
#[ORM\ManyToOne(targetEntity: Session::class)]
#[ORM\JoinColumn(name: 'session_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected ?Session $session = null;

@ -23,7 +23,7 @@ class CQuizAnswer
protected ?int $iid = null;
#[Assert\NotBlank]
#[ORM\ManyToOne(targetEntity: \Chamilo\CourseBundle\Entity\CQuizQuestion::class, cascade: ['persist'], inversedBy: 'answers')]
#[ORM\ManyToOne(targetEntity: CQuizQuestion::class, cascade: ['persist'], inversedBy: 'answers')]
#[ORM\JoinColumn(name: 'question_id', referencedColumnName: 'iid', onDelete: 'CASCADE')]
protected CQuizQuestion $question;

@ -9,6 +9,7 @@ namespace Chamilo\CourseBundle\Entity;
use Chamilo\CoreBundle\Entity\AbstractResource;
use Chamilo\CoreBundle\Entity\ResourceInterface;
use Chamilo\CoreBundle\Entity\ResourceShowCourseResourcesInSessionInterface;
use Chamilo\CourseBundle\Repository\CQuizQuestionCategoryRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
@ -17,7 +18,7 @@ use Symfony\Component\Uid\Uuid;
use Symfony\Component\Validator\Constraints as Assert;
#[ORM\Table(name: 'c_quiz_question_category')]
#[ORM\Entity(repositoryClass: \Chamilo\CourseBundle\Repository\CQuizQuestionCategoryRepository::class)]
#[ORM\Entity(repositoryClass: CQuizQuestionCategoryRepository::class)]
class CQuizQuestionCategory extends AbstractResource implements ResourceInterface, ResourceShowCourseResourcesInSessionInterface, Stringable
{
#[ORM\Column(name: 'iid', type: 'integer')]
@ -35,7 +36,7 @@ class CQuizQuestionCategory extends AbstractResource implements ResourceInterfac
/**
* @var Collection|CQuizQuestion[]
*/
#[ORM\ManyToMany(targetEntity: \Chamilo\CourseBundle\Entity\CQuizQuestion::class, mappedBy: 'categories')]
#[ORM\ManyToMany(targetEntity: CQuizQuestion::class, mappedBy: 'categories')]
protected Collection $questions;
public function __construct()

@ -27,12 +27,12 @@ class CQuizRelQuestion
protected int $questionOrder;
#[Assert\NotBlank]
#[ORM\ManyToOne(targetEntity: \Chamilo\CourseBundle\Entity\CQuizQuestion::class, inversedBy: 'relQuizzes', cascade: ['persist'])]
#[ORM\ManyToOne(targetEntity: CQuizQuestion::class, inversedBy: 'relQuizzes', cascade: ['persist'])]
#[ORM\JoinColumn(name: 'question_id', referencedColumnName: 'iid', onDelete: 'CASCADE')]
protected CQuizQuestion $question;
#[Assert\NotBlank]
#[ORM\ManyToOne(targetEntity: \Chamilo\CourseBundle\Entity\CQuiz::class, inversedBy: 'questions', cascade: ['persist'])]
#[ORM\ManyToOne(targetEntity: CQuiz::class, inversedBy: 'questions', cascade: ['persist'])]
#[ORM\JoinColumn(name: 'quiz_id', referencedColumnName: 'iid', onDelete: 'CASCADE')]
protected CQuiz $quiz;

@ -20,11 +20,11 @@ class CQuizRelQuestionCategory
#[ORM\GeneratedValue]
protected ?int $iid = null;
#[ORM\ManyToOne(targetEntity: \Chamilo\CourseBundle\Entity\CQuizQuestionCategory::class, cascade: ['persist'])]
#[ORM\ManyToOne(targetEntity: CQuizQuestionCategory::class, cascade: ['persist'])]
#[ORM\JoinColumn(name: 'category_id', referencedColumnName: 'iid', onDelete: 'CASCADE')]
protected CQuizQuestionCategory $category;
#[ORM\ManyToOne(targetEntity: \Chamilo\CourseBundle\Entity\CQuiz::class, inversedBy: 'questionsCategories', cascade: ['persist'])]
#[ORM\ManyToOne(targetEntity: CQuiz::class, inversedBy: 'questionsCategories', cascade: ['persist'])]
#[ORM\JoinColumn(name: 'exercise_id', referencedColumnName: 'iid', onDelete: 'CASCADE')]
protected CQuiz $quiz;

@ -9,13 +9,14 @@ namespace Chamilo\CourseBundle\Entity;
use Chamilo\CoreBundle\Entity\AbstractResource;
use Chamilo\CoreBundle\Entity\ResourceInterface;
use Chamilo\CoreBundle\Entity\ResourceNode;
use Chamilo\CourseBundle\Repository\CShortcutRepository;
use Doctrine\ORM\Mapping as ORM;
use Stringable;
use Symfony\Component\Serializer\Annotation\Groups;
use Symfony\Component\Validator\Constraints as Assert;
#[ORM\Table(name: 'c_shortcut')]
#[ORM\Entity(repositoryClass: \Chamilo\CourseBundle\Repository\CShortcutRepository::class)]
#[ORM\Entity(repositoryClass: CShortcutRepository::class)]
class CShortcut extends AbstractResource implements ResourceInterface, Stringable
{
#[ORM\Column(name: 'id', type: 'integer')]
@ -28,7 +29,7 @@ class CShortcut extends AbstractResource implements ResourceInterface, Stringabl
#[ORM\Column(name: 'name', type: 'string', length: 255, nullable: false)]
protected string $name;
#[ORM\OneToOne(targetEntity: \Chamilo\CoreBundle\Entity\ResourceNode::class, inversedBy: 'shortCut')]
#[ORM\OneToOne(targetEntity: ResourceNode::class, inversedBy: 'shortCut')]
#[ORM\JoinColumn(name: 'shortcut_node_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected ResourceNode $shortCutNode;

@ -8,6 +8,7 @@ namespace Chamilo\CourseBundle\Entity;
use Chamilo\CoreBundle\Entity\AbstractResource;
use Chamilo\CoreBundle\Entity\ResourceInterface;
use Chamilo\CourseBundle\Repository\CSurveyRepository;
use DateTime;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
@ -20,7 +21,7 @@ use Symfony\Component\Validator\Constraints as Assert;
#[ORM\Table(name: 'c_survey')]
#[ORM\Index(name: 'idx_survey_code', columns: ['code'])]
#[Gedmo\Tree(type: 'nested')]
#[ORM\Entity(repositoryClass: \Chamilo\CourseBundle\Repository\CSurveyRepository::class)]
#[ORM\Entity(repositoryClass: CSurveyRepository::class)]
class CSurvey extends AbstractResource implements ResourceInterface, Stringable
{
#[ORM\Column(name: 'iid', type: 'integer')]
@ -109,13 +110,13 @@ class CSurvey extends AbstractResource implements ResourceInterface, Stringable
/**
* @var Collection|CSurveyQuestion[]
*/
#[ORM\OneToMany(targetEntity: \Chamilo\CourseBundle\Entity\CSurveyQuestion::class, mappedBy: 'survey', cascade: ['remove'])]
#[ORM\OneToMany(targetEntity: CSurveyQuestion::class, mappedBy: 'survey', cascade: ['remove'])]
protected Collection $questions;
/**
* @var Collection|CSurveyInvitation[]
*/
#[ORM\OneToMany(targetEntity: \Chamilo\CourseBundle\Entity\CSurveyInvitation::class, mappedBy: 'survey', cascade: ['remove'])]
#[ORM\OneToMany(targetEntity: CSurveyInvitation::class, mappedBy: 'survey', cascade: ['remove'])]
protected Collection $invitations;
#[Gedmo\TreeParent]
@ -133,7 +134,7 @@ class CSurvey extends AbstractResource implements ResourceInterface, Stringable
* @var Collection|CSurveyQuestionOption[]
*/
#[ORM\OrderBy(['sort' => 'ASC'])]
#[ORM\OneToMany(targetEntity: \Chamilo\CourseBundle\Entity\CSurveyQuestionOption::class, mappedBy: 'survey', cascade: ['remove'])]
#[ORM\OneToMany(targetEntity: CSurveyQuestionOption::class, mappedBy: 'survey', cascade: ['remove'])]
protected Collection $options;
#[ORM\Column(name: 'survey_type', type: 'integer', nullable: false)]

@ -8,6 +8,7 @@ namespace Chamilo\CourseBundle\Entity;
use Chamilo\CoreBundle\Entity\AbstractResource;
use Chamilo\CoreBundle\Entity\ResourceInterface;
use Chamilo\CourseBundle\Repository\CThematicRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
@ -17,7 +18,7 @@ use Symfony\Component\Validator\Constraints as Assert;
#[ORM\Table(name: 'c_thematic')]
#[ORM\Index(columns: ['active'], name: 'active')]
#[ORM\Entity(repositoryClass: \Chamilo\CourseBundle\Repository\CThematicRepository::class)]
#[ORM\Entity(repositoryClass: CThematicRepository::class)]
class CThematic extends AbstractResource implements ResourceInterface, Stringable
{
#[ORM\Column(name: 'iid', type: 'integer')]
@ -41,14 +42,14 @@ class CThematic extends AbstractResource implements ResourceInterface, Stringabl
/**
* @var Collection<int, CThematicPlan>
*/
#[ORM\OneToMany(mappedBy: 'thematic', targetEntity: \Chamilo\CourseBundle\Entity\CThematicPlan::class, cascade: ['persist', 'remove'], orphanRemoval: true)]
#[ORM\OneToMany(mappedBy: 'thematic', targetEntity: CThematicPlan::class, cascade: ['persist', 'remove'], orphanRemoval: true)]
protected Collection $plans;
/**
* @var Collection<int, CThematicAdvance>
*/
#[ORM\OrderBy(['startDate' => 'ASC'])]
#[ORM\OneToMany(mappedBy: 'thematic', targetEntity: \Chamilo\CourseBundle\Entity\CThematicAdvance::class, cascade: ['persist', 'remove'], orphanRemoval: true)]
#[ORM\OneToMany(mappedBy: 'thematic', targetEntity: CThematicAdvance::class, cascade: ['persist', 'remove'], orphanRemoval: true)]
protected Collection $advances;
public function __construct()

@ -104,12 +104,15 @@ final class CQuizRepository extends ResourceRepository implements ResourceWithLi
}
/**
* @param int|null $active
* null = no filter
* -1 = deleted exercises
* 0 = inactive exercises
* 1 = active exercises
* 2 = all exercises (active and inactive)
* Adds resource.active filter.
*
* The active parameter can be one of the following values.
*
* - null = no filter
* - -1 = deleted exercises
* - 0 = inactive exercises
* - 1 = active exercises
* - 2 = all exercises (active and inactive)
*/
private function addActiveQueryBuilder(int $active = null, QueryBuilder $qb = null): QueryBuilder
{

@ -7,6 +7,7 @@ declare(strict_types=1);
namespace Chamilo\LtiBundle\Controller;
use Category;
use Chamilo\CoreBundle\Component\Utils\ToolIcon;
use Chamilo\CoreBundle\Entity\Course;
use Chamilo\CoreBundle\Entity\Session;
use Chamilo\CoreBundle\Entity\User;
@ -30,7 +31,6 @@ use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
use UserManager;
use Chamilo\CoreBundle\Component\Utils\ToolIcon;
/**
* Class CourseController.

@ -10,6 +10,7 @@ use Chamilo\CoreBundle\Controller\BaseController;
use Chamilo\LtiBundle\Component\OutcomeDeleteRequest;
use Chamilo\LtiBundle\Component\OutcomeReadRequest;
use Chamilo\LtiBundle\Component\OutcomeReplaceRequest;
use Chamilo\LtiBundle\Component\OutcomeResponse;
use Chamilo\LtiBundle\Component\OutcomeUnsupportedRequest;
use Chamilo\LtiBundle\Entity\ExternalTool;
use OAuthUtil;
@ -85,10 +86,7 @@ class ServiceController extends BaseController
return $response;
}
/**
* @return \Chamilo\LtiBundle\Component\OutcomeResponse|null
*/
private function processServiceRequest()
private function processServiceRequest(): ?OutcomeResponse
{
$requestContent = file_get_contents('php://input');

Loading…
Cancel
Save