Commit 238e55f8 by Jansa Jose

dc

parent 4fec86f5
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Orders extends CI_Controller {
public function __construct() {
parent::__construct();
date_default_timezone_set("Asia/Kolkata");
$this->load->model('Order_model');
if(!$this->session->userdata('logged_in')) {
redirect(base_url('Login'));
}
}
public function listOrders(){
$template['page'] = 'Orders/list_orders';
$template['pTitle'] = "View Orders";
$template['pDescription'] = "View and Manage Orders";
$template['menu'] = "Order Management";
$template['smenu'] = "View Orders";
$template['orderData'] = $this->Order_model->getOrders();
$this->load->view('template',$template);
}
public function getOrderData(){
$return_arr = array('status'=>'0');
if(!isset($_POST) || empty($_POST) || !isset($_POST['order_id']) || empty($_POST['order_id']) || empty(decode_param($_POST['order_id']))){
echo json_encode($return_arr);exit;
}
$order_id = decode_param($_POST['order_id']);
$return_arr['order_data'] = $this->Order_model->getOrderDetails($order_id);
$return_arr['product_image'] = $this->Order_model->getProductImage($order_id);
if(!empty($return_arr)){
$return_arr['status'] = 1;
echo json_encode($return_arr);exit;
}
echo json_encode($return_arr);exit;
}
}
?>
\ No newline at end of file
...@@ -77,6 +77,15 @@ class Product extends CI_Controller { ...@@ -77,6 +77,15 @@ class Product extends CI_Controller {
}else if($err == 0 && (!isset($_POST['amount']) || empty($_POST['amount']))){ }else if($err == 0 && (!isset($_POST['amount']) || empty($_POST['amount']))){
$err = 1; $err = 1;
$errMsg = 'Provide a Amount'; $errMsg = 'Provide a Amount';
}else if($err == 0 && (!isset($_POST['vehYear']) || empty($_POST['vehYear']))){
$err = 1;
$errMsg = 'Select Vehicle Year';
}else if($err == 0 && (!isset($_POST['vehMake']) || empty($_POST['vehMake']))){
$err = 1;
$errMsg = 'Select Vehicle Make';
}else if($err == 0 && (!isset($_POST['vehModel']) || empty($_POST['vehModel']))){
$err = 1;
$errMsg = 'Select Vehicle Model';
} }
if($err == 1){ if($err == 1){
...@@ -121,29 +130,33 @@ class Product extends CI_Controller { ...@@ -121,29 +130,33 @@ class Product extends CI_Controller {
} }
} }
public function editproduct($brand_id){ public function editproduct($product_id){
$flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error'); $flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error');
if(empty($brand_id) || !is_numeric($brand_id = decode_param($brand_id))){ if(empty($product_id) || !is_numeric($product_id = decode_param($product_id))){
$this->session->set_flashdata('message',$flashMsg); $this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Product/viewProducts')); redirect(base_url('Product/viewProducts'));
} }
$template['page'] = 'Product/addProducts'; $template['page'] = 'Product/addProduct';
$template['menu'] = 'brand Management'; $template['menu'] = 'Brand Management';
$template['smenu'] = 'Edit brand'; $template['smenu'] = 'Edit brand';
$template['pTitle'] = "Edit brand"; $template['pTitle'] = "Edit brand";
$template['pDescription'] = "Update brand Data"; $template['pDescription'] = "Update brand Data";
$template['brand_id'] = encode_param($brand_id); $template['product_id'] = encode_param($product_id);
$template['brand_data'] = $this->Product_model->getbrand($brand_id,1); $template['brand_data'] = $this->Brand_model->getbrand('',1);
$template['product_data'] = $this->Product_model->getProduct($product_id);
$template['product_image'] = $this->Product_model->getProductImage($product_id);
$template['brand_id'] = $template['product_data']->brand_id;
$this->load->view('template',$template); $this->load->view('template',$template);
} }
public function updateproduct($brand_id = ''){ public function updateproduct($product_id = ''){
$err = 0; $err = 0;
$errMsg = ''; $errMsg = '';
$flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error'); $flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error');
if(empty($brand_id) || !isset($_POST) || empty($_POST) || !is_numeric(decode_param($brand_id))){ if(empty($product_id) || !isset($_POST) || empty($_POST) || !is_numeric(decode_param($product_id))){
$this->session->set_flashdata('message',$flashMsg); $this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Product/viewProducts')); redirect(base_url('Product/viewProducts'));
} }
...@@ -151,23 +164,33 @@ class Product extends CI_Controller { ...@@ -151,23 +164,33 @@ class Product extends CI_Controller {
$this->session->set_flashdata('message',$flashMsg); $this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Product/addProduct')); redirect(base_url('Product/addProduct'));
} }
if($err == 0 && (!isset($_POST['brand_name']) || empty($_POST['brand_name']))){ if($err == 0 && (!isset($_POST['brand_id']) || empty($_POST['brand_id']))){
$err = 1; $err = 1;
$errMsg = 'Provide a brand Name'; $errMsg = 'Please Select a Brand';
} }else if($err == 0 && (!isset($_POST['short_description']) || empty($_POST['short_description']))){
$err = 1;
if($err == 0){ $errMsg = 'Provide a short Description';
$config = set_upload_service("assets/uploads/brands"); }else if($err == 0 && (!isset($_POST['product_name']) || empty($_POST['product_name']))){
$this->load->library('upload'); $err = 1;
$config['file_name'] = time()."_".$_FILES['brand_logo']['name']; $errMsg = 'Provide a Product Name';
$this->upload->initialize($config); }else if($err == 0 && (!isset($_POST['description']) || empty($_POST['description']))){
if(!$this->upload->do_upload('brand_logo')){ $err = 1;
$err = 1; $errMsg = 'Provide a Description';
$errMsg = $this->upload->display_errors(); }else if($err == 0 && (!isset($_POST['about']) || empty($_POST['about']))){
}else{ $err = 1;
$upload_data = $this->upload->data(); $errMsg = 'Provide a About';
$_POST['brand_logo'] = $config['upload_path']."/".$upload_data['file_name']; }else if($err == 0 && (!isset($_POST['amount']) || empty($_POST['amount']))){
} $err = 1;
$errMsg = 'Provide a Amount';
}else if($err == 0 && (!isset($_POST['vehYear']) || empty($_POST['vehYear']))){
$err = 1;
$errMsg = 'Select Vehicle Year';
}else if($err == 0 && (!isset($_POST['vehMake']) || empty($_POST['vehMake']))){
$err = 1;
$errMsg = 'Select Vehicle Make';
}else if($err == 0 && (!isset($_POST['vehModel']) || empty($_POST['vehModel']))){
$err = 1;
$errMsg = 'Select Vehicle Model';
} }
if($err == 1){ if($err == 1){
...@@ -175,9 +198,37 @@ class Product extends CI_Controller { ...@@ -175,9 +198,37 @@ class Product extends CI_Controller {
$this->session->set_flashdata('message',$flashMsg); $this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Product/addProduct')); redirect(base_url('Product/addProduct'));
} }
$existingImages = (isset($_POST['existingImages']) && !empty($_POST['existingImages']))?
$_POST['existingImages']:'';
unset($_POST['existingImages']);
$product = $this->Product_model->updateProduct(decode_param($product_id),$_POST);
if($product){
$evtMediaData = array();
if(!empty($files = $_FILES)){
$images = array();
$this->load->library('upload');
$config = set_upload_service("assets/uploads/products");
for ($typ = 0; $typ < count($files['product_image']['name']); $typ++) {
$_FILES['file']['name'] = $files['product_image']['name'][$typ];
$_FILES['file']['type'] = $files['product_image']['type'][$typ];
$_FILES['file']['size'] = $files['product_image']['size'][$typ];
$_FILES['file']['error'] = $files['product_image']['error'][$typ];
$_FILES['file']['tmp_name'] = $files['product_image']['tmp_name'][$typ];
$config['file_name'] = time()."_".$_FILES['file']['name'];
$this->upload->initialize($config);
if($this->upload->do_upload('file')){
$imgData = $this->upload->data();
$evtMediaData[] = array(
'product_id'=>decode_param($product_id),
'image'=>"assets/uploads/products/".$imgData['file_name']);
}
}
$status = $this->Product_model->updateProductImage(decode_param($product_id),$evtMediaData,$existingImages);
}
}
$status = $this->Product_model->updateProducts(decode_param($brand_id),$_POST); if($status || $product){
if($status == 1){
$flashMsg =array('message'=>'Successfully Updated brand Details..!','class'=>'success'); $flashMsg =array('message'=>'Successfully Updated brand Details..!','class'=>'success');
$this->session->set_flashdata('message', $flashMsg); $this->session->set_flashdata('message', $flashMsg);
redirect(base_url('Product/viewProducts')); redirect(base_url('Product/viewProducts'));
...@@ -187,6 +238,23 @@ class Product extends CI_Controller { ...@@ -187,6 +238,23 @@ class Product extends CI_Controller {
} }
} }
public function getProductData(){
$return_arr = array('status'=>'0');
if(!isset($_POST) || empty($_POST) || !isset($_POST['product_id']) || empty($_POST['product_id']) ||
empty(decode_param($_POST['product_id']))){
echo json_encode($return_arr);exit;
}
$product_id = decode_param($_POST['product_id']);
$return_arr['product_data'] = $this->Product_model->getProduct($product_id);
$return_arr['product_image'] = $this->Product_model->getProductImage($product_id);
if(!empty($return_arr)){
$return_arr['status'] = 1;
echo json_encode($return_arr);exit;
}
echo json_encode($return_arr);exit;
}
} }
?> ?>
\ No newline at end of file
...@@ -188,7 +188,7 @@ ...@@ -188,7 +188,7 @@
echo json_encode($respArr); exit; echo json_encode($respArr); exit;
} }
// customer_registration // Service Provider registration
public function service_provider_registration(){ public function service_provider_registration(){
header('Content-type: application/json'); header('Content-type: application/json');
$post = file_get_contents("php://input"); $post = file_get_contents("php://input");
...@@ -1325,6 +1325,7 @@ ...@@ -1325,6 +1325,7 @@
echo json_encode($getServices);exit; echo json_encode($getServices);exit;
} }
//Mechanic Rating
public function rate_mechanic(){ public function rate_mechanic(){
header('Content-type:application/json'); header('Content-type:application/json');
$headers = apache_request_headers(); $headers = apache_request_headers();
...@@ -1347,6 +1348,7 @@ ...@@ -1347,6 +1348,7 @@
echo json_encode($result);exit; echo json_encode($result);exit;
} }
//Accept Mechanic Quote
public function acceptMechanicQuote(){ public function acceptMechanicQuote(){
header('Content-type:application/json'); header('Content-type:application/json');
$headers = apache_request_headers(); $headers = apache_request_headers();
...@@ -1358,15 +1360,45 @@ ...@@ -1358,15 +1360,45 @@
echo json_encode($result);exit; echo json_encode($result);exit;
} }
public function payNow($transId) { //Payment Integration of Mechanic Booking
$result = array(); public function payNow($transId=''){
$mech_data = $this->Webservice_model->getMechAmount($transId); if(empty($transId)){
$amount = $mech_data['data']['amount'] * 100; $this->fail();
$callback_url = base_url().'Webservices/verify_payment/'.$transId; }
$postdata = array('email' => $mech_data['emailId'], 'amount' => $amount,"reference" => $transId, "callback_url" => $callback_url);
$mechData = $this->Webservice_model->getMechAmount($transId);
$amount = $mechData['data']['amount'] * 100;
$callback = base_url().'Webservices/verify_payment/'.$transId.'/1';
$postdata = array('email' => $mechData['emailId'],
'amount' => $amount,
'reference' => $transId,
'callback_url' => $callback);
$this->payStackPayment($postdata);
}
//Payment Integration of Order Booking
public function orderPayNow($orderId=''){
if(empty($orderId)){
$this->fail();
}
$orderData = $this->Webservice_model->getOrderPayDetails($orderId);
if($orderData['status'] == 'success'){
$amount = $orderData['data']->amount * 100;
$callback = base_url().'Webservices/verify_payment/'.$orderId.'/2';
$postdata = array('email' => $orderData['data']->email,
'amount' => $amount,
'reference' => $orderId,
'callback_url' => $callback);
$this->payStackPayment($postdata);
}
}
public function payStackPayment($postdata=array()) {
$url = "https://api.paystack.co/transaction/initialize"; $url = "https://api.paystack.co/transaction/initialize";
$ch = curl_init(); $ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,json_encode($postdata)); //Post Fields curl_setopt($ch, CURLOPT_POSTFIELDS,json_encode($postdata)); //Post Fields
...@@ -1378,10 +1410,12 @@ ...@@ -1378,10 +1410,12 @@
'Authorization: Bearer '.PAYSTACK_SECRET_KEY, 'Authorization: Bearer '.PAYSTACK_SECRET_KEY,
'Content-Type: application/json', 'Content-Type: application/json',
]; ];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$request = curl_exec ($ch); $request = curl_exec ($ch);
curl_close ($ch); curl_close ($ch);
$result = array();
if ($request) { if ($request) {
$result = json_decode($request, true); $result = json_decode($request, true);
} }
...@@ -1389,7 +1423,11 @@ ...@@ -1389,7 +1423,11 @@
header("Location: ".$redir); header("Location: ".$redir);
} }
public function verify_payment($ref) { public function verify_payment($ref='',$payFor='1') {
if(empty($ref)){
$this->fail();
}
$result = array(); $result = array();
$url = 'https://api.paystack.co/transaction/verify/'.$ref; $url = 'https://api.paystack.co/transaction/verify/'.$ref;
$ch = curl_init(); $ch = curl_init();
...@@ -1406,34 +1444,50 @@ ...@@ -1406,34 +1444,50 @@
if ($request) { if ($request) {
$result = json_decode($request, true); $result = json_decode($request, true);
$status = $this->Webservice_model->transactionResp($ref,$result); $status = $this->Webservice_model->transactionResp($ref,$result,$payFor);
if($status){ if($status){
if($result){ if($result){
if($result['data']){ if($result['data']){
if($result['data']['status'] == 'success'){ if($result['data']['status'] == 'success'){
header("Location: ".base_url().'Webservices/success/'.$ref); header("Location:".base_url('Webservices/success/'.$ref.'/'.$payFor));
}else{ }else{
header("Location: ".base_url().'Webservices/fail/'.$ref); header("Location:".base_url('Webservices/fail/'.$ref.'/'.$payFor));
} }
} }
else{ else{
header("Location: ".base_url().'Webservices/fail/'.$ref); header("Location: ".base_url('Webservices/fail/'.$ref.'/'.$payFor));
} }
}else{ }else{
header("Location: ".base_url().'Webservices/fail/'.$ref); header("Location: ".base_url('Webservices/fail/'.$ref.'/'.$payFor));
} }
} }
}else{ }else{
header("Location: ".base_url().'Webservices/fail/'.$ref); header("Location: ".base_url('Webservices/fail/'.$ref.'/'.$payFor));
} }
} }
public function fail($ref = ''){ public function fail($ref='',$payFor='1'){
header("Location: https://carfixxers.com/dashboard?status=failure&tab=appointment&ref=".$ref); $settings = getSettings();
if($payFor == '1'){
$url = $settings['web_url']."/dashboard?status=failure&tab=appointment&ref=".$ref;
header("Location:".$url);
}else{
$url = $settings['web_url']."/purchaseHome?status=failure&ref=".$ref;
header("Location:".$url);
}
}
public function success($ref='',$payFor='1'){
if($payFor == '1'){
$this->serviceBookSuccess($ref);
}else{
$this->orderPlacedSuccess($ref);
}
} }
public function success($ref = ''){ public function serviceBookSuccess($ref=''){
$this->db->select('customer_vehicle.car_name,bookings.scheduled_date,bookings.scheduled_time,customers.email,bookings.cost'); $this->db->select('customer_vehicle.car_name,bookings.scheduled_date,bookings.scheduled_time,
customers.email,bookings.cost');
$this->db->from('transaction'); $this->db->from('transaction');
$this->db->join('bookings','transaction.booking_id = bookings.booking_id'); $this->db->join('bookings','transaction.booking_id = bookings.booking_id');
$this->db->join('customer_vehicle','customer_vehicle.customer_veh_id = bookings.customer_veh_id'); $this->db->join('customer_vehicle','customer_vehicle.customer_veh_id = bookings.customer_veh_id');
...@@ -1453,7 +1507,142 @@ ...@@ -1453,7 +1507,142 @@
$message = str_replace(array('{:car_name}','{:book_date}','{:amount}'),array($bookData->car_name,$bookData->scheduled_date,$bookData->cost),$template['success_booking']); $message = str_replace(array('{:car_name}','{:book_date}','{:amount}'),array($bookData->car_name,$bookData->scheduled_date,$bookData->cost),$template['success_booking']);
} }
send_mail($subject,$email_id,$message); send_mail($subject,$email_id,$message);
header("Location: https://carfixxers.com/dashboard?status=success&tab=appointment&ref=".$ref);
$settings = getSettings();
$url = $settings['web_url']."/dashboard?status=success&tab=appointment&ref=".$ref;
header("Location: ".$url);
}
public function orderPlacedSuccess($ref=''){
$settings = getSettings();
$url = $settings['web_url']."/track?status=success&ref=".$ref;
header("Location: ".$url);
}
//Search Products
public function productSearch(){
header('Content-type:application/json');
$headers = apache_request_headers();
$post = file_get_contents("php://input");
$postData = json_decode($post,true);
$result = $this->Webservice_model->productSearch($postData);
echo json_encode($result);exit;
}
//Get Brands
public function getBrands(){
header('Content-type:application/json');
$headers = apache_request_headers();
$result = $this->Webservice_model->getBrands();
echo json_encode($result);exit;
}
//Search Product By Brand
public function productSearchbyBrand(){
header('Content-type:application/json');
$headers = apache_request_headers();
$post = file_get_contents("php://input");
$postData = json_decode($post,true);
$result = $this->Webservice_model->productSearchbyBrand($postData);
echo json_encode($result);exit;
}
//Single Product Search
public function SingleProductSearch(){
header('Content-type:application/json');
$headers = apache_request_headers();
$post = file_get_contents("php://input");
$postData = json_decode($post,true);
$result = $this->Webservice_model->SingleProductSearch($postData);
echo json_encode($result);exit;
}
//Save User Address
public function saveUserAddress(){
header('Content-type:application/json');
$headers = apache_request_headers();
$post = file_get_contents("php://input");
$postData = json_decode($post,true);
$result = $this->Webservice_model->saveUserAddress($postData);
echo json_encode($result);exit;
}
//Initiate Order Booking
public function initOrderBooking(){
header('Content-type:application/json');
$headers = apache_request_headers();
$post = file_get_contents("php://input");
$postData = json_decode($post,true);
$result = $this->Webservice_model->initOrderBooking($postData);
echo json_encode($result);exit;
}
//Get User Address
public function getUserAddress(){
header('Content-type:application/json');
$headers = apache_request_headers();
$post = file_get_contents("php://input");
$postData = json_decode($post,true);
$result = $this->Webservice_model->getUserAddress($postData);
echo json_encode($result);exit;
}
//Get User Address By Id
public function getUserAddressById(){
header('Content-type:application/json');
$headers = apache_request_headers();
$post = file_get_contents("php://input");
$postData = json_decode($post,true);
$result = $this->Webservice_model->getUserAddressById($postData);
echo json_encode($result);exit;
}
//Update User Address
public function updateUserAddress(){
header('Content-type:application/json');
$headers = apache_request_headers();
$post = file_get_contents("php://input");
$postData = json_decode($post,true);
$result = $this->Webservice_model->updateUserAddress($postData);
echo json_encode($result);exit;
}
//Get Order Details
public function getOrderDetail(){
header('Content-type:application/json');
$headers = apache_request_headers();
$post = file_get_contents("php://input");
$postData = json_decode($post,true);
$result = $this->Webservice_model->getOrderDetail($postData);
echo json_encode($result);exit;
}
public function rateProduct(){
header('Content-type:application/json');
$headers = apache_request_headers();
$post = file_get_contents("php://input");
$postData = json_decode($post,true);
$result = $this->Webservice_model->rateProduct($postData);
echo json_encode($result);exit;
} }
} }
......
<?php
class Order_model extends CI_Model {
public function _consruct(){
parent::_construct();
}
public function getOrders(){
$this->db->select("ORD.format_order_id,ORD.quantity,ORD.amount,ORD.status,PRD.product_name,TRIM(CONCAT(CUST.first_name,' ' ,IFNULL(CUST.last_name,''))) as customer_name,ORD.order_id");
$this->db->from('orders AS ORD');
$this->db->join('products AS PRD','PRD.product_id = ORD.product_id');
$this->db->join('customers AS CUST','CUST.customer_id = ORD.customer_id');
$result = $this->db->get()->result();
if(!empty($result)){
return $result;
}
}
public function getOrderDetails($order_id){
if($order_id == ''){
return 0;
}
$result = $this->db->query("SELECT ORD.*,PRD.product_name,PRD.short_description,PRDB.brand_name,TRIM(CONCAT(CUST.first_name,' ' ,IFNULL(CUST.last_name,''))) as customer_name,
CASE WHEN ORD.status = 0 THEN 'Inactive'
WHEN ORD.status = 1 THEN 'Payment Processing'
WHEN ORD.status = 2 THEN 'Order Places'
WHEN ORD.status = 3 THEN 'Order Packed'
WHEN ORD.status = 4 THEN 'Order Shipped'
WHEN ORD.status = 5 THEN 'Ordered Delivered'
WHEN ORD.status = 6 THEN 'Returned'
WHEN ORD.status = 7 THEN 'Cancelled'
WHEN ORD.status = 8 THEN 'Deleted'
ELSE 'Payment Failed' END AS status
FROM orders AS ORD
JOIN products AS PRD on PRD.product_id = ORD.product_id
JOIN product_brand AS PRDB on PRDB.brand_id = PRD.brand_id
JOIN customers AS CUST on CUST.customer_id = ORD.customer_id
WHERE ORD.order_id = $order_id");
if(empty($result)){
return;
}
return $result->row();
}
public function getProductImage($order_id){
$result = $this->db->query("SELECT PRDI.image FROM orders AS ORD join product_images AS PRDI on PRDI.product_id = ORD.product_id WHERE ORD.order_id = $order_id");
return (empty($result))?'':$result->result();
}
}
?>
...@@ -9,7 +9,17 @@ class Product_model extends CI_Model { ...@@ -9,7 +9,17 @@ class Product_model extends CI_Model {
if(empty($product_data)){ if(empty($product_data)){
return 0; return 0;
} }
$cardata = $this->db->get_where('cardetails',array('year'=>$product_data['vehYear'],'make'=>$product_data['vehMake'],'model'=>$product_data['vehModel']))->row();
if($cardata){
$product_data['cardetail_id'] = $cardata->id;
}else{
$this->db->insert('cardetails',array('year'=>$product_data['vehYear'],'make'=>$product_data['vehMake'],'model'=>$product_data['vehModel']));
$product_data['cardetail_id'] = $this->db->insert_id();
}
unset($product_data['vehYear']);
unset($product_data['vehMake']);
unset($product_data['vehModel']);
$status = $this->db->insert('products',$product_data); $status = $this->db->insert('products',$product_data);
$last_id = $this->db->insert_id(); $last_id = $this->db->insert_id();
return $last_id; return $last_id;
...@@ -19,7 +29,7 @@ class Product_model extends CI_Model { ...@@ -19,7 +29,7 @@ class Product_model extends CI_Model {
$cond = ($view_all != 0)?' products.status IN (0,1) ':' products.status IN (1) '; $cond = ($view_all != 0)?' products.status IN (0,1) ':' products.status IN (1) ';
$cond .= (!empty($product_id))?" AND products.product_id = '$product_id'":""; $cond .= (!empty($product_id))?" AND products.product_id = '$product_id'":"";
$result = $this->db->query("SELECT products.*,product_brand.brand_name FROM products join product_brand on product_brand.brand_id = products.brand_id WHERE $cond"); $result = $this->db->query("SELECT cardetails.make,cardetails.year,cardetails.model,products.*,product_brand.brand_name FROM products join product_brand on product_brand.brand_id = products.brand_id join cardetails on cardetails.id = products.cardetail_id WHERE $cond");
if(empty($result)){ if(empty($result)){
return; return;
} }
...@@ -30,6 +40,7 @@ class Product_model extends CI_Model { ...@@ -30,6 +40,7 @@ class Product_model extends CI_Model {
if(empty($product_id)){ if(empty($product_id)){
return 0; return 0;
} }
$this->db->update('product_images',array('status'=>$status),array('product_id'=>$product_id));
$status = $this->db->update('products',array('status'=>$status), array('product_id'=>$product_id)); $status = $this->db->update('products',array('status'=>$status), array('product_id'=>$product_id));
return $status; return $status;
} }
...@@ -38,7 +49,16 @@ class Product_model extends CI_Model { ...@@ -38,7 +49,16 @@ class Product_model extends CI_Model {
if(empty($product_id) || empty($product_data)){ if(empty($product_id) || empty($product_data)){
return 0; return 0;
} }
$cardata = $this->db->get_where('cardetails',array('year'=>$product_data['vehYear'],'make'=>$product_data['vehMake'],'model'=>$product_data['vehModel']))->row();
if($cardata){
$product_data['cardetail_id'] = $cardata->id;
}else{
$this->db->insert('cardetails',array('year'=>$product_data['vehYear'],'make'=>$product_data['vehMake'],'model'=>$product_data['vehModel']));
$product_data['cardetail_id'] = $this->db->insert_id();
}
unset($product_data['vehYear']);
unset($product_data['vehMake']);
unset($product_data['vehModel']);
$status = $this->db->update('products',$product_data,array('product_id'=>$product_id)); $status = $this->db->update('products',$product_data,array('product_id'=>$product_id));
return ($status)?1:0; return ($status)?1:0;
} }
...@@ -51,5 +71,35 @@ class Product_model extends CI_Model { ...@@ -51,5 +71,35 @@ class Product_model extends CI_Model {
return ($status)?1:0; return ($status)?1:0;
} }
function updateProductImage($product_id = '', $imagearray = array(), $existingImages = array()){
if(empty($product_id)){
return 0;
}
if(!empty($existingImages)){
$this->db->query("DELETE FROM product_images
WHERE id NOT IN (".implode(",",$existingImages).") AND product_id=$product_id");
} else {
$this->db->query("DELETE FROM product_images WHERE product_id='$product_id'");
}
if(!empty($imagearray)){
$status = $this->db->insert_batch('product_images',$imagearray);
}
return $status;
}
function getProductImage($product_id = ''){
if(empty($product_id)){
return 0;
}
$status = $this->db->get_where('product_images',array('product_id'=>$product_id))->result_array();
return $status;
}
function getVehdata(){
return $this->db->get_where('cardetails')->result_array();
}
} }
?> ?>
\ No newline at end of file
...@@ -571,16 +571,277 @@ class Webservice_model extends CI_Model { ...@@ -571,16 +571,277 @@ class Webservice_model extends CI_Model {
return $respArr; return $respArr;
} }
public function transactionResp($transId,$result){ public function transactionResp($transId,$result,$payfor){
$status = 0; $status = 0;
if($result['data']['status'] == 'success'){ if($result['data']['status'] == 'success'){
$status = 1; $status = 1;
} }
$odr_status = 9;
if($result['data']['status'] == 'success' && $payfor == '2'){
$odr_status = 2;
}
$this->db->update('transaction',array('transaction_response'=>json_encode($result),'transaction_reference'=>$result['data']['id'],'status'=>$status),array('id'=>$transId)); $this->db->update('transaction',array('transaction_response'=>json_encode($result),'transaction_reference'=>$result['data']['id'],'status'=>$status),array('id'=>$transId));
$bookData = $this->db->get_where('transaction',array('id'=>$transId))->row(); $bookData = $this->db->get_where('transaction',array('id'=>$transId))->row();
$this->db->update('bookings',array('status'=>'1'),array('booking_id'=>$bookData->booking_id)); $this->db->update('bookings',array('status'=>'1'),array('booking_id'=>$bookData->booking_id));
if($payfor == '2'){
$this->db->query("UPDATE orders JOIN transaction ON transaction.booking_id = orders.order_id SET orders.status = $odr_status WHERE transaction.id = $transId");
}
return 1; return 1;
} }
public function productSearch($postData){
$respArr = array('status'=>'error');
if(empty($postData)){
return $respArr;
}
$per_page = 10;
$page = (isset($data['page']))?$data['page']:'0';
$where = '';
if(isset($postData['key']) && !empty($postData['key'])){
$where .= " (PRD.product_name LIKE '%".$postData['key']."%' OR
PRD.short_description LIKE '%".$postData['key']."%' OR
PRD.description LIKE '%".$postData['key']."%') AND ";
}
if(isset($postData['brand_id']) && !empty($postData['brand_id'])){
$where .= " PRD.brand_id IN (".implode(',',$postData['brand_id']).") AND ";
}
if(isset($postData['minPrice']) && $postData['minPrice'] != ''){
$where .= " PRD.amount > ".$postData['minPrice']." AND ";
}
if(isset($postData['maxPrice']) && $postData['maxPrice'] != ''){
$where .= " PRD.amount < ".$postData['maxPrice']." AND ";
}
$result = $this->db->query("SELECT ROUND(AVG(REV.rating),2) AS rating,
COUNT(REV.id) AS count,PRD.*,PI.image
FROM products AS PRD
LEFT JOIN product_images AS PI ON
(PI.id=(SELECT MIN(id)
FROM product_images
WHERE product_id= PRD.product_id AND
PRD.status='1'))
LEFT JOIN product_rating AS REV ON REV.product_id = PRD.product_id
WHERE $where PRD.status='1'
GROUP BY PRD.product_id,PI.product_id
LIMIT $page,$per_page");
//pr($this->db->last_query());
if(!empty($result) && $result->num_rows() > 0){
$respArr['status'] = 'success';
$respArr['data'] = $result->result_array();
}
return $respArr;
}
public function getBrands(){
$respArr = array('status'=>'error');
$prdt_brand = $this->db->get_where('product_brand',array('status'=>'1'))->result();
if(count($prdt_brand) > 0){
$query = $this->db->query("SELECT MIN(amount) AS minamount, MAX(amount) AS maxamount
FROM products WHERE status='1'")->row();
$respArr['status'] = 'success';
$respArr['brands'] = $prdt_brand;
$respArr['minamount'] = $query->minamount;
$respArr['maxamount'] = $query->maxamount;
}
return $respArr;
}
public function SingleProductSearch($postData){
$respArr = array('status'=>'error');
if(empty($postData)){
return $respArr;
}
$sql = "SELECT ROUND(AVG(REV.rating),2) AS rating, COUNT(REV.id) AS count,PRD.*
FROM products AS PRD
LEFT JOIN product_rating AS REV ON REV.product_id = PRD.product_id
WHERE PRD.product_id =".$postData['product_id'];
$this->db->query($sql);
$result = $this->db->query($sql);
if(!empty($result) && $result->num_rows() > 0){
$respArr['status'] = 'success';
$respArr['data'] = $result->row();
$prdt_img = $this->db->get_where('product_images',array('product_id'=>$postData['product_id'],'status'=>'1'))->result();
$reviews = $this->db->get_where('product_rating',array('product_id'=>$postData['product_id'],'status'=>'1'))->result();
$respArr['data']->images = '';
$respArr['data']->reviews = '';
if(count($prdt_img) > 0){
$respArr['data']->images = $prdt_img;
}
if(count($reviews) > 0){
$respArr['data']->reviews = $reviews ;
}
}
return $respArr;
}
public function saveUserAddress($postData = array()){
$respArr = array('status'=>'error','message'=>'Something Went Wrong.. Try Again Later');
if(empty($postData)){
$respArr['message'] = 'All Field is required';
return $respArr;
}
if($this->db->insert('customer_address',$postData)){
$respArr['status'] = "success";
$respArr['message'] = "Address Added Successfully";
}
return $respArr;
}
public function getUserAddress($postData){
$respArr = array('status'=>'error');
if(empty($postData['user_id'])){
$respArr['message'] = 'User Id is required';
return $respArr;
}
$result = $this->db->get_where('customer_address',array('customer_id'=>$postData['user_id'],'status'=>'1'));
if(!empty($result) && !empty($result = $result->result())){
$respArr['status'] = 'success';
$respArr['data'] = $result;
}
return $respArr;
}
public function getUserAddressById($postData){
$respArr = array('status'=>'error');
if(empty($postData['address_id'])){
$respArr['message'] = 'Address Id is required';
return $respArr;
}
if(empty($postData['customer_id'])){
$respArr['message'] = 'Customer Id is required';
return $respArr;
}
$result = $this->db->get_where('customer_address',array('id'=>$postData['address_id'],'customer_id'=>$postData['customer_id']));
if(!empty($result) && !empty($result = $result->row())){
$respArr['status'] = 'success';
$respArr['data'] = $result;
}
return $respArr;
}
public function updateUserAddress($postData){
$respArr = array('status'=>'error');
if(empty($postData['data'])){
$respArr['message'] = 'All Field is required';
return $respArr;
}
if(empty($postData['address_id'])){
$respArr['message'] = 'Address Id is required';
return $respArr;
}
if($this->db->update('customer_address',$postData['data'],array('id'=>$postData['address_id']))){
$respArr['status'] = 'success';
$respArr['message'] = 'Address Updated Successfully';
}
return $respArr;
}
public function initOrderBooking($postData=array()){
$respArr = array('status'=>'error');
if(empty($postData['data'])){
$respArr['message'] = 'All Field is required';
return $respArr;
}
$squence = str_pad(rand(1111,9999),4,0,STR_PAD_LEFT);
$insert_array = array(
'format_order_id'=>'ORD'.date('ymd').$squence,
'product_id'=>$postData['data']['product_id'],
'customer_id'=>$postData['data']['customer_id'],
'address_id'=>$postData['data']['address_id'],
'quantity'=>$postData['data']['quantity'],
'amount'=>$postData['data']['total_amount']
);
$this->db->insert('orders',$insert_array);
$insert_id = $this->db->insert_id();
$this->db->insert('transaction',array(
'customer_id'=>$postData['data']['customer_id'],
'booking_id'=>$insert_id,
'payment_for'=>'2',
'datetime'=>date('Y-m-d h:i:s'),
'amount'=>$postData['data']['total_amount']
));
$last_id = $this->db->insert_id();
$respArr['status'] = 'success';
$respArr['data'] = $last_id;
return $respArr;
}
public function getOrderPayDetails($orderId){
$respArr = array('status'=>'error');
if(empty($orderId)){
$respArr['message'] = 'Order Id is required';
return $respArr;
}
$result = $this->db->query("SELECT TRANS.amount,CUST.email
FROM transaction TRANS
LEFT JOIN customers CUST
ON CUST.customer_id = TRANS.customer_id
WHERE TRANS.id = $orderId"
);
if(!empty($result) && !empty($result = $result->row())){
$this->db->query("UPDATE orders JOIN transaction ON transaction.booking_id = orders.order_id SET orders.status = '1' WHERE transaction.id = $orderId");
$respArr['status'] = 'success';
$respArr['data'] = $result;
}
return $respArr;
}
public function getOrderDetail($postData){
$respArr = array('status'=>'error');
if(empty($postData['ref_id'])){
$respArr['message'] = 'Transaction Id is required';
return $respArr;
}
$result = $this->db->query("SELECT TRANS.datetime,TRANS.amount,TRANS.status,PRD.product_id,
PRD.product_name,PRD.short_description,ORDS.format_order_id,ORDS.quantity,ORDS.expected_delivery,ORDS.delivered,ORDS.status AS odr_status
FROM transaction TRANS
JOIN orders ORDS ON ORDS.order_id = TRANS.booking_id
JOIN products PRD ON PRD.product_id = ORDS.product_id
WHERE TRANS.id =".$postData['ref_id']);
if(!empty($result) && !empty($result = $result->row())){
$prdt_img = $this->db->get_where('product_images',array('product_id'=>$result->product_id))->result();
$result->images = '';
if(count($prdt_img) > 0){
$result->images = $prdt_img;
}
$respArr['status'] = 'success';
$respArr['data'] = $result;
}
return $respArr;
}
public function rateProduct($postData=array()){
$respArr = array('status'=>'error');
if(empty($postData)){
$respArr['message'] = 'All Field is required';
return $respArr;
}
$postData['datetime'] = date('Y-m-d h:i:s');
if($this->db->insert('product_rating',$postData)){
$respArr['status'] = 'success';
$respArr['message'] = 'Rated Successfully';
}
return $respArr;
}
} }
?> ?>
<div class="content-wrapper">
<section class="content-header">
<h1>
<?= $pTitle ?>
<small><?= $pDescription ?></small>
</h1>
<ol class="breadcrumb">
<li><a href="<?= base_url() ?>"><i class="fa fa-star-o" aria-hidden="true"></i>Home</a></li>
<li><?= $menu ?></li>
<li class="active"><?= $smenu ?></li>
</ol>
</section>
<section class="content">
<div class="row">
<div class="col-sm-12">
<?php if($this->session->flashdata('message')) {
$flashdata = $this->session->flashdata('message'); ?>
<div class="alert alert-<?= $flashdata['class'] ?>">
<button class="close" data-dismiss="alert" type="button">×</button>
<?= $flashdata['message'] ?>
</div>
<?php } ?>
</div>
<div class="col-xs-12">
<div class="box box-warning">
<div class="box-body">
<table id="mechanicUsers" class="table table-bordered table-striped datatable ">
<thead>
<tr>
<th class="hidden">ID</th>
<th width="12%;">Order ID</th>
<th width="18%;">Product</th>
<th width="14%;">Customer</th>
<th width="9%;">Quantity</th>
<th width="9%;">Amount</th>
<th width="18%;">Status</th>
<th width="20%;">Action</th>
</tr>
</thead>
<tbody>
<?php if(!empty($orderData)){
foreach($orderData as $odrData) { ?>
<tr>
<th class="hidden"><?= $odrData->order_id ?></th>
<th class="center"><?= $odrData->format_order_id ?></th>
<th class="center"><?= $odrData->product_name ?></th>
<th class="center"><?= $odrData->customer_name ?></th>
<th class="center"><?= $odrData->quantity ?></th>
<th class="center"><?= $odrData->amount ?></th>
<th class="center">
<?php
switch($odrData->status){
case 0: echo 'Inactive'; break;
case 1: echo 'Payment Processing'; break;
case 2: echo 'Order Places'; break;
case 3: echo 'Order Packed'; break;
case 4: echo 'Order Shipped'; break;
case 5: echo 'Ordered Delivered'; break;
case 6: echo 'Returned'; break;
case 7: echo 'Cancelled'; break;
case 8: echo 'Deleted'; break;
case 9: echo 'Payment Failed'; break;
}
?>
</th>
<td class="center">
<a class="btn btn-sm btn-info" id="viewOrderDetails"
order_id="<?= encode_param($odrData->order_id) ?>">
<i class="fa fa-fw fa-eye"></i>View
</a>
<a class="btn btn-sm btn-success" id="changeOrderStatus" style="background-color:#ac2925" order_id="<?= encode_param($odrData->order_id) ?>"><i class="fa fa-cog"></i>Change Status</a>
</td>
</tr>
<?php } }?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</section>
</div>
\ No newline at end of file
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<?php <?php
$url = (!isset($product_id) || empty($product_id))?'Product/createproduct':'Product/updateproduct/'.$mechanic_id; $url = (!isset($product_id) || empty($product_id))?'Product/createproduct':'Product/updateproduct/'.$product_id;
if($this->session->flashdata('message')) { if($this->session->flashdata('message')) {
$flashdata = $this->session->flashdata('message'); ?> $flashdata = $this->session->flashdata('message'); ?>
<div class="alert alert-<?= $flashdata['class'] ?>"> <div class="alert alert-<?= $flashdata['class'] ?>">
...@@ -52,8 +52,8 @@ ...@@ -52,8 +52,8 @@
<div class="form-group"> <div class="form-group">
<label>Short Description</label> <label>Short Description</label>
<textarea type="text" class="form-control required" data-parsley-trigger="change" <textarea type="text" class="form-control required" data-parsley-trigger="change"
data-parsley-minlength="2" name="short_description" required="" value="<?= (isset($user_data->username))?$user_data->username:'' ?>" data-parsley-minlength="2" name="short_description" required="" value="<?= (isset($product_data->short_description))?$product_data->short_description:'' ?>"
data-parsley-pattern="^[a-zA-Z0-9\ . _ @ \/]+$" placeholder="Enter Short Description"></textarea> data-parsley-pattern="^[a-zA-Z0-9\ . _ @ \/]+$" placeholder="Enter Short Description"><?= (isset($product_data->short_description))?$product_data->short_description:'' ?></textarea>
<span class="glyphicon form-control-feedback"></span> <span class="glyphicon form-control-feedback"></span>
</div> </div>
</div> </div>
...@@ -61,13 +61,13 @@ ...@@ -61,13 +61,13 @@
<div class="form-group"> <div class="form-group">
<label>Product Name</label> <label>Product Name</label>
<input type="text" class="form-control required" data-parsley-trigger="change" data-parsley-minlength="2" name="product_name" required="" <input type="text" class="form-control required" data-parsley-trigger="change" data-parsley-minlength="2" name="product_name" required=""
placeholder="Enter Product Name" value="<?= (isset($user_data->display_name))?$user_data->display_name:'' ?>"> placeholder="Enter Product Name" value="<?= (isset($product_data->product_name))?$product_data->product_name:'' ?>">
<span class="glyphicon form-control-feedback"></span> <span class="glyphicon form-control-feedback"></span>
</div> </div>
<div class="form-group"> <div class="form-group">
<label>Amount</label> <label>Amount</label>
<input type="text" class="form-control required" data-parsley-trigger="change" <input type="text" class="form-control required" data-parsley-trigger="change"
data-parsley-minlength="2" name="amount" required="" value="<?= (isset($user_data->username))?$user_data->username:'' ?>" data-parsley-minlength="2" name="amount" required="" value="<?= (isset($product_data->amount))?$product_data->amount:'' ?>"
data-parsley-pattern="^[0-9\ . \/]+$" placeholder="Enter Amount"> data-parsley-pattern="^[0-9\ . \/]+$" placeholder="Enter Amount">
<span class="glyphicon form-control-feedback"></span> <span class="glyphicon form-control-feedback"></span>
</div> </div>
...@@ -82,28 +82,124 @@ ...@@ -82,28 +82,124 @@
<div class="form-group"> <div class="form-group">
<label>Product Images</label> <label>Product Images</label>
<div id="multipleImageInputCntr"> <div id="multipleImageInputCntr">
<div class="dropZoneContainer" id="multiImageCntr_1" count="1"> <?php
<div id="multiImageClose_1" class="close_custom hide" onclick="removeImage('1');">&times;</div> $count = 1;
<input id="product_image_1" type="file" name="product_image[]" accept="image/*" class="multiFileUpload" onchange="setMultiImg(this,jQuery(this));" count="1" /> if(isset($product_image) && !empty($product_image)){
<img class="multiDropZoneOverlay" id="multiImageImg_1" src="<?=base_url("assets/images/add-image.png")?>" /> foreach($product_image AS $photos){ ?>
<div class="dropZoneContainer" id="multiImageCntr_<?= $count ?>">
<input type="hidden" name="existingImages[]" value="<?= $photos['id'] ?>">
<div id="multiImageClose_<?= $count ?>" class="close_custom cpoint"
onclick="removeImage('<?= $count ?>');">&times;</div>
<input disabled type="file" name="product_image[]" class="multiFileUpload"
accept="image/*" onchange="setMultiImg(this,jQuery(this));"
count="<?= $count ?>" />
<img class="multiDropZoneOverlay" id="multiImageImg_<?= $count ?>"
src="<?= base_url($photos['image']) ?>" onerror="this.src='<?=base_url("assets/images/add-image.png")?>';" />
</div>
<?php
$count += 1;
}
}
?>
<div class="dropZoneContainer" id="multiImageCntr_<?= $count ?>">
<div id="multiImageClose_<?= $count ?>" class="close_custom cpoint hide"
onclick="removeImage('<?= $count ?>');">&times;</div>
<input type="file" name="product_image[]" class="multiFileUpload" accept="image/*"
onchange="setMultiImg(this,jQuery(this));" count="<?= $count ?>" />
<img class="multiDropZoneOverlay" id="multiImageImg_<?= $count ?>"
src="<?=base_url("assets/images/add-image.png")?>" />
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="col-md-6">
<div class="col-md-12">
<div class="box-header with-border padUnset">
<h3 class="box-title">Product Details</h3>
</div><br>
</div>
<div class="form-group">
<div class="col-md-4">
<label>Vehicle Model Year</label>
<select name="vehYear" class="form-control required" input="search_params"
data-parsley-trigger="change" required="">
<option selected disabled value="">Choose Vehicle Model Year</option>
<?php
for($year=date('Y'); $year>=1950; $year--){
$cond = (isset($product_data) && isset($product_data->year) &&
!empty($product_data->year) &&
$product_data->year == $year)?'selected':'';
echo '<option '.$cond.' value="'.$year.'">'.$year.'</option>';
}
?>
</select>
</div>
<div class="col-md-4">
<label>Vehicle Make</label>
<select name="vehMake" class="form-control required" input="search_params"
data-parsley-trigger="change" required="">
<option selected disabled value="">Choose Vehicle Make</option>
<option <?= ($product_data->make == 'Toyota') ? 'selected' : ''?> value="Toyota">Toyota</option>
<option <?= ($product_data->make == 'Alto') ? 'selected' : ''?> value="Alto">Alto</option>
<option <?= ($product_data->make == 'Hyundai') ? 'selected' : ''?> value="Hyundai">Hyundai</option>
<option <?= ($product_data->make == 'Hyundai') ? 'selected' : ''?> value="Hyundai">Hyundai</option>
<option <?= ($product_data->make == 'Hyundai') ? 'selected' : ''?> value="Hyundai">Hyundai</option>
<option <?= ($product_data->make == 'Hyundai') ? 'selected' : ''?> value="Hyundai">Hyundai</option>
<option <?= ($product_data->make == 'Hyundai') ? 'selected' : ''?> value="Hyundai">Hyundai</option>
<option <?= ($product_data->make == 'Hyundai') ? 'selected' : ''?> value="Hyundai">Hyundai</option>
<option <?= ($product_data->make == 'Hyundai') ? 'selected' : ''?> value="Hyundai">Hyundai</option>
<option <?= ($product_data->make == 'Hyundai') ? 'selected' : ''?> value="Hyundai">Hyundai</option>
<option <?= ($product_data->make == 'Hyundai') ? 'selected' : ''?> value="Hyundai">Hyundai</option>
<option <?= ($product_data->make == 'Hyundai') ? 'selected' : ''?> value="Hyundai">Hyundai</option>
<option <?= ($product_data->make == 'Ford') ? 'selected' : ''?> value="Ford">Ford</option>
<option <?= ($product_data->make == 'Ford') ? 'selected' : ''?> value="Ford">Ford</option>
<option <?= ($product_data->make == 'Honda') ? 'selected' : ''?> value="Honda">Honda</option>
<option <?= ($product_data->make == 'Honda') ? 'selected' : ''?> value="Honda">Honda</option>
<option <?= ($product_data->make == 'Honda') ? 'selected' : ''?> value="Honda">Honda</option>
</select>
</div>
<div class="col-md-4">
<label>Vehicle Model</label>
<select name="vehModel" class="form-control required" input="search_params"
data-parsley-trigger="change" required="">
<option selected="" disabled="" value="">Choose Vehicle Model</option>
<option <?= ($product_data->model == 'Corolla') ? 'selected' : ''?> value="Corolla">Corolla</option>
<option <?= ($product_data->model == '800') ? 'selected' : ''?> value="800">800</option>
<option <?= ($product_data->model == 'Eon') ? 'selected' : ''?>value="Eon">Eon</option>
<option <?= ($product_data->model == 'Eon') ? 'selected' : ''?> value="Eon">Eon</option>
<option <?= ($product_data->model == 'i10') ? 'selected' : ''?> value="i10">i10</option>
<option <?= ($product_data->model == 'i20') ? 'selected' : ''?> value="i20">i20</option>
<option <?= ($product_data->model == 'i10 Grand') ? 'selected' : ''?>value="i10 Grand">i10 Grand</option>
<option <?= ($product_data->model == 'i20 Grand') ? 'selected' : ''?> value="i20 Grand">i20 Grand</option>
<option <?= ($product_data->model == 'i10 Magna') ? 'selected' : ''?> value="i10 Magna">i10 Magna</option>
<option <?= ($product_data->model == 'i20 Magna') ? 'selected' : ''?> value="i20 Magna">i20 Magna</option>
<option <?= ($product_data->model == 'Sonata') ? 'selected' : ''?> value="Sonata">Sonata</option>
<option <?= ($product_data->model == 'Creta') ? 'selected' : ''?> value="Creta">Creta</option>
<option <?= ($product_data->model == 'Aspair') ? 'selected' : ''?> value="Aspair">Aspair</option>
<option <?= ($product_data->model == 'Eco-sport') ? 'selected' : ''?> value="Eco-sport">Eco-sport</option>
<option <?= ($product_data->model == 'City') ? 'selected' : ''?> value="City">City</option>
<option <?= ($product_data->model == 'Amaze') ? 'selected' : ''?> value="Amaze">Amaze</option>
<option <?= ($product_data->model == 'Sonata') ? 'selected' : ''?> value="Sonata">Sonata</option>
</select>
</div>
</div>
<div class="col-md-6 padTop20">
<div class="form-group"> <div class="form-group">
<label>Product Description</label> <label>Product Description</label>
<textarea id="rich_editor" type="text" class="ip_reg_form_input form-control reset-form-custom" placeholder="Product Description" name="description" <textarea id="rich_editor" type="text" class="ip_reg_form_input form-control reset-form-custom" placeholder="Product Description" name="description"
style="height:108px;" data-parsley-trigger="change" data-parsley-minlength="2"></textarea> style="height:108px;" data-parsley-trigger="change" data-parsley-minlength="2"><?= (isset($product_data->description))?$product_data->description:'' ?></textarea>
</div> </div>
</div> </div>
<div class="col-md-6"> <div class="col-md-6 padTop20">
<div class="form-group"> <div class="form-group">
<label>About</label> <label>About</label>
<textarea id="rich_editor1" type="text" class="ip_reg_form_input form-control reset-form-custom" placeholder="About" name="about" <textarea id="rich_editor1" type="text" class="ip_reg_form_input form-control reset-form-custom" placeholder="About" name="about"
style="height:108px;" data-parsley-trigger="change" data-parsley-minlength="2"></textarea> style="height:108px;" data-parsley-trigger="change" data-parsley-minlength="2"><?= (isset($product_data->about))?$product_data->about:'' ?></textarea>
</div> </div>
</div> </div>
<div class="col-md-12"> <div class="col-md-12">
<div class="box-footer textCenterAlign"> <div class="box-footer textCenterAlign">
<button id="addProductButton" type="submit" class="btn btn-primary">Submit</button> <button id="addProductButton" type="submit" class="btn btn-primary">Submit</button>
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
<th width="150px;">Short Description</th> <th width="150px;">Short Description</th>
<th width="150px;">Amount</th> <th width="150px;">Amount</th>
<th width="100px;">Status</th> <th width="100px;">Status</th>
<!-- <th width="300px;">Action</th> --> <th width="300px;">Action</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
...@@ -56,7 +56,11 @@ ...@@ -56,7 +56,11 @@
<th class="center"><?= $product->short_description ?></th> <th class="center"><?= $product->short_description ?></th>
<th class="center"><?= $product->amount ?></th> <th class="center"><?= $product->amount ?></th>
<th class="center"><?= ($product->status == 1)?'Active':'De-activate' ?></th> <th class="center"><?= ($product->status == 1)?'Active':'De-activate' ?></th>
<!-- <td class="center"> <td class="center">
<a class="btn btn-sm btn-info" id="viewProductDetails"
product_id="<?= encode_param($product->product_id) ?>">
<i class="fa fa-fw fa-eye"></i>View
</a>
<a class="btn btn-sm btn-primary" <a class="btn btn-sm btn-primary"
href="<?= base_url('Product/editproduct/'.encode_param($product->product_id)) ?>"> href="<?= base_url('Product/editproduct/'.encode_param($product->product_id)) ?>">
<i class="fa fa-fw fa-edit"></i>Edit <i class="fa fa-fw fa-edit"></i>Edit
...@@ -66,7 +70,7 @@ ...@@ -66,7 +70,7 @@
onClick="return doconfirm()"> onClick="return doconfirm()">
<i class="fa fa-fw fa-trash"></i>Delete <i class="fa fa-fw fa-trash"></i>Delete
</a> </a>
</td> --> </td>
</tr> </tr>
<?php } } ?> <?php } } ?>
</tbody> </tbody>
......
...@@ -92,10 +92,14 @@ ...@@ -92,10 +92,14 @@
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="form-group col-xs-3"> <div class="form-group col-xs-4">
<label>Vin Audit API</label> <label>Vin Audit API</label>
<input type="text" name="vin_audit_api" class="form-control required" placeholder="Enter Vin Audit API" value="<?= $data['vin_audit_api'] ?>"> <input type="text" name="vin_audit_api" class="form-control required" placeholder="Enter Vin Audit API" value="<?= $data['vin_audit_api'] ?>">
</div> </div>
<div class="form-group col-xs-3">
<label>Web Url</label>
<input type="text" name="web_url" class="form-control required" placeholder="Enter Web Url" value="<?= $data['web_url'] ?>">
</div>
</div> </div>
</div> </div>
<div class="box-footer" style="padding-left:46%"> <div class="box-footer" style="padding-left:46%">
......
...@@ -127,6 +127,10 @@ ...@@ -127,6 +127,10 @@
<a href="<?= base_url('Bookings/listBookings') ?>"><i class="fa fa-book" aria-hidden="true"> <a href="<?= base_url('Bookings/listBookings') ?>"><i class="fa fa-book" aria-hidden="true">
</i><span>Request Management</span></a> </i><span>Request Management</span></a>
</li> </li>
<li>
<a href="<?= base_url('Orders/listOrders') ?>"><i class="fa fa-book" aria-hidden="true">
</i><span>Order Management</span></a>
</li>
<li class="treeview"> <li class="treeview">
<a href="#"> <a href="#">
<i class="fa fa-bars" aria-hidden="true"></i> <i class="fa fa-bars" aria-hidden="true"></i>
......
...@@ -1237,4 +1237,295 @@ jQuery('[id="addProductButton"]').on('click',function(event) { ...@@ -1237,4 +1237,295 @@ jQuery('[id="addProductButton"]').on('click',function(event) {
if(validation && error == 0){ if(validation && error == 0){
jQuery('[name="productAddForm"]').submit(); jQuery('[name="productAddForm"]').submit();
} }
});
jQuery('[id="viewProductDetails"]').on('click',function() {
var product_id = jQuery(this).attr('product_id');
if(product_id=='' || product_id==undefined || product_id=='undefined' || product_id==null || product_id=='null'){
return true;
}
modalTrigger('Product Details','');
addModalLoader();
jQuery.ajax({
url : base_url+"Product/getProductData",
type : 'POST',
data : {'product_id':product_id,'view_all':'1'},
success: function(resp){
if(resp == '' || resp == undefined || resp == 'undefined' || resp == null || resp == 'null'){
remModalLoader();
jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!');
return false;
}
var resp_data = jQuery.parseJSON(resp);
console.log(resp_data);
if(resp_data['status'] == '0'){
remModalLoader();
jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!');
return false;
}
var html = '',
imgCount = 0,
optionalHtml = '';
if(resp_data.product_image.length > 0){
optionalHtml = '<div class="col-md-12" style="padding-top:20px;">'+
'<div class="row"><label>Product Images</label></div>';
optionalHtml += '<div class="row">'+
'<div class="col-md-2">Images</div>'+
'<div class="col-md-1">:</div>'+
'<div class="col-md-9">';
jQuery.each(resp_data.product_image, function (index, image) {
console.log(image.image);
imgCount += 1;
optionalHtml += '<img id="optionalImage_'+imgCount+'" src="'+base_url+image.image+'" height="100" width="100" /> ';
});
optionalHtml += '</div>';
optionalHtml += '</div>';
}
html = '<div class="col-xs-12">'+
'<div class="row"><label>Product Details</label></div>'+
'<div class="col-md-6">'+
'<div class="row">'+
'<div class="col-md-4">Brand Name</div>'+
'<div class="col-md-1">:</div>'+
'<div class="col-md-6"><label>'+resp_data.product_data.brand_name+'</label></div>'+
'</div> '+
'<div class="row">'+
'<div class="col-md-4">Product Name</div>'+
'<div class="col-md-1">:</div>'+
'<div class="col-md-6"><label>'+resp_data.product_data.product_name+'</label></div>'+
'</div> '+
'</div>'+
'<div class="col-md-6">'+
'<div class="row"> '+
'<div class="col-md-4">Amount</div>'+
'<div class="col-md-1">:</div>'+
'<div class="col-md-6"><label>'+resp_data.product_data.amount+'</label></div>'+
'</div> '+
'<div class="row"> '+
'<div class="col-md-4">Short Description</div>'+
'<div class="col-md-1">:</div>'+
'<div class="col-md-6"><label>'+resp_data.product_data.short_description+'</label></div> '+
'</div> '+
'</div> '+
'<div class="col-md-12"> '+
'<br>'+
'<div class="row"><label>Product Description</label></div>'+
'<div class="row"> '+
'<div class="col-md-2">Description</div>'+
'<div class="col-md-1">:</div>'+
'<div class="col-md-9"><label>'+resp_data.product_data.description+'</label></div> '+
'</div> '+
'</div> '+
'<div class="col-md-12"> '+
'<br>'+
'<div class="row"><label>About Product</label></div>'+
'<div class="row"> '+
'<div class="col-md-2">Description</div>'+
'<div class="col-md-1">:</div>'+
'<div class="col-md-9"><label>'+resp_data.product_data.about+'</label></div> '+
'</div> '+
'</div> '+
optionalHtml+
'</div>';
remModalLoader();
jQuery('[id="modal_content"]').html(html);
jQuery('[id^="optionalImage_"]').error(function() {
jQuery('[id^="optionalImage_"]').attr('src',base_url+'assets/images/no_image_text.png');
});
},
fail: function(xhr, textStatus, errorThrown){
remModalLoader();
jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!');
},
error: function (ajaxContext) {
remModalLoader();
jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!');
}
});
});
jQuery('[id="viewOrderDetails"]').on('click',function() {
var order_id = jQuery(this).attr('order_id');
if(order_id=='' || order_id==undefined || order_id=='undefined' || order_id==null || order_id=='null'){
return true;
}
modalTrigger('Order Details','');
addModalLoader();
jQuery.ajax({
url : base_url+"Orders/getOrderData",
type : 'POST',
data : {'order_id':order_id,'view_all':'1'},
success: function(resp){
if(resp == '' || resp == undefined || resp == 'undefined' || resp == null || resp == 'null'){
remModalLoader();
jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!');
return false;
}
var resp_data = jQuery.parseJSON(resp);
if(resp_data['status'] == '0'){
remModalLoader();
jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!');
return false;
}
var html = '',
imgCount = 0,
optionalHtml = '';
if(resp_data.product_image.length > 0){
optionalHtml = '<div class="col-md-12" style="padding-top:20px;">'+
'<div class="row"><label>Product Images</label></div>';
optionalHtml += '<div class="row">'+
'<div class="col-md-12">';
jQuery.each(resp_data.product_image, function (index, image) {
imgCount += 1;
optionalHtml += '<img id="optionalImage_'+imgCount+'" src="'+base_url+image.image+'" height="100" width="100" /> ';
});
optionalHtml += '</div>';
optionalHtml += '</div>';
}
html = '<div class="col-xs-12">'+
'<div class="row"><label>Order Details</label></div>'+
'<div class="col-md-6">'+
'<div class="row">'+
'<div class="col-md-4">Order Id</div>'+
'<div class="col-md-1">:</div>'+
'<div class="col-md-6"><label>'+resp_data.order_data.format_order_id+'</label></div>'+
'</div> '+
'<div class="row">'+
'<div class="col-md-4">Customer Name</div>'+
'<div class="col-md-1">:</div>'+
'<div class="col-md-6"><label>'+resp_data.order_data.customer_name+'</label></div>'+
'</div> '+
'<div class="row">'+
'<div class="col-md-4">Product Name</div>'+
'<div class="col-md-1">:</div>'+
'<div class="col-md-6"><label>'+resp_data.order_data.product_name+'</label></div>'+
'</div> '+
'<div class="row">'+
'<div class="col-md-4">Quantity</div>'+
'<div class="col-md-1">:</div>'+
'<div class="col-md-6"><label>'+resp_data.order_data.quantity+'</label></div>'+
'</div> '+
'</div>'+
'<div class="col-md-6">'+
'<div class="row"> '+
'<div class="col-md-4">Brand Name</div>'+
'<div class="col-md-1">:</div>'+
'<div class="col-md-6"><label>'+resp_data.order_data.brand_name+'</label></div>'+
'</div> '+
'<div class="row"> '+
'<div class="col-md-4">Short Description</div>'+
'<div class="col-md-1">:</div>'+
'<div class="col-md-6"><label>'+resp_data.order_data.short_description+'</label></div> '+
'</div> '+
'<div class="row"> '+
'<div class="col-md-4">Amount</div>'+
'<div class="col-md-1">:</div>'+
'<div class="col-md-6"><label>'+resp_data.order_data.amount+'</label></div> '+
'</div> '+
'<div class="row"> '+
'<div class="col-md-4">Status</div>'+
'<div class="col-md-1">:</div>'+
'<div class="col-md-6"><label>'+resp_data.order_data.status+'</label></div> '+
'</div> '+
'</div> '+
optionalHtml+
'</div>';
remModalLoader();
jQuery('[id="modal_content"]').html(html);
jQuery('[id^="optionalImage_"]').error(function() {
jQuery('[id^="optionalImage_"]').attr('src',base_url+'assets/images/no_image_text.png');
});
},
fail: function(xhr, textStatus, errorThrown){
remModalLoader();
jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!');
},
error: function (ajaxContext) {
remModalLoader();
jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!');
}
});
});
jQuery('[id="changeOrderStatus"]').on('click',function() {
var order_id = jQuery(this).attr('order_id');
if(order_id=='' || order_id==undefined || order_id=='undefined' || order_id==null || order_id=='null'){
return true;
}
modalTrigger('Change Order Detail Status','');
addModalLoader();
jQuery.ajax({
url : base_url+"Orders/changeOrderStatus",
type : 'POST',
data : {'order_id':order_id,'view_all':'1'},
success: function(resp){
if(resp == '' || resp == undefined || resp == 'undefined' || resp == null || resp == 'null'){
remModalLoader();
jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!');
return false;
}
var resp_data = jQuery.parseJSON(resp);
if(resp_data['status'] == '0'){
remModalLoader();
jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!');
return false;
}
var html = '',
imgCount = 0,
optionalHtml = '';
if(issues_selected != ''){
var comma = '';
issueHtml += '<form id="customQuote" role="form" method="post">'+
'<div class="col-md-12" style="padding-top:10px">'+
'<div class="col-md-3"><div class="row"><label>Selected Issue</label></div></div>'+
'<div class="col-md-6"><div class="row"><label>Description</label></div></div>'+
'<div class="col-md-3"><div class="row"><label>Amount</label></div></div>'+
'<div class="row">'+
'</div>'+
'</div>'+
'<div class="col-md-12">'+
'<div class="box-footer textCenterAlign">'+
'<button type="button" onclick="submitCustQuote(event);" class="btn btn-primary">Submit</button>'+
'</div>'+
'</div>'+
'</form>';
}
remModalLoader();
jQuery('[id="modal_content"]').html(html);
jQuery('[id^="optionalImage_"]').error(function() {
jQuery('[id^="optionalImage_"]').attr('src',base_url+'assets/images/no_image_text.png');
});
},
fail: function(xhr, textStatus, errorThrown){
remModalLoader();
jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!');
},
error: function (ajaxContext) {
remModalLoader();
jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!');
}
});
}); });
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment