public function add_product()
 {
     access::verify_csrf();
     $form = product::get_add_form_admin();
     try {
         $valid = $form->validate();
         $product = ORM::factory("product");
         $product->name = $form->add_product->inputs["name"]->value;
         $product->description = $form->add_product->description->value;
         $product->postage_band_id = $form->add_product->postage_band->value;
         $product->validate();
     } catch (ORM_Validation_Exception $e) {
         // Translate ORM validation errors into form error messages
         foreach ($e->validation->errors() as $key => $error) {
             $form->add_product->inputs[$key]->add_error($error, 1);
         }
         $valid = false;
     }
     if ($valid) {
         $product->save();
         message::success(t("Created product %product_name", array("product_name" => html::clean($product->name))));
         print json_encode(array("result" => "success"));
     } else {
         print json_encode(array("result" => "error", "form" => (string) $form));
     }
 }
Пример #2
0
 public function add_product()
 {
     access::verify_csrf();
     $form = product::get_add_form_admin();
     $valid = $form->validate();
     $name = $form->add_product->inputs["name"]->value;
     $product = ORM::factory("product")->where("name", "=", $name)->find();
     if ($product->loaded()) {
         $form->add_product->inputs["name"]->add_error("in_use", 1);
         $valid = false;
     }
     if ($valid) {
         $product = product::create($name, $form->add_product->cost->value, $form->add_product->description->value, $form->add_product->postage_band->value);
         $product->save();
         message::success(t("Created product %product_name", array("product_name" => html::clean($product->name))));
         print json_encode(array("result" => "success"));
     } else {
         print json_encode(array("result" => "error", "form" => $form->__toString()));
     }
 }