Fix delete group

Refs #2771
pull/2818/head
Angel Fernando Quiroz Campos 7 years ago
parent 3f55127395
commit a4f9714cda
  1. 26
      main/inc/lib/groupmanager.lib.php
  2. 2
      src/CoreBundle/Entity/Resource/ResourceLink.php
  3. 2
      src/CoreBundle/Entity/Resource/ResourceRight.php

@ -442,6 +442,7 @@ class GroupManager
$course_id = $course_info['real_id']; $course_id = $course_info['real_id'];
// Database table definitions // Database table definitions
$em = Database::getManager();
$group_table = Database::get_course_table(TABLE_GROUP); $group_table = Database::get_course_table(TABLE_GROUP);
$forum_table = Database::get_course_table(TABLE_FORUM); $forum_table = Database::get_course_table(TABLE_FORUM);
$groupInfo = self::get_group_properties($groupInfo['iid'], true); $groupInfo = self::get_group_properties($groupInfo['iid'], true);
@ -476,21 +477,26 @@ class GroupManager
} }
} }
$sql = "DELETE FROM $forum_table $em
WHERE c_id = $course_id AND forum_of_group = $groupId "; ->createQuery(
Database::query($sql); 'DELETE FROM ChamiloCourseBundle:CForumForum f WHERE f.cId = :course AND f.forumOfGroup = :group'
)
->execute(['course' => $course_id, 'group' => $groupId]);
// Delete item properties of this group. // Delete item properties of this group.
// to_group_id is related to c_group_info.iid // to_group_id is related to c_group_info.iid
$itemPropertyTable = Database::get_course_table(TABLE_ITEM_PROPERTY); $em
$sql = "DELETE FROM $itemPropertyTable ->createQuery(
WHERE c_id = $course_id AND to_group_id = $groupIid "; 'DELETE FROM ChamiloCourseBundle:CItemProperty ci WHERE ci.course = :course AND ci.group = :group'
Database::query($sql); )
->execute(['course' => $course_id, 'group' => $groupId]);
// delete the groups // delete the groups
$sql = "DELETE FROM $group_table $em
WHERE c_id = $course_id AND iid = $groupIid "; ->createQuery(
Database::query($sql); 'DELETE FROM ChamiloCourseBundle:CGroupInfo g WHERE g.course = :course AND g.iid = :id'
)
->execute(['course' => $course_id, 'id' => $groupIid]);
} }
return true; return true;

@ -56,7 +56,7 @@ class ResourceLink implements ResourceInterface
/** /**
* @ORM\ManyToOne(targetEntity="Chamilo\CourseBundle\Entity\CGroupInfo") * @ORM\ManyToOne(targetEntity="Chamilo\CourseBundle\Entity\CGroupInfo")
* @ORM\JoinColumn(name="group_id", referencedColumnName="iid", nullable=true) * @ORM\JoinColumn(name="group_id", referencedColumnName="iid", nullable=true, onDelete="CASCADE")
*/ */
protected $group; protected $group;

@ -20,7 +20,7 @@ class ResourceRight
/** /**
* @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\Resource\ResourceLink", inversedBy="resourceRight") * @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\Resource\ResourceLink", inversedBy="resourceRight")
* @ORM\JoinColumn(name="resource_link_id", referencedColumnName="id") * @ORM\JoinColumn(name="resource_link_id", referencedColumnName="id", onDelete="CASCADE")
*/ */
protected $resourceLink; protected $resourceLink;

Loading…
Cancel
Save