Source of file Activity.php
Size: 2,089 Bytes - Last Modified: 2021-12-23T10:11:55+00:00
/var/www/docs.ssmods.com/process/src/code/ActivityGroup/Activities/Activity.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 | <?php class Activity extends DataObject { private static $db = array( 'SortOrder' => 'Int', ); private static $default_sort = 'SortOrder ASC'; static $plural_name = "Activities"; static $singular_name = "Activity"; private static $summary_fields = array( 'ID' => 'ID', 'Title' => 'Title', 'ClassName' => 'ClassName', ); private static $has_one = array( 'Group' => 'ActivityGroup' ); public function getCMSFields() { $fields = parent::getCMSFields(); $fields->addFieldToTab('Root.Main', TextField::create('Title')->setCustomValidationMessage('This Field is Required')); $fields->removeFieldFromTab('Root.Main', 'SortOrder'); $fields->removeFieldFromTab('Root.Main', 'GroupID'); return $fields; } public static function get_activity_type() { return trim(preg_replace('/([A-Z])/', ' $1', str_ireplace('Activity', '', get_called_class())));; } public function forTemplate() { $template = str_replace(" ", "", $this->get_activity_type()); SS_Log::log(serialize($this->get_activity_type()), SS_Log::NOTICE); SS_Log::log(serialize(get_called_class()), SS_Log::NOTICE); return $this->renderWith('Activity/' . $template); } public function activityCountIntroduction($pos) { $count = $this->Group()->Activities()->Count(); return "Question " . $pos . " of " . $count . "."; } public function correctAnswerCount() { return $this->Answers()->filter('CorrectAnswer', 1)->Count(); } public function questionRuleText() { if ($this->correctAnswerCount() > 1) { return _t('Aqua.Select_one_or_more_answer', 'Select one or more answers'); } else { return _t('Aqua.Select_one_answer', 'Select one answer'); } } public function ShowTitle() { return $this->Group()->ShowTitle; } public function ActivityTitle() { return $this->Group()->Title; } } |