public function delete($id = false) { if ($id) { $coupon = \CI::Coupons()->getCoupon($id); //if the promo does not exist, redirect them to the customer list with an error if (!$coupon) { \CI::session()->set_flashdata('error', lang('error_not_found')); redirect('admin/coupons'); } else { \CI::Coupons()->deleteCoupon($id); \CI::session()->set_flashdata('message', lang('message_coupon_deleted')); redirect('admin/coupons'); } } else { //if they do not provide an id send them to the promo list page with an error \CI::session()->set_flashdata('message', lang('error_not_found')); redirect('admin/coupons'); } }
function submitOrder($transaction = false) { foreach ($this->items as $item) { if ($item->type == 'gift card') { //touch giftcard \CI::GiftCards()->updateAmountUsed($item->description, $item->total_price); continue; } elseif ($item->type == 'coupon') { //touch coupon \CI::Coupons()->touchCoupon($item->description); continue; } elseif ($item->type == 'product') { //update inventory if ($item->track_stock) { \CI::Products()->touchInventory($item->product_id, $item->quantity); } //if this is a giftcard purchase, generate it and send it where it needs to go. if ($item->is_giftcard) { //process giftcard $options = CI::Orders()->getItemOptions(GC::getCart()->id); $giftCard = []; foreach ($options[$item->id] as $option) { if ($option->option_name == 'gift_card_amount') { $giftCard[$option->option_name] = $option->price; } else { $giftCard[$option->option_name] = $option->value; } } $giftCard['code'] = generate_code(); $giftCard['activated'] = 1; //save the card \CI::GiftCards()->saveCard($giftCard); //send the gift card notification \GoCart\Emails::giftCardNotification($giftCard); } } } if (!$transaction) { $transaction = $this->transaction(); } //add transaction info to the order $this->cart->order_number = $transaction->order_number; $this->cart->transaction_id = $transaction->id; $this->cart->status = config_item('order_status'); $this->cart->ordered_on = date('Y-m-d H:i:s'); $orderNumber = $this->cart->order_number; $this->saveCart(); //refresh the cart $this->getCart(true); //get the order as it would be on the order complete page $order = \CI::Orders()->getOrder($orderNumber); //send the cart email \GoCart\Emails::Order($order); //return the order number return $orderNumber; }