/**
  * Renderers actions for individual course actions.
  *
  * @param course_in_list $course The course to renderer actions for.
  * @return string
  */
 public function search_listitem_actions(course_in_list $course)
 {
     $baseurl = new moodle_url('/course/managementsearch.php', array('courseid' => $course->id, 'categoryid' => $course->category, 'sesskey' => sesskey()));
     $actions = array();
     // Edit.
     if ($course->can_access()) {
         if ($course->can_edit()) {
             $actions[] = $this->output->action_icon(new moodle_url('/course/edit.php', array('id' => $course->id)), new pix_icon('t/edit', get_string('edit')), null, array('class' => 'action-edit'));
         }
         // Show/Hide.
         if ($course->can_change_visibility()) {
             if ($course->visible) {
                 $actions[] = $this->output->action_icon(new moodle_url($baseurl, array('action' => 'hidecourse')), new pix_icon('t/show', get_string('hide')), null, array('data-action' => 'hide', 'class' => 'action-hide'));
             } else {
                 $actions[] = $this->output->action_icon(new moodle_url($baseurl, array('action' => 'showcourse')), new pix_icon('t/hide', get_string('show')), null, array('data-action' => 'show', 'class' => 'action-show'));
             }
         }
     }
     if (empty($actions)) {
         return '';
     }
     return html_writer::span(join('', $actions), 'course-item-actions item-actions');
 }
Ejemplo n.º 2
0
 /**
  * Makes a course hidden given a \course_in_list object.
  *
  * @param \course_in_list $course
  * @return bool
  * @throws \moodle_exception
  */
 public static function action_course_hide(\course_in_list $course)
 {
     if (!$course->can_change_visibility()) {
         throw new \moodle_exception('permissiondenied', 'error', '', null, 'course_in_list::can_change_visbility');
     }
     return course_change_visibility($course->id, false);
 }
Ejemplo n.º 3
0
foreach ($companycourses as $companycourse) {
    //print_object($companycourse);
    $courselink = new moodle_url('/course/view.php', array('id' => $companycourse->id));
    $coursecontext = context_course::instance($companycourse->id);
    $deletecoursebutton = '';
    if (has_capability('moodle/course:delete', $coursecontext)) {
        $deletecoursebutton = html_writer::link(new moodle_url('/course/delete.php', array('id' => $companycourse->id, 'returntocompanycourse' => 1)), get_string('delete'));
    }
    $editcoursebutton = '';
    if (has_capability('moodle/course:update', $coursecontext)) {
        $editcoursebutton = html_writer::link(new moodle_url('/course/edit.php', array('id' => $companycourse->id, 'returnto' => 'companycourse')), get_string('edit'));
    }
    $record = get_course($companycourse->id);
    $course = new course_in_list($record);
    $coursesuspendbutton = '';
    if ($course->can_change_visibility()) {
        $action = $course->visible ? 'hidecourse' : 'showcourse';
        $buttontext = $course->visible ? get_string('suspend', 'block_iomad_company_admin') : get_string('unsuspend', 'block_iomad_company_admin');
        $coursesuspendbutton = html_writer::link(new moodle_url('companycourses.php', array('courseid' => $companycourse->id, 'action' => $action)), $buttontext);
    }
    $companycourse->fullname = '<a href=' . $courselink . '>' . $companycourse->fullname . '</a>';
    $assigncourselink = '';
    $companyrecord = $DB->get_record('company', array('id' => $companycourse->companyid));
    if (iomad::has_capability('local/manage_company_dept_title:manage_courses', $context) && $companyrecord) {
        $assigncourselink = html_writer::link(new moodle_url('/local/manage_company_dept_title/addcoursetodepttitle.php', array('course' => $companycourse->id, 'companyid' => $companycourse->companyid)), get_string('assigncourse', 'local_manage_company_dept_title'));
    }
    $coursenotificationlink = '';
    if (iomad::has_capability('local/course_notification:manage', $context) && $companyrecord) {
        $coursenotificationlink = html_writer::link(new moodle_url('/local/course_notification/manage_notification.php', array('courseid' => $companycourse->id, 'companyid' => $companycourse->companyid)), get_string('managenotification', 'block_iomad_company_admin'));
    }
    $columndata = array($companycourse->fullname, $editcoursebutton, $deletecoursebutton, $coursesuspendbutton, $assigncourselink, $coursenotificationlink);