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)); } }
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())); } }