Ejemplo n.º 1
0
 /**
  * Make sure getCampaignNumbers method works as expected.
  */
 public function test_get_campaign_numbers()
 {
     $user = factory(\App\User::class)->create();
     $year = 2016;
     $expected = ['success' => true, 'numbers' => \App\Campaign::select('number')->distinct()->where('year', $year)->get()];
     $this->actingAs($user)->post('/statistics/campaign/get-numbers', ['year' => $year])->seeJson($expected);
 }
Ejemplo n.º 2
0
 /**
  * Return all campaign numbers for given year.
  *
  * @param Requests\Statistics\GetCampaignNumbersRequest $request
  * @return mixed
  */
 public function getCampaignNumbers(GetCampaignNumbersRequest $request)
 {
     $response = new AjaxResponse();
     $response->setSuccessMessage(trans('common.success'));
     $response->addExtraFields(['numbers' => Campaign::select('number')->distinct()->where('year', $request->get('year'))->get()]);
     return response($response->get())->header('Content-Type', 'application/json');
 }
Ejemplo n.º 3
0
 /**
  * Return number of bills with passed payment term for given campaign.
  *
  * @param int $campaignNumber
  * @param int $campaignYear
  * @return int
  */
 public static function numberOfBillsWithPassedPaymentTerm($campaignNumber, $campaignYear)
 {
     $result = Campaign::select(DB::raw('COUNT(bills.id) as number_of_bills_with_passed_payment_term'))->leftJoin('bills', 'bills.campaign_id', '=', 'campaigns.id')->leftJoin('users', 'users.id', '=', 'bills.user_id')->where('campaigns.number', $campaignNumber)->where('campaigns.year', $campaignYear)->where('bills.paid', 0)->where('bills.payment_term', '<', date('Y-m-d'))->where('users.id', Auth::user()->id)->get();
     if (isset($result[0]->number_of_bills_with_passed_payment_term)) {
         return $result[0]->number_of_bills_with_passed_payment_term;
     }
     return 0;
 }