Inheritance: extends CI_Model
 /**
  * Delete category
  *
  * @param       int  $category_id
  * @return      bool
  */
 function delete_category($category_id)
 {
     $this->db->trans_begin();
     $data = array('id' => $category_id);
     $this->db->delete('categories', $data);
     $query = $this->db->get_where('dishes', array('category_id' => $category_id));
     $have_dish_belong_to_this_category = $query->num_rows();
     if ($have_dish_belong_to_this_category > 0) {
         $dishes_id_belong_to_category = array();
         // Get all dishes id belongs to category
         foreach ($query->result() as $dish) {
             $dishes_id_belong_to_category[] = $dish->id;
         }
         // Delete list of dishes belongs to category
         $this->load->model('dishes_model');
         if (Dishes_model::delete_dishes($dishes_id_belong_to_category)) {
             $this->load->model('menus_model');
             // Delete list of dishes in menus have this category
             Menus_model::delete_dishes_in_menu_by_field('dish_id', $dishes_id_belong_to_category);
         }
     }
     if ($this->db->trans_status() === FALSE) {
         $this->db->trans_rollback();
         return FALSE;
     } else {
         $this->db->cache_delete('admin', 'dishes');
         $this->db->trans_commit();
         return TRUE;
     }
 }
Exemplo n.º 2
0
 public function load_menus_view($search)
 {
     $message = array('title', 'search', 'search_name', 'menu', 'description', 'image', 'category', 'dishes_of_menu', 'name_dish', 'create_menu', 'edit', 'delete', 'search', 'are_you_sure', 'yes', 'cancel');
     $data = $this->common->set_language_and_data('menus', $message);
     $this->load->library('pagination');
     $config['base_url'] = $search == NULL ? base_url() . '/admin/menus' : base_url() . '/admin/menus/search';
     $config['total_rows'] = Menus_model::get_num_of_menus($search);
     $config['per_page'] = 10;
     $config['use_page_numbers'] = TRUE;
     $config['uri_segment'] = $config['uri_segment'] = $search == NULL ? 3 : 4;
     $config['num_links'] = 3;
     $config['full_tag_open'] = "<ul class='pagination'>";
     $config['full_tag_close'] = "</ul>";
     $config['first_link'] = FALSE;
     $config['last_link'] = FALSE;
     $config['num_tag_open'] = '<li>';
     $config['num_tag_close'] = '</li>';
     $config['cur_tag_open'] = "<li class='disabled'><li class='active'><a href='#'>";
     $config['cur_tag_close'] = "<span class='sr-only'></span></a></li>";
     $config['next_tag_open'] = "<li>";
     $config['next_tagl_close'] = "</li>";
     $config['prev_tag_open'] = "<li>";
     $config['prev_tagl_close'] = "</li>";
     $config['first_tag_open'] = "<li>";
     $config['first_tagl_close'] = "</li>";
     $config['last_tag_open'] = "<li>";
     $config['last_tagl_close'] = "</li>";
     $this->pagination->initialize($config);
     $data['pagination'] = $this->pagination->create_links();
     $data['page'] = $search == NULL ? $this->uri->segment(3) ? $this->uri->segment(3) : 0 : ($this->uri->segment(4) ? $this->uri->segment(4) : 0);
     $menus = Menus_model::get_all_menus($config['per_page'], ($data['page'] == 0 ? $data['page'] : $data['page'] - 1) * $config['per_page'], $search);
     $data['menus'] = $menus;
     $this->common->load_view('admin/menus/menus', $data);
 }
Exemplo n.º 3
0
 public function dishes($menu_id)
 {
     $this->common->authenticate();
     $this->load->model('menus_model');
     echo json_encode(Menus_model::get_dishes_by_menu($menu_id));
 }