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

70 lines
1.6 KiB
PHP

<?php namespace TPS\Birzha\Components;
use Cms\Classes\ComponentBase;
use TPS\Birzha\Models\Product;
use Input;
use Flash;
class MyOffers extends ComponentBase
{
/**
* @var Collection A collection of user's posts
*/
public $offers;
/**
* today's date
*/
public $today;
/**
* @var String
* A question for delete post confirmation
*/
public $wantToDelete;
public function componentDetails()
{
return [
'name' => 'MyOffers List',
'description' => 'List of my offers'
];
}
public function defineProperties()
{
return [
'perPage' => [
'title' => 'Number of offers',
'description' => 'How many offers do you want to display',
'default' => 12,
'validationPattern' => '^[0-9]+$',
'validationMessage' => 'Only numbers allowed'
],
];
}
public function onDeleteOffer() {
$product = Product::find(Input::get('id'));
$product->images()->delete();
$product->translations()->delete();
$product->delete();
return \Redirect::back();
}
public function onRun() {
$this->offers = $this->loadOffers();
$this->today = \Carbon\Carbon::now();
$this->wantToDelete = trans('validation.post_delete_confirm');
}
protected function loadOffers() {
$perPage = $this->property('perPage');
return \Auth::user()->products()
->orderBy('updated_at', 'desc')
->paginate(6);
}
}