Esempio n. 1
0
 function edit($id = false)
 {
     $this->load->library('form_validation');
     # var $data['js_functions'] init from Admin_Controller
     # Js function from main.js which loads by default
     array_push($this->data['js_functions'], array('name' => 'nutritions_edit_init', 'data' => FALSE));
     $languages = new Language();
     $nutrition = new Nutrition();
     $nutrition_categories = new Nutrition_category();
     $languages->get_iterated();
     $nutrition->get_full_info($id);
     $nutrition_categories->get_full_info();
     //if form validates
     if ($this->form_validation->run('nutrition')) {
         $nutrition_category = new Nutrition_category();
         $nutrition_category->get_by_id($this->input->post('nutritions_categories_id'));
         $nutrition->nutrition_category_id = $nutrition_category->id;
         if ($this->save_object_name($nutrition)) {
             $this->data['form_success'] = 'Вещество  добавлено';
         } else {
             $this->data['form_error'] = $nutrition->error->string;
         }
     } else {
         #$this->data['form_error'] = validation_errors();
     }
     $this->data['dm_languages'] = $languages;
     $this->data['dm_nutrition'] = $nutrition;
     $this->data['current_language'] = 1;
     #Russian
     $this->data['nutrition_categories'] = $nutrition_categories;
     $this->template->load('/admin/templates/main_template', '/admin/nutritions/edit', $this->data);
 }
Esempio n. 2
0
 function _nutrition_category_name_exists($name)
 {
     $nutrition_categories = new Nutrition_category();
     $nutrition_categories->where('name', $name)->get();
     if ($nutrition_categories->exists()) {
         return false;
     }
     return true;
 }
Esempio n. 3
0
 public function show($product_id, $product_name = '')
 {
     if (!$product_id) {
         echo 'product_show return false';
     }
     array_push($this->data['js_functions'], array('name' => 'home_prodcut_show_init', 'data' => FALSE));
     #!
     $product_category_selected = new Product_category();
     $product_type_selected = new Product_type();
     $product_selected = new Product();
     $nutrition_categories = new Nutrition_category();
     #!
     $product_selected->get_full_info($product_id);
     $product_selected->nutrition->get_full_info();
     #$product_selected->nutrition->convert_to_mera(2);
     $product_type_selected->get_full_info($product_selected->product_type_id);
     $product_type_selected->product->get_full_info();
     $product_category_selected->get_full_info($product_type_selected->product_category_id);
     $nutrition_categories->get_full_info();
     #!
     $meras_available = array('100 gramms');
     foreach ($product_selected->mera as $mera) {
         $meras_available[$mera->join_seq] = $mera->join_name . ' ( ' . $mera->join_value . ' )';
     }
     #!
     $this->data['meras_available'] = $meras_available;
     $this->data['dm_product_category_selected'] = $product_category_selected;
     $this->data['dm_product_type_selected'] = $product_type_selected;
     $this->data['dm_product_selected'] = $product_selected;
     $this->data['dm_nutrition_categories'] = $nutrition_categories;
     #nutritions by selected product
     $this->data['dm_nutritions'] = $product_selected->nutrition;
     $this->data['dm_products'] = $product_type_selected->product;
     array_push($this->data['crumbs'], array('name' => 'home', 'link' => $this->linker->home_page_link()));
     array_push($this->data['crumbs'], array('name' => $product_selected->join_name, 'link' => false));
     #!
     $this->template->load('/templates/main_template', '/products/product_show', $this->data);
 }
Esempio n. 4
0
 function get_nutrition_by_product()
 {
     $return_arr['status'] = false;
     $product_selected_id = $this->input->post('product_selected_id');
     if (!$product_selected_id) {
         return;
     }
     $product = new Product();
     $nutrition_categories = new Nutrition_category();
     $product->get_full_info($product_selected_id);
     if (!$product->exists()) {
         return;
     }
     $product->nutrition->get_full_info();
     $meras_available = '<option value = 0> 100 gramms </option>';
     foreach ($product->mera as $mera) {
         $meras_available .= '<option value = ' . $mera->join_seq . '> ' . $mera->join_name . ' ( ' . $mera->join_value . ' gm ) </option>';
     }
     #print_flex($meras_available);
     $nutrition_categories->get_full_info();
     $this->data['dm_nutrition_categories'] = $nutrition_categories;
     $return_arr['nutrition_facts'] = $this->load->view('shared/nutrition_facts', array('dm_nutritions' => $product->nutrition), true);
     $return_arr['nutrition_tables'] = $this->load->view('products/nutrition_tables', array('dm_product' => $product, 'dm_nutrition_categories' => $nutrition_categories), true);
     $return_arr['meras_available'] = $meras_available;
     $return_arr['status'] = true;
     echo json_encode($return_arr);
     return;
 }
Esempio n. 5
0
 function edit($id = false)
 {
     $this->load->library('form_validation');
     # Js function from main.js which loads by default
     array_push($this->data['js_functions'], array('name' => 'products_edit_init', 'data' => FALSE));
     $product = new Product($id);
     # if form validates
     if ($this->form_validation->run('products_edit')) {
         $product->product_category_id = $this->input->post('product_category_id');
         $product->mera_id = $this->input->post('mera_id');
         $product->price = $this->input->post('price');
         $product->units_for_price = $this->input->post('units_for_price');
         $product->mera_for_price = $this->input->post('mera_for_price');
         #
         if ($this->save_object_name($product)) {
             $nutrition_categories = new Nutrition_category();
             $nutrition_categories->get();
             #
             foreach ($nutrition_categories as $nc) {
                 if (!$this->input->post('nutrition_category_' . $nc->id)) {
                     continue;
                 }
                 $nc->save($product);
                 $nc->set_join_field($product, 'value', $this->input->post('nutrition_category_' . $nc->id));
             }
             #NUTRITION
             $hidden_nutrition_add = $this->input->post('hidden_nutrition') ? $this->input->post('hidden_nutrition') : array();
             $hidden_nutrition_remove = $this->input->post('hidden_nutrition_removed') ? $this->input->post('hidden_nutrition_removed') : array();
             #
             $hidden_nutrition_add = array_map('explode_ext', $hidden_nutrition_add);
             #
             $hidden_nutrition_remove = array_diff($hidden_nutrition_remove, return_subarray_by_key('id', $hidden_nutrition_add));
             #SAVE Nutrition
             $nutrition = new Nutrition();
             foreach ($hidden_nutrition_add as $hn_add) {
                 $nutrition->get_by_id($hn_add['id']);
                 $product->save($nutrition);
                 $product->set_join_field($nutrition, 'value', $hn_add['value']);
             }
             #DELETE Nutrition
             if ($hidden_nutrition_remove) {
                 $nutrition->where_in('id', $hidden_nutrition_remove)->get();
                 $product->delete($nutrition->all);
             }
             #MERAS-PRODUCT
             $selected_mera = $this->input->post('selected_meras');
             $meras = new Mera();
             if ($selected_mera) {
                 $meras->where_not_in('id', $selected_mera)->get();
                 $product->delete($meras->all);
                 $meras->where_in('id', $selected_mera)->get();
                 $product->save($meras->all);
             }
             #IMAGES
             #esli biblioteka my_upload_image_lib proinicializirovalas' verno to image zagrujaetca i resize
             $this->upload_image_lib->initialize(array('type' => 'product', 'size' => 'tiny'));
             #vozvrashaet polnoe ima kartinki primer: pi_id.jpg; v bazu sohranaetsa tol'ko $recipe_image_id
             $image_name = $this->upload_image_lib->upload_resize_img('image', $product->id);
             if ($image_name) {
                 $product->image = $image_name;
                 $product->save();
             }
             $this->data['form_success'] = 'Продукт добавлен';
         } else {
             $this->data['form_error'] = $product->error->string;
         }
     } else {
         echo validation_errors();
     }
     #
     $meras = new Mera();
     $product = new Product();
     $nutrition_categories = new Nutrition_category();
     $languages = new Language();
     $product_categories->get_full_info();
     $product_categories->product_type->get_full_info();
     $product_categories->product_type->product->get_full_info($id);
     $product_categories->product_type->product->language->get_full_info();
     $product_categories->product_type->product->nutrition->get_full_info();
     $product_categories->product_type->product->nutrition->convert_to_mera(1);
     $meras_available = array('100 gramms');
     foreach ($product_categories->product_type->product->mera as $mera) {
         $meras_available[$mera->join_seq] = $mera->join_name . ' ( ' . $mera->join_value . ' gm )';
     }
     #
     $meras->get_full_info();
     #
     $nutrition_categories->get_full_info();
     #
     $languages->get_iterated();
     #
     $this->data['meras_available'] = $meras_available;
     $this->data['dm_product_categories'] = $product_categories;
     $this->data['dm_product_types'] = $product_categories->product_type;
     $this->data['dm_product'] = $product_categories->product_type->product;
     $this->data['dm_nutrition_categories'] = $nutrition_categories;
     $this->data['dm_languages'] = $languages;
     $this->data['meras'] = $meras;
     $this->template->load('/admin/templates/main_template', '/admin/products/edit', $this->data);
 }
Esempio n. 6
0
 function get_nutrition_by_mera()
 {
     $product_id = $this->input->post('number_product_id');
     $mera_selected = $this->input->post('mera_id');
     $product = new Product();
     $nutrition_categories = new Nutrition_category();
     $product->get_full_info($product_id);
     $product->nutrition->convert_to_mera($mera_selected);
     $nutrition_categories->get_full_info();
     $this->data['dm_product'] = $product;
     $this->data['dm_nutrition_categories'] = $nutrition_categories;
     $this->load->view('admin/products/sub/nutrition_tables', $this->data);
 }