function can_do_default() { $id = $this->required_param('id', PARAM_INT); return coursepage::_has_capability('block/curr_admin:course:edit', $id); }
/** * Display form to manage corequisites. */ public function display_coreqedit() { $id = $this->required_param('id', PARAM_INT); $curcrsid = $this->required_param('association_id', PARAM_INT); $curcrs = new curriculumcourse($curcrsid); $curcrs->seturl(null, array('s' => $this->pagename, 'action' => 'coreqedit', 'id' => $id)); $coreqform = $curcrs->create_corequisite_form(); if ($coreqform->is_cancelled()) { $this->display_default(); return; } else { if ($coreqform->is_submitted() && $coreqform->is_validated()) { $formdata = $coreqform->get_data(); $output = ''; $added = 0; $deleted = 0; // Process requested corequisite deletions. $scoreqs = isset($formdata->scoreqs) ? $formdata->scoreqs : array(); foreach ($scoreqs as $scoreq) { if ($curcrs->del_corequisite($scoreq)) { $deleted++; } } // Process requested corequisite additions. $coreqs = isset($formdata->coreqs) ? $formdata->coreqs : array(); // TODO: Ugly, this needs to be overhauled. $cpage = new coursepage(); foreach ($coreqs as $coreq) { if ($cpage->_has_capability('local/elisprogram:course_view', $coreq) && $curcrs->add_corequisite($coreq, !empty($formdata->add_to_curriculum))) { $added++; } } if ($deleted > 0) { $delstring = $deleted > 1 ? 'deleted_corequisites' : 'deleted_corequisite'; $output .= get_string($delstring, 'local_elisprogram', $deleted); } if ($added > 0) { $addstring = $added > 1 ? 'added_corequisites' : 'added_corequisite'; $output .= ($deleted > 0 ? ' / ' : '') . get_string($addstring, 'local_elisprogram', $added); } if ($deleted > 0 || $added > 0) { $output .= "\n"; } $curriculum = $curcrs->curriculum; if ($curriculum->iscustom) { $curassid = $this->_db->get_field(curriculumstudent::TABLE, 'id', array('curriculumid' => $curriculum->id)); $stucur = new curriculumstudent($curassid); redirect('index.php?s=stucur&section=curr&id=' . $stucur->id . '&action=edit', $output, 3); } echo $output; // Recreate the form, to reflect changes in the lists. $coreqform = $curcrs->create_corequisite_form(); } } $coreqform->display(); }
function action_default() { $id = $this->required_param('id', PARAM_INT); $sort = optional_param('sort', 'name', PARAM_ALPHA); $dir = optional_param('dir', 'ASC', PARAM_ALPHA); $page = optional_param('page', 0, PARAM_INT); $perpage = optional_param('perpage', 30, PARAM_INT); // how many per page $namesearch = trim(cm_get_param('search', '')); $alpha = cm_get_param('alpha', ''); $columns = array('curriculumname' => get_string('curriculum_name', 'block_curr_admin'), 'required' => get_string('required', 'block_curr_admin'), 'frequency' => get_string('frequency', 'block_curr_admin'), 'timeperiod' => get_string('time_period', 'block_curr_admin'), 'position' => get_string('position', 'block_curr_admin'), 'buttons' => get_string('management', 'block_curr_admin')); // ELIS-3306: back porting ELIS-2442 //$contexts = curriculumpage::get_contexts('block/curr_admin:associate'); $items = curriculumcourse_get_curriculum_listing($id, $sort, $dir, 0, 0, $namesearch, $alpha); $numitems = curriculumcourse_count_curriculum_records($id, $namesearch, $alpha); $formatters = $this->create_link_formatters(array('curriculumname'), 'curriculumpage', 'curriculumid'); $this->print_num_items($numitems); $this->print_alpha(); $this->print_search(); $this->print_list_view($items, $columns, $formatters, 'curricula'); if (coursepage::_has_capability('block/curr_admin:associate')) { $this->print_add_button(array('id' => $id), get_string('course_assigncurriculum', 'block_curr_admin')); } if (coursepage::_has_capability('block/curr_admin:curriculum:create')) { echo '<div align="center">'; $options = array_merge(array('s' => 'cfc', 'id' => $id)); echo print_single_button('index.php', $options, get_string('makecurcourse', 'block_curr_admin'), 'get', '_self', true, get_string('makecurcourse', 'block_curr_admin')); echo '</div>'; } }
function can_do_default() { if (($id = $this->optional_param('id', 0, PARAM_INT)) > 0) { $crspg = new coursepage(array('id' => $id)); if ($crspg->_has_capability('local/elisprogram:class_create', $id)) { return true; } $parentclusterid = $this->optional_param('parent_clusterid', 0, PARAM_INT); $contexts = pmclasspage::get_contexts('local/elisprogram:class_view'); return pmclass_count_records('', '', $id, false, $contexts, $parentclusterid) > 0; } $contexts = pmclasspage::get_contexts('local/elisprogram:class_view'); return !$contexts->is_empty(); }