#53, #52, #51 change Points

This commit is contained in:
Kevin Adametz 2022-07-21 10:37:34 +02:00
parent 582ca8299d
commit 263cf93a1e
41 changed files with 812 additions and 288 deletions

View file

@ -11,6 +11,7 @@ use App\Models\ShoppingPayment;
use App\Models\PaymentTransaction;
use App\Services\CustomerPriority;
use App\Repositories\InvoiceRepository;
use App\Services\BusinessPlan\SalesPointsVolume;
class SalesController extends Controller
{
@ -33,6 +34,10 @@ class SalesController extends Controller
public function usersDetail($id)
{
$ShoppingOrder = ShoppingOrder::find($id);
if( $ShoppingOrder->payment_for === 6 || $ShoppingOrder->payment_for === 7){
return redirect(route('admin_sales_customers_detail', [$ShoppingOrder->id]));
abort(403, 'Kundenbestellung');
}
if($ShoppingOrder->shipped === 0){
$ShoppingOrder->shipped = 1;
$ShoppingOrder->save();
@ -77,6 +82,15 @@ class SalesController extends Controller
return $ShoppingOrder->getLastShoppingPayment('getPaymentType');
})
->addColumn('shipped', function (ShoppingOrder $ShoppingOrder) {
if($ShoppingOrder->payment_for === 8){
return '<button type="button" class="btn btn-xs btn-info btn-round" data-toggle="modal" data-target="#modals-load-content"
data-id="'.$ShoppingOrder->id.'"
data-action="shop-user-order-shipping-detail"
data-back=""
data-modal="modal-xl"
data-init_from="user"
data-route="'.route('modal_load').'"><span class="far fa-eye"></span></button>';
}
return '<span class="badge badge-pill badge-'.$ShoppingOrder->getShippedColor().'">'.$ShoppingOrder->getShippedType().'</span>';
})
->addColumn('payment_for', function (ShoppingOrder $ShoppingOrder) {
@ -118,7 +132,7 @@ class SalesController extends Controller
set_user_attr('filter_member_id', null);
return redirect(route('admin_sales_customers'));
}
$filter_user_shops = ShoppingOrder::join('user_shops', 'user_shop_id', '=', 'user_shops.id')->get()->pluck('slug', 'id')->unique()->toArray();
$filter_user_shops = ShoppingOrder::join('user_shops', 'user_shop_id', '=', 'user_shops.id')->orderBy('slug')->get()->pluck('slug', 'id')->unique()->toArray();
$filter_members = ShoppingOrder::join('users', 'member_id', '=', 'users.id')->groupBy('member_id')->join('user_accounts', 'account_id', '=', 'user_accounts.id')->select('users.id', 'users.email', 'user_accounts.first_name', 'user_accounts.last_name')->get(); //->pluck('email', 'id')->unique()->toArray();
$data = [
'filter_user_shops' => $filter_user_shops,
@ -130,6 +144,10 @@ class SalesController extends Controller
public function customersDetail($id)
{
$ShoppingOrder = ShoppingOrder::find($id);
if( $ShoppingOrder->payment_for !== 6 && $ShoppingOrder->payment_for !== 7){
return redirect(route('admin_sales_users_detail', [$ShoppingOrder->id]));
abort(403, 'Beraterbestellung');
}
if($ShoppingOrder->shipped === 0){
$ShoppingOrder->shipped = 1;
$ShoppingOrder->save();
@ -176,6 +194,20 @@ class SalesController extends Controller
return redirect($data['back']);
}
}
if($data['action']==='shopping-order-change-points'){
if(!isset($data['change_member_key']) || $data['change_member_key'] !== config('mivita.edit_data_pass')){
\Session()->flash('alert-error', 'Das Passwort ist falsch.');
return back();
}else{
if(!isset($data['change_points'])){
\Session()->flash('alert-error', 'Keine Änderung ausgewählt');
return back();
}
$shopping_order = ShoppingOrder::findOrFail($data['id']);
SalesPointsVolume::changeSalesPointsVolumeUser($shopping_order, $data['change_member_id']);
return redirect(route('admin_sales_customers_detail', [$shopping_order->id]));
}
}
$data = [
'change_member_error' => $change_member_error,
'shopping_order' => ShoppingOrder::find($id),
@ -220,6 +252,12 @@ class SalesController extends Controller
return '<span class="no-line-break">'.$ShoppingOrder->getFormattedTotalShipping()." €</span>";
})
->addColumn('payment', function (ShoppingOrder $ShoppingOrder) {
if($ShoppingOrder->txaction === 'extern_paid'){
$shopping_oder_id = isset($ShoppingOrder->api_notice['shopping_order_id']) ? $ShoppingOrder->api_notice['shopping_order_id'] : null;
if($shopping_oder_id){
return '<a class="btn btn-xs btn-default btn-round" href="'.route('admin_sales_users_detail', [$shopping_oder_id]).'"><i class="fa fa-check fa-check-circle-o"> '.$shopping_oder_id.'</a>';
}
}
return $ShoppingOrder->getLastShoppingPayment('getPaymentType');
})
->addColumn('shipped', function (ShoppingOrder $ShoppingOrder) {
@ -229,7 +267,7 @@ class SalesController extends Controller
return '<span class="badge badge-pill badge-'.$ShoppingOrder->getPaymentForColor().'">'.$ShoppingOrder->getPaymentForType().'</span>';
})
->addColumn('invoice', function (ShoppingOrder $ShoppingOrder) {
if($ShoppingOrder->txaction === 'extern' && $ShoppingOrder->wp_invoice_path){
if(($ShoppingOrder->txaction === 'extern' || $ShoppingOrder->txaction === 'extern_paid') && $ShoppingOrder->wp_invoice_path){
return '<span class="no-line-break"><a href="'.$ShoppingOrder->wp_invoice_path.'" class="btn btn-secondary btn-xs"><i class="fa fa-external-link-alt"></i> <i class="fa fa-download"></i></a> </div>';
}
return $ShoppingOrder->isInvoice() ? '<span class="no-line-break"><a href="'.route('storage_file', [$ShoppingOrder->id, 'invoice', 'download']).'" class="btn btn-primary btn-xs"><i class="fa fa-download"></i></a>
@ -264,7 +302,7 @@ class SalesController extends Controller
->orderColumn('shipped', 'shipped $1')
->orderColumn('payment_for', 'payment_for $1')
->orderColumn('total_shipping', 'total_shipping $1')
->rawColumns(['id', 'member_id', 'txaction', 'user_shop_id', 'payment_for', 'total_shipping', 'invoice', 'shipped'])
->rawColumns(['id', 'member_id', 'txaction', 'user_shop_id', 'payment_for', 'payment', 'total_shipping', 'invoice', 'shipped'])
->make(true);
}