/**
  * {@inheritDoc}
  */
 public function render()
 {
     $dataProvider = new DataProvider();
     $budgetControlService = new BudgetControlService(new PurchaseService($dataProvider), new Goalr());
     $monthlyGoal = MonthlyGoal::query()->mine()->currentMonth()->first();
     if ($monthlyGoal) {
         $todayBudget = new Currency($budgetControlService->getDailyMonthlyBudget($monthlyGoal, \BackendAuth::getUser()));
         $todayBudget->setFormat('{number}');
         $todaySpent = new Currency(Purchase::calcAmountByPeriod(new \DateTime(), new \DateTime(), \BackendAuth::getUser()->id));
         $todaySpent->setFormat('{number}');
         $this->vars['todaySpent'] = $todaySpent;
         $this->vars['todayBudget'] = $todayBudget;
         return $this->makePartial('dailybudget');
     } else {
         return $this->makePartial('no_monthly_goal');
     }
 }
 public function pendingPurchases()
 {
     BackendMenu::setContext('Ebussola.Cmb', 'cmb', 'pendingPurchases');
     if (\Request::ajax() && \Request::isMethod('POST')) {
         $data = post();
         $update = [];
         if (isset($data['purchase_group_id'])) {
             $update['purchase_group_id'] = $data['purchase_group_id'] == 'none' ? null : $data['purchase_group_id'];
         }
         if (isset($data['user_id'])) {
             $update['user_id'] = $data['user_id'];
         }
         $update['has_choose_group'] = true;
         Purchase::updateOrCreate(['id' => $data['purchase_id']], $update);
         return \Response::make();
     } else {
         $this->makeLists();
     }
 }
 /**
  * @param \DateTime $date_start
  * @param \DateTime $date_end
  * @param integer $user_id
  * @param bool $only_forecast
  * @return float
  */
 public function calcAmountByPeriod(\DateTime $date_start, \DateTime $date_end, $user_id, $only_forecast = false)
 {
     return Purchase::calcAmountByPeriod($date_start, $date_end, $user_id, $only_forecast);
 }