public function add_postage_band() { access::verify_csrf(); $form = postage_band::get_add_form_admin(); try { $valid = $form->validate(); $postage_band = ORM::factory("postage_band"); $postage_band->name = $form->add_postage->inputs["name"]->value; $postage_band->flat_rate = $form->add_postage->flat_rate->value; $postage_band->per_item = $form->add_postage->per_item->value; $postage_band->validate(); } catch (ORM_Validation_Exception $e) { // Translate ORM validation errors into form error messages foreach ($e->validation->errors() as $key => $error) { $form->add_postage->inputs[$key]->add_error($error, 1); } $valid = false; } if ($valid) { $postage_band->save(); message::success(t("Created postage band %postage_name", array("postage_name" => html::clean($postage_band->name)))); print json_encode(array("result" => "success")); } else { print json_encode(array("result" => "error", "form" => (string) $form)); } }
public function add_postage_band() { access::verify_csrf(); $form = postage_band::get_add_form_admin(); $valid = $form->validate(); $name = $form->add_postage->inputs["name"]->value; $postage = ORM::factory("postage_band")->where("name", "=", $name)->find(); if ($postage->loaded()) { $form->add_postage->inputs["name"]->add_error("in_use", 1); $valid = false; } if ($valid) { $postage = postage_band::create($name, $form->add_postage->flat_rate->value, $form->add_postage->per_item->value); $postage->save(); message::success(t("Created postage band %postage_name", array("postage_name" => html::clean($postage->name)))); print json::reply(array("result" => "success")); } else { print $form; } }