Skip to content
Snippets Groups Projects
FundingController.php 1.18 KiB
Newer Older
  • Learn to ignore specific revisions
  • beardedwarrior's avatar
    beardedwarrior committed
    <?php
    
    namespace App\Http\Controllers;
    
    use App\Deposit;
    use App\Project;
    use Illuminate\Http\Request;
    
    class FundingController extends Controller
    {
        /**
    
    beardedwarrior's avatar
    beardedwarrior committed
         *
    
         * @return \Illuminate\View\View|\Illuminate\Contracts\View\Factory
         */
        public function index()
        {
            $projects = Project::all();
            return view('projects.index')
                ->with('projects', $projects);
        }
    
        /**
         * Shows the project based on the payment id
         *
         * @param $paymentId
    
    beardedwarrior's avatar
    beardedwarrior committed
         *
         * @return \Illuminate\View\View|\Illuminate\Contracts\View\Factory
         */
        public function show($paymentId)
        {
            $project = Project::where('payment_id', $paymentId)->first();
    
            if (!$project) {
                abort(404);
            }
            $contributions = $project->deposits->count();
            $amountReceived = $project->deposits->sum('amount');
            $percentage = round($amountReceived / $project->target_amount * 100);
    
                ->with('project', $project)
                ->with('contributions', $contributions)
                ->with('percentage', $percentage)
                ->with('amount_received', $amountReceived);
    
    beardedwarrior's avatar
    beardedwarrior committed
        }
    }