ordering store item add

Adding new feature in store owner page.
*ordering item
This commit is contained in:
franknstayn
2019-11-06 20:23:57 +08:00
parent 1dd7578508
commit 460cf315a0
7 changed files with 192 additions and 18 deletions

View File

@@ -108,12 +108,9 @@ class PaypalController extends Controller {
$order_items = array();
$updated_items = $m->myCart($cartKey);
$updated_getSubtotal = $m->getSubtotal($cartKey);
var_dump($updated_items);
// $order_subtotal = $updated_getSubtotal[0]->Subtotal;
$order_grandtotal = $updated_getSubtotal[0]->Subtotal;
var_dump($order_grandtotal);
// $tax_value = 0.10;
if($grouped_item[0]->StoreId == 76 || $grouped_item[0]->StoreId == 78){
$tax_value = 0;
@@ -123,8 +120,6 @@ class PaypalController extends Controller {
$tax = $order_grandtotal * $tax_value;
var_dump($tax);
foreach($updated_items as $key => $item){
// $descriptions = "Name: " . $item->Name . " Number: " . $item->Number . " Size: " . $item->Size;"?"
@@ -141,14 +136,10 @@ class PaypalController extends Controller {
$item_list = PayPal::ItemList();
$item_list->setItems($order_items);
var_dump($order_grandtotal);
$amount_details = PayPal::Details();
$amount_details->setSubtotal($order_grandtotal);
$amount_details->setTax($tax);
var_dump($item_list->items);
$amount = PayPal::Amount();
$amount->setCurrency($store_array[0]->StoreCurrency);
$amount->setDetails($amount_details);

View File

@@ -835,6 +835,25 @@ class UserController extends Controller {
));
}
function saveItemOrdering(Request $request){
$post = $request->all();
$arrayItems = $post['order_number'];
$order = 1;
$UserModel = new UserModel;
foreach ($arrayItems as $item) {
$i = $UserModel->updateItemOrdering($order, $item);
$order++;
}
return response()->json(array(
'success' => true,
'message' => 'success'
));
}
function storeSettingUpdate(Request $request){
$post = $request->all();
$UserModel = new UserModel;
@@ -982,4 +1001,55 @@ class UserController extends Controller {
'item' => $array_item
));
}
function itemStoreReArrange(){
$thumbnails = array();
$newUserModel = new UserModel;
$newTeamStoreModel = new TeamStoreModel;
$user_role = Auth::user()->role;
$store_id = Auth::user()->store_id;
$store_array = $newTeamStoreModel->selectTeamStore('Id', $store_id);
$product_array = $newTeamStoreModel->selectTeamStoreProducts('TeamStoreId', $store_id);
foreach ($product_array as $p => $pr_arr) {
$thumbnails_array = $newTeamStoreModel->getProductThumbnails($pr_arr->Id);
if(!empty($thumbnails_array)){
foreach ($thumbnails_array as $t => $thumb) {
if($thumb->ImageClass == 'custom'){
$displayThumbnails = $thumb->Image;
break;
}
if($thumb->ImageClass == 'active'){
$displayThumbnails = $thumb->Image;
break;
}
}
$thumbnails[] = array(
'folder' => $store_array[0]->ImageFolder,
'product_id' => $pr_arr->Id,
'thumb' => $displayThumbnails
);
}else{
$thumbnails[] = array(
'folder' => $store_array[0]->ImageFolder,
'product_id' => $pr_arr->Id,
'thumb' => "product-image-placeholder.png"
);
}
}
return view('user-layouts.store_items_arrange')->with('store_array', $store_array)
->with('product_array', $product_array)
->with('thumbnails', $thumbnails);
}
}

View File

@@ -123,10 +123,11 @@ Route::group(['middleware' => 'normaluser'], function () {
Route::post('user/store-items/save-new-item', 'user\UserController@saveNewItem');
Route::post('user/update-active-thumbnail', 'user\UserController@updateActiveThumbnail');
Route::post('user/post/save-thumbnail-ordering', 'user\UserController@saveThumbnailOrdering');
Route::post('user/post/save-item-ordering', 'user\UserController@saveItemOrdering');
Route::post('user/post/show-store-order-details', 'user\UserController@showStoreOrderDetails');
Route::post('user/post/delete-image-thumb', 'user\UserController@deleteImageThumb');
Route::post('user/store-items/save-new-item-image', 'user\UserController@saveNewItemImage');
Route::get('user/store-items/re-arrange', 'user\UserController@itemStoreReArrange');
Route::get('user/my-designs/sell-design/{designCode}', 'user\UserController@sellDesign');
Route::post('user/my-designs/addstoreitem', 'user\UserController@saveNewStoreItem');

View File

@@ -272,6 +272,11 @@ class UserModel extends Model {
->update(['Ordering' => $order]);
}
function updateItemOrdering($order, $id){
$i = DB::table('teamstore_products')->where('Id', $id)
->update(['Ordering' => $order]);
}
function updateTeamstore($id, $data){
$i = DB::table('teamstores')

View File

@@ -44,11 +44,11 @@
<a href="{{ url('user/store-items/add-item') }}" type="button" class="btn btn-primary">
<i class="fa fa-plus"></i> Add new Item
</a>
<button class="btn btn-primary"><i class="fa fa-exchange"></i> Re-arrange item</button>
<a href="{{ url('user/store-items/re-arrange') }}" class="btn btn-primary"><i class="fa fa-exchange"></i> Re-arrange item</a>
</div>
</div>
<!-- BEGIN PRODUCTS -->
<div id="item_list_sort">
@foreach($product_array as $i => $product)
@foreach($thumbnails as $t => $thumb)
@if($thumb['product_id'] == $product->Id)
@@ -56,7 +56,7 @@
@define $filename = $thumb['thumb']
@endif
@endforeach
<div class="col-md-3 col-sm-6" id="{{ 'order_number_' . $product->Ordering }}">
<div class="col-md-3 col-sm-6">
<div class="thumbnail" >
<a href="{{ url('user/store-items/item') }}/{{ $product->ProductURL }}">
<img style="height:200px" src="{{ config('site_config.prod_private_server_ip') }}/images/{{ $filename . '?t=' . time() }}" alt="{{ $product->ProductName }}" >
@@ -72,7 +72,6 @@
</div>
@endforeach
</div>
</div>
</div>
<div class="box-footer">

View File

@@ -0,0 +1,84 @@
@extends('user-layouts.user_template')
@section('content')
<style>
.badge-error {
background-color: #b94a48;
}
.product-name-holder{
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
#item_list_sort{
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-gap: 10px;
}
</style>
<div class="content-wrapper" style="min-height: 916px;">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
Store Item Arrangement
<!-- <small>Control panel</small> -->
</h1>
<ol class="breadcrumb">
<li><a href="{{ url ('user') }}"><i class="fa fa-home"></i> Home</a></li>
<!-- <li><a href="{{ url ('user/profile') }}"><i class="fa fa-user"></i> My Profile</a></li> -->
<li class="active">Store Item Arrangement</li>
</ol>
</section>
<!-- Main content -->
<section class="content">
<div class="row">
<div class="col-md-12">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">
Item List
</h3>
</div>
<div class="box-body">
<div class="row">
<div class="col-md-12">
<div class="well">
<button type="button" id="btn_save_item_sorting" class="btn btn-primary">
Save Changes
</button>
<a href="{{ url('user/store-items') }}" class="btn btn-default"> Cancel</a>
</div>
</div>
</div>
<div id="item_list_sort">
@foreach($product_array as $i => $product)
@foreach($thumbnails as $t => $thumb)
@if($thumb['product_id'] == $product->Id)
@define $storeFolder = $thumb['folder']
@define $filename = $thumb['thumb']
@endif
@endforeach
<div id="{{ 'order_number_' . $product->Id }}">
<div class="thumbnail" >
<a href="#">
<img style="height:200px" src="{{ config('site_config.prod_private_server_ip') }}/images/{{ $filename . '?t=' . time() }}" alt="{{ $product->ProductName }}" >
</a>
<hr class="line">
<div class="pull-right">
<div style="text-transform: uppercase;" class="badge @if($product->PrivacyStatus== 'private') badge-error @endif">{{ $product->PrivacyStatus }}</div>
</div>
<h4 class="product-name-holder">{{ $product->ProductName }}<br><small>$ {{ $product->ProductPrice }}</small></h4>
</div>
</div>
@endforeach
</div>
</div>
<div>
</div>
</div>
</section>
<!-- /.content -->
</div>
@endsection

View File

@@ -783,8 +783,6 @@
$('#btn_save_thumbnail_sorting').on('click', function(e) {
e.preventDefault();
var sortable_data = tr_sortable.sortable('serialize');
// div_response . text ( 'Save' );
// console.log(sortable_data);
$.ajax({
data: sortable_data,
type: 'POST',
@@ -808,6 +806,32 @@
});
});
$('#btn_save_item_sorting').on('click', function(e) {
e.preventDefault();
var sorted_data = item_list_sort.sortable('serialize');
$.ajax({
data: sorted_data,
type: 'POST',
url : "{{ url('user/post/save-item-ordering') }}",
beforeSend:function(xhr){
var token = $('meta[name="csrf_token"]').attr('content');
if (token) {
return xhr.setRequestHeader('X-CSRF-TOKEN', token);
}
xhr.setRequestHeader( 'X-Requested-With', 'XMLHttpRequest');
},
success:function(result) {
// div_response.html(result);
console.log(result);
if(result.success){
alert('Item ordering is succcessfully updated!');
}
}
});
});
$('#myModal').on('hidden.bs.modal', function () {
location.reload();
});