Fix delete event session permission BT#16878

pull/3170/head
Julio Montoya 6 years ago
parent 3bc2176e8a
commit 03a2b5eb2f
  1. 45
      main/inc/lib/agenda.lib.php

@ -1065,33 +1065,16 @@ class Agenda
break;
case 'course':
$courseId = api_get_course_int_id();
$sessionId = api_get_session_id();
$isAllowToEdit = api_is_allowed_to_edit(null, true);
if ($isAllowToEdit == false && !empty($sessionId)) {
$allowDhrToEdit = api_get_configuration_value('allow_agenda_edit_for_hrm');
if ($allowDhrToEdit) {
$isHrm = SessionManager::isUserSubscribedAsHRM(
$sessionId,
api_get_user_id()
);
if ($isHrm) {
$isAllowToEdit = true;
}
}
}
$isAllowToEdit = $this->getIsAllowedToEdit();
if (!empty($courseId) && $isAllowToEdit) {
// Delete
$eventInfo = $this->get_event($id);
if ($deleteAllItemsFromSerie) {
/* This is one of the children.
Getting siblings and delete 'Em all + the father! */
if (isset($eventInfo['parent_event_id']) && !empty($eventInfo['parent_event_id'])) {
// Removing items.
$events = $this->getAllRepeatEvents(
$eventInfo['parent_event_id']
);
$events = $this->getAllRepeatEvents($eventInfo['parent_event_id']);
if (!empty($events)) {
foreach ($events as $event) {
$this->deleteEvent($event['id']);
@ -1392,8 +1375,8 @@ class Agenda
case 'course':
$sql = "UPDATE $this->tbl_course_agenda SET
end_date = DATE_ADD(end_date, INTERVAL $delta MINUTE)
WHERE
c_id = ".$this->course['real_id']." AND
WHERE
c_id = ".$this->course['real_id']." AND
id = ".$id;
Database::query($sql);
break;
@ -1440,11 +1423,11 @@ class Agenda
break;
case 'course':
$sql = "UPDATE $this->tbl_course_agenda SET
all_day = $allDay,
all_day = $allDay,
start_date = DATE_ADD(start_date, INTERVAL $delta MINUTE),
end_date = DATE_ADD(end_date, INTERVAL $delta MINUTE)
WHERE
c_id = ".$this->course['real_id']." AND
WHERE
c_id = ".$this->course['real_id']." AND
id=".$id;
Database::query($sql);
break;
@ -1510,9 +1493,7 @@ class Agenda
);
if (!empty($event['parent_event_id'])) {
$event['parent_info'] = $this->get_event(
$event['parent_event_id']
);
$event['parent_info'] = $this->get_event($event['parent_event_id']);
}
$event['attachment'] = $this->getAttachmentList(
@ -1898,8 +1879,8 @@ class Agenda
FROM $tlb_course_agenda agenda
INNER JOIN $tbl_property ip
ON (
agenda.id = ip.ref AND
agenda.c_id = ip.c_id AND
agenda.id = ip.ref AND
agenda.c_id = ip.c_id AND
ip.tool = '".TOOL_CALENDAR_EVENT."'
)
WHERE
@ -2491,14 +2472,14 @@ class Agenda
$form->addLabel(
get_lang('FilesAttachment'),
'<div id="filepaths" class="file-upload-event">
<div id="filepath_1">
<input type="file" name="attach_1"/>
<label>'.get_lang('Description').'</label>
<input class="form-control" type="text" name="legend[]" />
</div>
</div>'
);

Loading…
Cancel
Save