public function action_add_gift() { $view = View::factory('bookmarklet/add_gift'); $view->url = @$_GET['u']; $view->categories = ORM::factory('category')->order_by('name', 'asc')->find_all()->as_array('id', 'name'); $view->lists = $this->me('owner')->lists->order_by('updated', 'desc')->find_all()->as_array('id', 'name'); $view->errors = array(); if ($_POST) { if (!arr::get($_POST, 'list_id')) { $view->errors = 'Please select a list'; } else { $list = new Model_List((int) arr::get($_POST, 'list_id')); if ($list->owner->id != $this->me()->id) { Request::current()->redirect('user/noaccess'); } if (arr::get($_POST, 'name') && arr::get($_POST, 'category_id')) { $gift = new Model_Gift(); $gift->list_id = $list->id; $gift->name = arr::get($_POST, 'name'); $gift->price = arr::get($_POST, 'price'); $gift->url = arr::get($_POST, 'url'); $gift->category_id = arr::get($_POST, 'category_id'); $gift->details = arr::get($_POST, 'details'); $gift->save(); Message::add('success', 'Your gift has been added'); Request::current()->redirect('bookmarklet/added/' . $gift->id); } if (!arr::get($_POST, 'name')) { $view->errors['name'] = Kohana::message('gift', 'title-required'); } if (!arr::get($_POST, 'category_id')) { $view->errors['cat'] = 'Please select a category'; } } } $this->template->content = $view; }
public function giftAction() { if ($this->_request->isPost()) { $data = $this->_request->getParams(); unset($data["action"]); unset($data["controller"]); unset($data["module"]); if (trim($data["coupon"]) == "") { unset($data["coupon"]); } $data["user"] = $this->admin->{"username"}; $modelUser = new Model_User(); $allUser = $modelUser->listAllId(); $modelGift = new Model_Gift(); foreach ($allUser as $u) { $data["user_recieve_id"] = $u["user_id"]; $modelGift->save($data); } } }
private function reserve_items(View &$view) { if (!arr::get($_POST, 'reserve')) { $view->errors = 'Please select some gifts to reserve'; return; } $reserved = 0; foreach (arr::get($_POST, 'reserve') as $gift_id) { // TODO: check gift is on a list you're allowed to access // TOOD: check gift has not been reserved by someone else // add this gift to me $me = new Model_Owner($this->me()->id); $gift = new Model_Gift((int) $gift_id); $gift->reserver_id = $me; $gift->save(); // this should work //$gift->add('reserver', $me); //$me->add('reservations', $gift); $reserved++; } Message::add('success', __('Reserved ' . $reserved . ' gift(s).')); Request::current()->redirect('gift/shopping'); }
public function action_prices() { // update multiple gift prices if (empty($_POST['price']) || !is_array($_POST['price'])) { Message::add('danger', __('No prices to update.')); Request::current()->redirect('gift/shopping'); } foreach ($_POST['price'] as $gift_id => $price) { $gift = new Model_Gift((int) $gift_id); if (!$gift->loaded() || $gift->reserver_id != $this->me()->id || $gift->reserver_id != $gift->buyer_id) { Message::add('danger', __('You have not bought this gift.')); Request::current()->redirect(''); } $gift->bought_price = (double) $price; $gift->save(); } Message::add('success', __('Successfully updated gift prices.')); Request::current()->redirect('gift/shopping'); }