gurl_o/plugins/tps/birzha/components/SingleSale.php

98 lines
2.6 KiB
PHP

<?php namespace TPS\Birzha\Components;
use Cms\Classes\ComponentBase;
use TPS\Birzha\Models\Product;
use TPS\Birzha\Models\Orders;
use TPS\Birzha\Models\VendorSales as VSales;
use Input;
use Flash;
class SingleSale extends ComponentBase
{
/**
* @var Collection A collection of user's posts
*/
public $sales;
public $order;
public function componentDetails()
{
return [
'name' => 'Sale order detail',
'description' => 'Sale order products'
];
}
public function defineProperties()
{
return [
'id' => [
'title' => 'Get order :id',
'description' => 'Get order :id',
'type' => 'string',
'default' => ''
],
'perPage' => [
'title' => 'Number of vendor sales',
'description' => 'How many vendor sales do you want to display',
'default' => 12,
'validationPattern' => '^[0-9]+$',
'validationMessage' => 'Only numbers allowed'
],
];
}
public function onConfirm(){
$data = post();
$vendorOrders = VSales::where('order_id', $data["order_id"])->get();
if((count($vendorOrders) != 0) && ($vendorOrders[0]->vendor_id == \Auth::user()->id)){
for ($i = 0; $i < count($vendorOrders); $i++) {
$vendorOrders[$i]->status = "completed";
$vendorOrders[$i]->save();
}
$order = Orders::find($data["order_id"]);
$order->status = "completed";
$order->save();
Flash::success('Zakaz kabul edildi');
return \Redirect::back();
}else{
Flash::error('Ýalňyşlyk ýüze çykdy');
return \Redirect::back();
}
}
public function onRun() {
$this->order = $this->loadOrder();
$this->sales = $this->loadSaleOrderDetail();
}
protected function loadSaleOrderDetail() {
$perPage = $this->property('perPage');
$sales = VSales::where('vendor_id', \Auth::user()->id)
->where('order_id', $this->property('id'))
->with(['order.user', 'product'])
->orderBy('id', 'DESC')
->paginate(15);
//dd($sales);
return $sales;
}
protected function loadOrder() {
$order = Orders::where('id', $this->property('id'))->first();
return $order;
}
}