Ejemplo n.º 1
0
 protected function get_other_values(renderer_base $output)
 {
     $classname = static::define_class();
     $status = $this->persistent->get_status();
     $values = new stdClass();
     $values->statusname = $this->persistent->get_statusname();
     $values->isbasedontemplate = $this->persistent->is_based_on_template();
     $values->canmanage = $this->persistent->can_manage();
     $values->canrequestreview = $this->persistent->can_request_review();
     $values->canreview = $this->persistent->can_review();
     $values->canbeedited = $this->persistent->can_be_edited();
     $values->isactive = $status == $classname::STATUS_ACTIVE;
     $values->isdraft = $status == $classname::STATUS_DRAFT;
     $values->iscompleted = $status == $classname::STATUS_COMPLETE;
     $values->isinreview = $status == $classname::STATUS_IN_REVIEW;
     $values->iswaitingforreview = $status == $classname::STATUS_WAITING_FOR_REVIEW;
     $values->isreopenallowed = $values->canmanage && $values->iscompleted;
     $values->iscompleteallowed = $values->canmanage && $values->isactive;
     $values->isunlinkallowed = $values->canmanage && !$values->iscompleted && $values->isbasedontemplate;
     $values->isrequestreviewallowed = false;
     $values->iscancelreviewrequestallowed = false;
     $values->isstartreviewallowed = false;
     $values->isstopreviewallowed = false;
     $values->isapproveallowed = false;
     $values->isunapproveallowed = false;
     if (!$values->isbasedontemplate) {
         $values->isrequestreviewallowed = $values->canrequestreview && $values->isdraft;
         $values->iscancelreviewrequestallowed = $values->canrequestreview && $values->iswaitingforreview;
         $values->isstartreviewallowed = $values->canreview && $values->iswaitingforreview;
         $values->isstopreviewallowed = $values->canreview && $values->isinreview;
         $values->isapproveallowed = $values->canreview && !$values->iscompleted && !$values->isactive;
         $values->isunapproveallowed = $values->canreview && $values->isactive;
     }
     $values->duedateformatted = userdate($this->persistent->get_duedate());
     if ($this->persistent->is_based_on_template()) {
         $exporter = new template_exporter($this->related['template']);
         $values->template = $exporter->export($output);
     }
     if (!empty($values->isinreview)) {
         // TODO Make this more efficient.
         $userexporter = new user_summary_exporter(core_user::get_user($this->persistent->get_reviewerid(), '*', MUST_EXIST));
         $values->reviewer = $userexporter->export($output);
     }
     $commentareaexporter = new comment_area_exporter($this->persistent->get_comment_object());
     $values->commentarea = $commentareaexporter->export($output);
     $values->url = url::plan($this->persistent->get_id())->out(false);
     return (array) $values;
 }
Ejemplo n.º 2
0
 /**
  * Export this data so it can be used as the context for a mustache template.
  *
  * @param renderer_base $output Renderer base.
  * @return stdClass
  */
 public function export_for_template(renderer_base $output)
 {
     $data = new stdClass();
     $data->pagecontextid = $this->pagecontext->id;
     $data->templates = array();
     foreach ($this->templates as $template) {
         $exporter = new template_exporter($template);
         $data->templates[] = $exporter->export($output);
     }
     $data->pluginbaseurl = (new moodle_url('/admin/tool/lp'))->out(true);
     $data->navigation = array();
     foreach ($this->navigation as $button) {
         $data->navigation[] = $output->render($button);
     }
     $data->canmanage = template::can_manage_context($this->pagecontext);
     return $data;
 }
Ejemplo n.º 3
0
 /**
  * List the learning plan templates (visible to this user) that use this competency.
  *
  * @param int $competencyid Competency id.
  * @return array
  */
 public static function list_templates_using_competency($competencyid)
 {
     global $PAGE;
     $params = self::validate_parameters(self::list_templates_using_competency_parameters(), array('id' => $competencyid));
     $competency = api::read_competency($params['id']);
     self::validate_context($competency->get_context());
     $output = $PAGE->get_renderer('core');
     $templates = api::list_templates_using_competency($params['id']);
     $records = array();
     foreach ($templates as $template) {
         $exporter = new template_exporter($template);
         $record = $exporter->export($output);
         $records[] = $record;
     }
     return $records;
 }