/** * Updates the list from database, in the right format for rendering the partial * @param options An array of options */ private function updatePortfolioList($options = array()) { // Defaulting options $options = array_merge($this->listOptionsDefault, $options); // Filter list according to connected user if (Auth::check()) { $this->portfolioList = PortfolioModel::where('user_id', '=', Auth::getUser()->id); } else { $this->portfolioList = PortfolioModel::where('user_id', '=', NULL); } // Applying options if ($options['include_closed'] == false) { $this->portfolioList = $this->portfolioList->where(function ($query) { $query->where('close_date', '>=', date('Y-m-d'))->orWherenull('close_date'); }); } // Getting filtered list $this->portfolioList = $this->portfolioList->orderBy('description', 'ASC'); $this->portfolioList = $this->portfolioList->get(); if ($this->portfolioList && $this->portfolioList->count()) { $this->portfolioList->each(function ($portfolio) { $portfolio->setUrl($this->controller, $this->portfolioDetails); }); } }
protected function loadPortfolio($portfolio_id) { if ($portfolio_id == '' || !is_numeric($portfolio_id)) { throw new ApplicationException(trans('piratmac.smmm::lang.messages.error_no_id')); } $portfolio = PortfolioModel::where('id', $portfolio_id)->firstOrFail(); if (!$portfolio->checkUser()) { throw new ApplicationException(trans('piratmac.smmm::lang.messages.error_wrong_user')); } return $portfolio; }
public function init() { $this->addJs('/plugins/piratmac/smmm/assets/js/smmm.js'); $this->addJs('https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.1.0/Chart.min.js'); $this->addJs('/modules/backend/formwidgets/datepicker/assets/js/build-min.js'); $this->addCss('/modules/backend/formwidgets/datepicker/assets/vendor/pikaday/css/pikaday.css'); $this->portfolios = PortfolioModel::where('user_id', '=', Auth::getUser()->id)->get(); $this->assets = AssetModel::all()->sortBy('title'); $this->portfolios->each(function ($portfolio) { $portfolio->heldAssetsList = $portfolio->heldAssets->sortBy('title')->unique(); }); }