/** * Ajax handler * @param Request $request * @throws \FlashSale\Http\Modules\Supplier\Models\Exception * @since 09-12-2015 * @author Dinanath Thakur <*****@*****.**> */ public function ajaxHandler(Request $request) { $objModelUser = User::getInstance(); $objModelUsersmeta = Usersmeta::getInstance(); $userId = Session::get('fs_supplier')['id']; $where['user_id'] = $userId; $usersMetaDetails = $objModelUsersmeta->getUsersMetaDetailsWhere($where); $field = $request->input('name'); if ($field) { $formEditableMethod = explode('/', $field); $method = $formEditableMethod[0]; } else { $method = $request->input('method'); } $objLocationModel = Location::getInstance(); $objshopModal = Shop::getInstance(); $objshopMetadataModal = ShopMetadata::getInstance(); switch ($method) { case 'checkContactNumber': $validator = Validator::make($request->all(), ['contact_number' => 'required|unique:usersmeta,phone,' . $usersMetaDetails->id]); if ($validator->fails()) { echo json_encode(false); } else { echo json_encode(true); } break; case 'updateProfileInfo': //NOT YET COMPLETE, NEED COUNTRY DETAILS $rules = array('first_name' => 'required|max:255', 'last_name' => 'required|max:255', 'city' => 'required', 'state' => 'required', 'zipcode' => 'required', 'country' => 'required', 'contact_number' => 'required|unique:usersmeta,phone,' . $usersMetaDetails->id); $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { echo json_encode(array('status' => 2, 'message' => $validator->messages()->all())); } else { $whereForUpdate['id'] = $userId; $updateData['name'] = $request->input('first_name'); $updateData['last_name'] = $request->input('last_name'); $updatedResult = $objModelUser->updateUserWhere($updateData, $whereForUpdate); $updateMetaData['addressline1'] = $request->input('address_line_1'); $updateMetaData['addressline2'] = $request->input('address_line_2'); $updateMetaData['city'] = $request->input('city'); $updateMetaData['state'] = $request->input('state'); $updateMetaData['country'] = $request->input('country'); //COUNTRY DETAILS IN DATABASE $updateMetaData['zipcode'] = $request->input('zipcode'); $updateMetaData['phone'] = $request->input('contact_number'); $whereForUpdateMetaData['id'] = $usersMetaDetails->id; $updatedMetaDataResult = $objModelUsersmeta->updateUsersMetaDetailsWhere($updateMetaData, $whereForUpdateMetaData); if ($updatedResult || $updatedMetaDataResult) { echo json_encode(array('status' => 1, 'message' => 'Successfully updated profile data.')); } else { echo json_encode(array('status' => 0, 'message' => 'Nothing to update.')); } } break; case 'updateAvatar': if (Input::hasFile('file')) { $validator = Validator::make($request->all(), ['file' => 'image']); if ($validator->fails()) { echo json_encode(array('status' => 2, 'message' => $validator->messages()->all())); } else { $filePath = uploadImageToStoragePath(Input::file('file'), 'useravatar', 'useravatar_' . $userId . '_' . time() . ".jpg"); if ($filePath) { $updateData['profilepic'] = $filePath; $whereForUpdate['id'] = $userId; $updatedResult = $objModelUser->updateUserWhere($updateData, $whereForUpdate); if ($updatedResult) { if (!strpos(Session::get('fs_supplier')['profilepic'], 'placeholder')) { deleteImageFromStoragePath(Session::get('fs_supplier')['profilepic']); } Session::put('fs_supplier.profilepic', $filePath); echo json_encode(array('status' => 1, 'message' => 'Successfully updated profile image . ')); } else { echo json_encode(array('status' => 0, 'message' => 'Something went wrong, please reload the page and try again.')); } } else { echo json_encode(array('status' => 0, 'message' => 'Something went wrong, please reload the page and try again.')); } } } else { echo json_encode(array('status' => 2, 'message' => 'Please select file first.')); } break; case 'updatePassword': Validator::extend('passwordCheck', function ($attribute, $value, $parameters) { return Hash::check($value, Auth::user()->getAuthPassword()); }, 'Your current password is incorrect . '); $passwordRules = array('current_password' => 'required | passwordCheck', 'new_password' => 'required', 'confirm_password' => 'required | same:new_password'); $passwordValidator = Validator::make($request->all(), $passwordRules); if ($passwordValidator->fails()) { echo json_encode(array('status' => 2, 'message' => $passwordValidator->messages()->all())); } else { $user = Auth::user(); $user->password = Hash::make($request->input('new_password')); $user->save(); echo json_encode(array('status' => 1, 'message' => 'Your password has been successfully updated . ')); } break; case 'getState': $countryId = $request->input('countryId'); $where = ['rawQuery' => 'is_visible =? and location_type =? and parent_id =?', 'bindParams' => [0, 1, $countryId]]; $allstates = $objLocationModel->getAllLocationsWhere($where); echo json_encode($allstates); break; case 'getCity': $stateId = $request->input('stateId'); $where = ['rawQuery' => 'is_visible =? and location_type =? and parent_id =?', 'bindParams' => [0, 2, $stateId]]; $allcities = $objLocationModel->getAllLocationsWhere($where); echo json_encode($allcities); break; case 'available_Shop': $available_Shops = $objshopModal->getAvailableShopDetails($userId); //echo "<pre>";print_r($available_Shops);die; return Datatables::of($available_Shops)->addColumn('action', function ($available_Shops) { return '<span class="tooltips" title="Edit Shop Details." data-placement="top"> <a href="/supplier/editShop/' . $available_Shops->shop_id . '" class="btn btn-sm grey-cascade"> <i class="fa fa-pencil-square-o"></i> </a> </span> '; })->addColumn('status', function ($available_Shops) { $button = '<td style="text-align: center">'; $button .= '<button class="btn ' . ($available_Shops->shop_status == "1" || $available_Shops->shop_status == "2" ? $available_Shops->shop_status == "1" ? "btn-success" : "btn-danger" : "btn-default") . ' customer-status" data-id="' . $available_Shops->shop_id . '"' . ($available_Shops->shop_status == "0" || $available_Shops->shop_status == "3" ? "disabled" : "") . '>' . ($available_Shops->shop_status == "1" || $available_Shops->shop_status == "2" ? $available_Shops->shop_status == "1" ? "Active" : "Inactive" : ($available_Shops->shop_status == "0" ? "Pending" : "Rejected")) . ' </button>'; $button .= '</td>'; return $button; })->removeColumn('shop_status')->make(); break; case 'changeShopStatus': $Shop_Id = $request->input('ShopId'); $Status = $request->input('status'); $data1['shop_status'] = $Status; $where1 = ['rawQuery' => 'shop_id =? ', 'bindParams' => [$Shop_Id]]; $updateResult = $objshopModal->updateShopWhere($data1, $where1); if ($updateResult) { echo json_encode(['status' => 'success', 'msg' => 'Status has been changed.']); } else { echo json_encode(['status' => 'error', 'msg' => 'Something went wrong, please reload the page and try again.']); } break; case 'updateStoreDetails': $field = $request->input('name'); $field = explode('/', $field); $fieldName = $field[1]; $store_metadata_id = $request->input('pk'); $value = $request->input('value'); $shopFlag = true; $data = array($fieldName => $value); // echo "<pre>";print_r($store_metadata_id);die; if ($fieldName == 'shop_type' && $value == '0') { //change shop_type to main $merchantId = $field[2]; $shopId = $field[3]; $whereforShop = ['rawQuery' => 'shop_id =?', 'bindParams' => [$shopId]]; $data1 = array('shop_type' => 1); $updateStoreType = $objshopMetadataModal->updateShopMetadataWhere($data1, $whereforShop); } if ($fieldName == 'shop_type' && $value == '1') { //change shop_type to secondary $merchantId = $field[2]; $shopId = $field[3]; $whereforShop = ['rawQuery' => 'shop_id =? and shop_metadata_id != ?', 'bindParams' => [$shopId, $store_metadata_id]]; $merchantStoreDetails = $objshopMetadataModal->getAllshopsMetadataWhere($whereforShop); if (!empty($merchantStoreDetails)) { $dataforstype = array('shop_type' => 0); $whereforShopt = ['rawQuery' => 'shop_id =? and shop_metadata_id = ?', 'bindParams' => [$merchantStoreDetails[0]->shop_id, $merchantStoreDetails[0]->shop_metadata_id]]; $merchantStoreDetails = $objshopMetadataModal->updateShopMetadataWhere($dataforstype, $whereforShopt); } else { $shopFlag = false; echo json_encode("You cant change main shop to secondary"); break; } } if ($shopFlag) { $whereforShopMeta = ['rawQuery' => 'shop_metadata_id =?', 'bindParams' => [$store_metadata_id]]; $updateResult = $objshopMetadataModal->updateShopMetadataWhere($data, $whereforShopMeta); if ($updateResult) { echo json_encode($updateResult); } } break; case 'updateShopBanner': $shop_id = $request->input('shop_id'); $whereforShop = ['rawQuery' => 'shop_id =? ', 'bindParams' => [$shop_id]]; $selectedColumns = array('shop_id', 'shop_banner'); $shopDetails = $objshopModal->getAllshopsWhere($whereforShop, $selectedColumns); if (isset($_FILES["shop_banner"]["name"]) && !empty($_FILES["shop_banner"]["name"])) { $bannerFilePath = uploadImageToStoragePath(Input::file('shop_banner'), 'shopbanner', 'shopbanner_' . $userId . '_' . time() . ".jpg"); } else { $bannerFilePath = uploadImageToStoragePath($_SERVER['DOCUMENT_ROOT'] . "/assets/images/no-image.png", 'shopbanner', 'shopbanner_' . $userId . '_' . time() . ".jpg"); } $shopdata = array('shop_banner' => $bannerFilePath); $updateBanner = $objshopModal->updateShopWhere($shopdata, $whereforShop); if ($updateBanner) { deleteImageFromStoragePath($shopDetails[0]->shop_banner); echo json_encode($updateBanner); } break; case 'updateShopLogo': $shop_id = $request->input('shop_id'); $whereforShop = ['rawQuery' => 'shop_id =? ', 'bindParams' => [$shop_id]]; $selectedColumns = array('shop_id', 'shop_logo'); $shopDetails = $objshopModal->getAllshopsWhere($whereforShop, $selectedColumns); if (isset($_FILES["shop_logo"]["name"]) && !empty($_FILES["shop_logo"]["name"])) { $logoFilePath = uploadImageToStoragePath(Input::file('shop_logo'), 'shoplogo', 'shoplogo_' . $userId . '_' . time() . ".jpg"); } else { $logoFilePath = uploadImageToStoragePath($_SERVER['DOCUMENT_ROOT'] . "/assets/images/no-image.png", 'shoplogo', 'shoplogo_' . $userId . '_' . time() . ".jpg"); } $shopdata = array('shop_logo' => $logoFilePath); $updatelogo = $objshopModal->updateShopWhere($shopdata, $whereforShop); if ($updatelogo) { deleteImageFromStoragePath($shopDetails[0]->shop_logo); echo json_encode($updatelogo); } break; case 'updateSellerShop': $field = $request->input('name'); $fieldName = explode('/', $field); $fieldName = $fieldName[1]; $shop_id = $request->input('pk'); $value = $request->input('value'); $data = array($fieldName => $value); $whereforShop = ['rawQuery' => 'shop_id =? ', 'bindParams' => [$shop_id]]; $updateResult = $objshopModal->updateShopWhere($data, $whereforShop); if ($updateResult) { echo json_encode($updateResult); } break; case 'updateShopStatus': $shopMetaId = $request->input('shopMetaId'); $status = $request->input('value'); $supplierId = $request->input('supplierId'); $data = array('sm_status_set_by' => $supplierId, 'shop_metadata_status' => $status); $whereforShopMeta = ['rawQuery' => 'shop_metadata_id =? ', 'bindParams' => [$shopMetaId]]; $updateResult = $objshopMetadataModal->updateShopMetadataWhere($data, $whereforShopMeta); if ($updateResult) { echo json_encode($updateResult); } break; default: break; } }
public function ajaxHandler(Request $request) { $objModelUser = User::getInstance(); $objModelUsersmeta = Usersmeta::getInstance(); $userId = Session::get('fs_supplier')['id']; $where['user_id'] = $userId; $usersMetaDetails = $objModelUsersmeta->getUsersMetaDetailsWhere($where); $method = $request->input('method'); switch ($method) { case 'checkContactNumber': $validator = Validator::make($request->all(), ['contact_number' => 'required|unique:usersmeta,phone,' . $usersMetaDetails->id]); if ($validator->fails()) { echo json_encode(false); } else { echo json_encode(true); } break; case 'updateProfileInfo': //NOT YET COMPLETE, NEED COUNTRY DETAILS $rules = array('first_name' => 'required|max:255', 'last_name' => 'required|max:255', 'city' => 'required', 'state' => 'required', 'zipcode' => 'required', 'country' => 'required', 'contact_number' => 'required|unique:usersmeta,phone,' . $usersMetaDetails->id); $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { echo json_encode(array('status' => 2, 'message' => $validator->messages()->all())); } else { $whereForUpdate['id'] = $userId; $updateData['name'] = $request->input('first_name'); $updateData['last_name'] = $request->input('last_name'); $updatedResult = $objModelUser->updateUserWhere($updateData, $whereForUpdate); $updateMetaData['addressline1'] = $request->input('address_line_1'); $updateMetaData['addressline2'] = $request->input('address_line_2'); $updateMetaData['city'] = $request->input('city'); $updateMetaData['state'] = $request->input('state'); $updateMetaData['country'] = $request->input('country'); //COUNTRY DETAILS IN DATABASE $updateMetaData['zipcode'] = $request->input('zipcode'); $updateMetaData['phone'] = $request->input('contact_number'); $whereForUpdateMetaData['id'] = $usersMetaDetails->id; $updatedMetaDataResult = $objModelUsersmeta->updateUsersMetaDetailsWhere($updateMetaData, $whereForUpdateMetaData); if ($updatedResult || $updatedMetaDataResult) { echo json_encode(array('status' => 1, 'message' => 'Successfully updated profile data.')); } else { echo json_encode(array('status' => 0, 'message' => 'Nothing to update.')); } } break; case 'updateAvatar': if (Input::hasFile('file')) { $validator = Validator::make($request->all(), ['file' => 'image']); if ($validator->fails()) { echo json_encode(array('status' => 2, 'message' => $validator->messages()->all())); } else { $destinationPath = 'uploads/useravatar/'; $filename = $userId . '_' . time() . ".jpg"; File::makeDirectory(storage_path($destinationPath), 0777, true, true); // $filePath = '/' . $destinationPath . $filename; $filePath = "useravatar_" . $filename; $fileval = '/' . $destinationPath . $filePath; // echo"<pre>";print_r($filePath);die("fch"); // $filtemp = 'uploads_useravatar_' . $filename; $quality = $this->imageQuality(Input::file('file')); Image::make(Input::file('file'))->resize($this->imageWidth, $this->imageHeight, function ($constraint) { $constraint->aspectRatio(); })->save(storage_path($destinationPath . $filePath), $quality); $whereForUpdate['id'] = $userId; $updateData['profilepic'] = $filePath; // echo"<pre>";print_r($updateData);die("xcgf"); $updatedResult = $objModelUser->updateUserWhere($updateData, $whereForUpdate); if ($updatedResult) { if (!strpos(Session::get('fs_supplier')['profilepic'], 'placeholder')) { File::delete(storage_path() . Session::get('fs_supplier')['profilepic']); } // $path = storage_path().$filePath ; // echo"<pre>";print_r($path);die("fch"); Session::put('fs_supplier . profilepic', $filePath); echo json_encode(array('status' => 1, 'message' => 'Successfully updated profile image . ')); } else { echo json_encode(array('status' => 0, 'message' => 'Something went wrong, please reload the page and try again . ')); } } } else { echo json_encode(array('status' => 2, 'message' => 'Please select file first . ')); } break; case 'updatePassword': Validator::extend('passwordCheck', function ($attribute, $value, $parameters) { return Hash::check($value, Auth::user()->getAuthPassword()); }, 'Your current password is incorrect . '); $passwordRules = array('current_password' => 'required | passwordCheck', 'new_password' => 'required', 'confirm_password' => 'required | same:new_password'); $passwordValidator = Validator::make($request->all(), $passwordRules); if ($passwordValidator->fails()) { echo json_encode(array('status' => 2, 'message' => $passwordValidator->messages()->all())); } else { $user = Auth::user(); $user->password = Hash::make($request->input('new_password')); $user->save(); echo json_encode(array('status' => 1, 'message' => 'Your password has been successfully updated . ')); } break; default: break; } }