Example #1
0
 /**
  * Delete Order Product
  * 
  * @param type $id  = Product ID
  */
 public function action_delete_product($order_id = false, $product_id = false)
 {
     if (is_numeric($order_id) && is_numeric($product_id)) {
         if ($order = \Order\Model_Order::find_one_by_id($order_id)) {
             if (count($order->products) > 1) {
                 // Get product item to delete
                 if ($product = \Order\Model_Products::find_one_by_id($product_id)) {
                     try {
                         if ($artworks = $product->artwork) {
                             $ysi = \Yousendit\Base::forge();
                             $ysi->login();
                             foreach ($artworks as $artwork) {
                                 $ysi->delete_artwork($artwork->file_id);
                             }
                         }
                         $product->delete();
                         \Messages::success('Order product successfully deleted.');
                     } catch (\Database_Exception $e) {
                         \Messages::error('There was an error while trying to delete order product');
                     }
                 }
             } else {
                 \Messages::error('You can\'t delete all order products. Please delete order instead.');
             }
             \Order\Model_Order::recalculate_order($order_id);
         }
     }
     if (is_numeric($order_id)) {
         \Response::redirect(\Input::referrer(\Uri::create('admin/order/update' . $order_id)));
     } else {
         \Response::redirect(\Input::referrer(\Uri::create('admin/order/list')));
     }
 }