Admin - Add config "allow_coach_to_edit_announcements" BT#18385

To allow coach users to always edit announcements inside sessions.
pull/3766/head^2
Julio Montoya 5 years ago
parent 7405ba6907
commit 413c235993
  1. 10
      main/announcements/announcements.php
  2. 3
      main/inc/ajax/announcement.ajax.php
  3. 5
      main/inc/lib/AnnouncementManager.php
  4. 3
      main/install/configuration.dist.php

@ -23,17 +23,18 @@ $token = Security::get_existing_token();
$courseId = api_get_course_int_id();
$_course = api_get_course_info_by_id($courseId);
$group_id = api_get_group_id();
$sessionId = api_get_session_id();
$current_course_tool = TOOL_ANNOUNCEMENT;
$this_section = SECTION_COURSES;
$nameTools = get_lang('ToolAnnouncement');
$allowToEdit = (
api_is_allowed_to_edit(false, true) ||
(api_get_course_setting('allow_user_edit_announcement') && !api_is_anonymous())
(api_get_course_setting('allow_user_edit_announcement') && !api_is_anonymous()) ||
($sessionId && api_is_coach() && api_get_configuration_value('allow_coach_to_edit_announcements'))
);
$allowStudentInGroupToSend = false;
$sessionId = api_get_session_id();
$drhHasAccessToSessionContent = api_drh_can_access_all_session_content();
if (!empty($sessionId) && $drhHasAccessToSessionContent) {
$allowToEdit = $allowToEdit || api_is_drh();
@ -373,7 +374,10 @@ switch ($action) {
case 'add':
case 'modify':
if ($sessionId != 0 &&
api_is_allowed_to_session_edit(false, true) == false
(
api_is_allowed_to_session_edit(false, true) === false &&
api_is_coach() === false
)
) {
api_not_allowed(true);
}

@ -27,7 +27,8 @@ switch ($action) {
case 'preview':
$allowToEdit = (
api_is_allowed_to_edit(false, true) ||
(api_get_course_setting('allow_user_edit_announcement') && !api_is_anonymous())
(api_get_course_setting('allow_user_edit_announcement') && !api_is_anonymous()) ||
($sessionId && api_is_coach() && api_get_configuration_value('allow_coach_to_edit_announcements'))
);
$drhHasAccessToSessionContent = api_drh_can_access_all_session_content();

@ -1977,7 +1977,8 @@ class AnnouncementManager
if (api_is_allowed_to_edit(false, true) ||
(api_is_session_general_coach() && api_is_element_in_the_session(TOOL_ANNOUNCEMENT, $row['id'])) ||
(api_get_course_setting('allow_user_edit_announcement') && !api_is_anonymous()) ||
($row['to_group_id'] == $group_id && $isTutor)
($row['to_group_id'] == $group_id && $isTutor) ||
($session_id && api_is_coach() && api_get_configuration_value('allow_coach_to_edit_announcements'))
) {
if ($disableEdit === true) {
$modify_icons = "<a href='#'>".$editIconDisable."</a>";
@ -2003,6 +2004,8 @@ class AnnouncementManager
} else {
$modify_icons .= Display::return_icon('up_na.gif', get_lang('Up'));
}
if ($iterator < $bottomAnnouncement) {
$modify_icons .= "<a href=\"".$actionUrl."&action=move&down=".$row["id"]."&sec_token=".$stok."\">".
Display::return_icon('down.gif', get_lang('Down'))."</a>";

@ -1834,6 +1834,9 @@ ALTER TABLE gradebook_comment ADD CONSTRAINT FK_C3B70763AD3ED51C FOREIGN KEY (gr
// Shows exercise session attempts in the base course.
// $_configuration['show_exercise_session_attempts_in_base_course'] = false;
// Allow coach users to always edit announcements inside active/past sessions.
// $_configuration['allow_coach_to_edit_announcements'] = false;
// KEEP THIS AT THE END
// -------- Custom DB changes
// Add user activation by confirmation email

Loading…
Cancel
Save