Example #1
0
 public function run()
 {
     $this->defaults = Config::get('filters.defaults');
     $filters = [['name' => 'bank account expenses', 'filter' => ['accounts' => ['in' => [1], 'out' => []], 'types' => ['in' => ['expense'], 'out' => []], 'displayFrom' => 1, 'displayTo' => 30]], ['name' => 'bank account expenses page 2', 'filter' => ['accounts' => ['in' => [1], 'out' => []], 'types' => ['in' => ['expense'], 'out' => []], 'offset' => 2, 'numToFetch' => 2, 'displayFrom' => 3, 'displayTo' => 4]], ['name' => 'cash account expenses', 'filter' => ['accounts' => ['in' => [2], 'out' => []], 'types' => ['in' => ['expense'], 'out' => []], 'displayFrom' => 1, 'displayTo' => 30]], ['name' => 'bank account income', 'filter' => ['accounts' => ['in' => [1], 'out' => []], 'types' => ['in' => ['income'], 'out' => []], 'displayFrom' => 1, 'displayTo' => 30]], ['name' => 'cash account income', 'filter' => ['accounts' => ['in' => [2], 'out' => []], 'types' => ['in' => ['income'], 'out' => []], 'displayFrom' => 1, 'displayTo' => 30]]];
     $users = User::all();
     foreach ($users as $user) {
         foreach ($filters as $filter) {
             $mergedFilter = array_merge($this->defaults, $filter['filter']);
             $newFilter = new SavedFilter(['name' => $filter['name'], 'filter' => $mergedFilter]);
             $newFilter->user()->associate($user);
             $newFilter->save();
         }
     }
 }
 /**
  * DELETE /api/savedFilters/{savedFilters}
  * @param Request $request
  * @param SavedFilter $savedFilter
  * @return Response
  */
 public function destroy(Request $request, SavedFilter $savedFilter)
 {
     try {
         $savedFilter->delete();
         return response([], Response::HTTP_NO_CONTENT);
     } catch (\Exception $e) {
         //Integrity constraint violation
         if ($e->getCode() === '23000') {
             $message = 'SavedFilter could not be deleted. It is in use.';
         } else {
             $message = 'There was an error';
         }
         return response(['error' => $message, 'status' => Response::HTTP_BAD_REQUEST], Response::HTTP_BAD_REQUEST);
     }
 }
 /**
  * @test
  */
 public function it_can_delete_a_saved_filter()
 {
     DB::beginTransaction();
     $this->logInUser();
     $savedFilter = SavedFilter::first();
     $response = $this->call('DELETE', '/api/savedFilters/' . $savedFilter->id);
     $this->assertEquals(204, $response->getStatusCode());
     $response = $this->call('DELETE', '/api/savedFilters/' . $savedFilter->id);
     //        dd($response);
     $this->assertEquals(404, $response->getStatusCode());
     DB::rollBack();
 }
Example #4
0
 private function truncate()
 {
     User::truncate();
     Savings::truncate();
     Budget::truncate();
     Account::truncate();
     Transaction::truncate();
     FavouriteTransaction::truncate();
     SavedFilter::truncate();
     DB::table('budgets_favourite_transactions')->truncate();
     DB::table('budgets_transactions')->truncate();
 }
 /**
  * Define your route model bindings, pattern filters, etc.
  *
  * @param  \Illuminate\Routing\Router  $router
  * @return void
  */
 public function boot(Router $router)
 {
     parent::boot($router);
     //		$router->model('accounts', Account::class);
     Route::bind('accounts', function ($id) {
         return Account::forCurrentUser()->findOrFail($id);
     });
     Route::bind('budgets', function ($id) {
         return Budget::forCurrentUser()->findOrFail($id);
     });
     Route::bind('transactions', function ($id) {
         return Transaction::forCurrentUser()->findOrFail($id);
     });
     Route::bind('favouriteTransactions', function ($id) {
         return FavouriteTransaction::forCurrentUser()->findOrFail($id);
     });
     Route::bind('savedFilters', function ($id) {
         return SavedFilter::forCurrentUser()->findOrFail($id);
     });
 }