Пример #1
0
 public function ajax_periods_list()
 {
     $fields_config = array(array('name' => 'created', 'caption' => 'lang:common_table_header_created'), array('name' => 'updated', 'caption' => 'lang:common_table_header_updated'), array('name' => 'name', 'caption' => 'lang:admin_periods_table_header_name'), array('name' => 'related_courses', 'caption' => 'lang:admin_periods_table_header_relations_courses'));
     $filter = $this->input->post('filter');
     $this->store_filter($filter);
     $this->inject_stored_filter();
     $periods = new Period();
     $periods->order_by('sorting', 'asc');
     $periods->include_related_count('course');
     $periods->get_iterated();
     $this->parser->parse('backend/periods/ajax_periods_list.tpl', array('periods' => $periods, 'fields_config' => $fields_config));
 }
Пример #2
0
 /**
  * Delete this period or related object.
  * If no parameters are set, this method deletes current period and re-sort all other periods.
  * @param DataMapper|string $object related object to delete from relation.
  * @param string $related_field relation internal name.
  */
 public function delete($object = '', $related_field = '')
 {
     if (empty($object) && !is_array($object) && !empty($this->id)) {
         $lower_periods = new Period();
         $lower_periods->order_by('sorting', 'asc');
         $lower_periods->where('sorting > ', $this->sorting);
         $lower_periods->get_iterated();
         $ids = array();
         foreach ($lower_periods as $lower_period) {
             $ids[] = $lower_period->id;
         }
         if (count($ids) > 0) {
             $this->db->set('sorting', 'sorting-1', FALSE);
             $this->db->where_in('id', $ids);
             $this->db->update('periods');
         }
     }
     parent::delete($object, $related_field);
 }
Пример #3
0
 private function inject_courses()
 {
     $periods = new Period();
     $periods->order_by('sorting', 'asc');
     $periods->get_iterated();
     $data = array(NULL => '');
     if ($periods->exists()) {
         foreach ($periods as $period) {
             $period->course->order_by_with_constant('name', 'asc')->get_iterated();
             if ($period->course->exists() > 0) {
                 foreach ($period->course as $course) {
                     $data[$period->name][$course->id] = $course->name;
                 }
             }
         }
     }
     $this->parser->assign('courses', $data);
 }