Example #1
0
 public function getIndex($stage = null, $category = null, $country = null)
 {
     // for categories
     $loanCategories = $this->loanCategoryQuery->orderByRank()->find();
     //for countries
     $countries = $this->countryQuery->orderByName()->find();
     //for loans
     $conditions = [];
     $loanCategoryName = $category;
     $stageName = $stage;
     $selectedLoanCategory = $this->loanCategoryQuery->findOneBySlug($loanCategoryName);
     $routeParams = ['category' => 'all', 'stage' => 'fund-raising', 'country' => 'everywhere'];
     if ($stageName == 'completed') {
         $routeParams['stage'] = 'completed';
         $conditions['status'] = [Loan::DEFAULTED, Loan::REPAID];
     } elseif ($stageName == 'active') {
         $routeParams['stage'] = 'active';
         $conditions['status'] = [Loan::ACTIVE, Loan::FUNDED];
     } else {
         $routeParams['stage'] = 'fund-raising';
         $conditions['status'] = Loan::OPEN;
     }
     if ($selectedLoanCategory) {
         $conditions['categoryId'] = $selectedLoanCategory->getId();
         $routeParams['category'] = $selectedLoanCategory->getSlug();
     }
     $countryName = $country;
     $selectedCountry = $this->countryQuery->findOneBySlug($countryName);
     if ($selectedCountry) {
         $conditions['countryId'] = $selectedCountry->getId();
         $routeParams['country'] = $selectedCountry->getSlug();
     }
     $searchRouteParams = $routeParams;
     $searchQuery = Request::query('search');
     if ($searchQuery) {
         $conditions['search'] = $searchQuery;
         $routeParams['search'] = $searchQuery;
     }
     $page = Request::query('page') ?: 1;
     $paginator = $this->loanService->searchLoans($conditions, $page);
     return View::make('pages.lend', compact('countries', 'selectedCountry', 'loanCategories', 'selectedLoanCategory', 'paginator', 'routeParams', 'searchQuery', 'searchRouteParams'));
 }
Example #2
0
 public function testApplyForLoan(UnitTester $I)
 {
     $con = Propel::getWriteConnection(TransactionTableMap::DATABASE_NAME);
     $con->beginTransaction();
     $borrower = \Zidisha\Borrower\BorrowerQuery::create()->findOneById(12);
     $borrowerId = $borrower->getId();
     $data = ['categoryId' => '7', 'amount' => '798097', 'summary' => 'suasdasd', 'proposal' => 'asdasda', 'installmentAmount' => '2312', 'installmentDay' => '1', 'amountRaised' => 0, 'interestRate' => 10];
     try {
         $this->loanService->applyForLoan($borrower, $data);
         $LoanCount = \Zidisha\Loan\LoanQuery::create()->filterByStatus(Loan::OPEN)->filterByBorrowerId($borrowerId)->count();
         verify($LoanCount)->greaterThan(0);
     } catch (\Exception $e) {
         $con->rollBack();
         throw $e;
     }
     $con->rollBack();
 }