Minor - Zoom plugin add delete button

pull/3420/head
Julio Montoya 5 years ago
parent 0611ecc8be
commit e692645f49
  1. 47
      plugin/zoom/lib/ZoomPlugin.php
  2. 9
      plugin/zoom/start.php
  3. 9
      plugin/zoom/view/start.tpl

@ -357,28 +357,43 @@ class ZoomPlugin extends Plugin
*/
public function getDeleteMeetingForm($meetingEntity, $returnURL)
{
$form = new FormValidator('delete', 'post', $_SERVER['REQUEST_URI']);
$form = new FormValidator('delete', 'post', Security::remove_XSS($_SERVER['REQUEST_URI']));
$form->addButtonDelete($this->get_lang('DeleteMeeting'));
if ($form->validate()) {
try {
$meetingEntity->getMeetingInfoGet()->delete();
Database::getManager()->remove($meetingEntity);
Database::getManager()->flush();
Display::addFlash(
Display::return_message($this->get_lang('MeetingDeleted'), 'confirm')
);
api_location($returnURL);
} catch (Exception $exception) {
Display::addFlash(
Display::return_message($exception->getMessage(), 'error')
);
}
$this->deleteMeeting($meetingEntity, $returnURL);
}
return $form;
}
/**
* @param MeetingEntity $meetingEntity
* @param string $returnURL
*
* @return false
*/
public function deleteMeeting($meetingEntity, $returnURL)
{
if (null === $meetingEntity) {
return false;
}
try {
$meetingEntity->getMeetingInfoGet()->delete();
Database::getManager()->remove($meetingEntity);
Database::getManager()->flush();
Display::addFlash(
Display::return_message($this->get_lang('MeetingDeleted'), 'confirm')
);
api_location($returnURL);
} catch (Exception $exception) {
Display::addFlash(
Display::return_message($exception->getMessage(), 'error')
);
}
}
/**
* Generates a registrant list update form listing course and session users.
* Updates the list on validation.
@ -589,7 +604,7 @@ class ZoomPlugin extends Plugin
$form->setRequired($durationNumeric);
// $passwordText = $form->addText('password', get_lang('Password'), false, ['maxlength' => '10']);
if (!is_null($course)) {
if (null !== $course) {
$registrationOptions = [
'RegisterAllCourseUsers' => $this->get_lang('RegisterAllCourseUsers'),
];

@ -22,8 +22,17 @@ $tool_name = $plugin->get_lang('ZoomVideoConferences');
$tpl = new Template($tool_name);
$course = api_get_course_entity();
$session = api_get_session_entity();
$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : '';
if ($plugin->userIsCourseConferenceManager($course)) {
switch ($action) {
case 'delete':
$meeting = $plugin->getMeetingRepository()->find($_REQUEST['meetingId']);
$plugin->deleteMeeting($meeting, api_get_self().'?'.api_get_cidreq());
break;
}
$user = api_get_user_entity(api_get_user_id());
// user can create a new meeting
$tpl->assign(

@ -30,7 +30,14 @@
</a>
<a class="btn btn-default" href="meeting_from_start.php?meetingId={{ meeting.id }}">
{{ 'Details'|get_lang }}
{{ 'Edit'|get_lang }}
</a>
<a class="btn btn-danger"
href="start.php?action=delete&meetingId={{ meeting.id }}"
onclick="javascript:if(!confirm('{{ 'AreYouSureToDelete' | get_lang }}')) return false;"
>
{{ 'Delete'|get_lang }}
</a>
</td>
</tr>

Loading…
Cancel
Save