From fadeb1b97de6b3b4b101048ee8385929eed21149 Mon Sep 17 00:00:00 2001 From: Devin <devin@blackhat.co.za> Date: Fri, 12 Oct 2018 12:25:18 +0200 Subject: [PATCH] add soft attribute for amount received, add more index display --- app/Http/Controllers/FundingController.php | 21 +++++++++++++------ app/Project.php | 4 ++++ ...018_09_10_211659_create_deposits_table.php | 2 +- database/seeds/DatabaseSeeder.php | 2 +- resources/views/projects/index.blade.php | 20 ++++++++++++++++++ .../show.blade.php} | 0 routes/web.php | 4 ++-- 7 files changed, 43 insertions(+), 10 deletions(-) create mode 100644 resources/views/projects/index.blade.php rename resources/views/{ffs.blade.php => projects/show.blade.php} (100%) diff --git a/app/Http/Controllers/FundingController.php b/app/Http/Controllers/FundingController.php index c0638cb..19d27d3 100644 --- a/app/Http/Controllers/FundingController.php +++ b/app/Http/Controllers/FundingController.php @@ -9,12 +9,21 @@ use Illuminate\Http\Request; class FundingController extends Controller { /** - * Generates the interstitial + * Shows all projects * - * @param $invoice - * @param null $currency - * @param bool $moneroOnly - * @param bool $shopifySite + * @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 * * @return \Illuminate\View\View|\Illuminate\Contracts\View\Factory */ @@ -27,7 +36,7 @@ class FundingController extends Controller $contributions = $project->deposits->count(); $amountReceived = $project->deposits->sum('amount'); $percentage = round($amountReceived / $project->target_amount * 100); - return view('ffs') + return view('projects.show') ->with('project', $project) ->with('contributions', $contributions) ->with('percentage', $percentage) diff --git a/app/Project.php b/app/Project.php index c0cd47a..5f213cd 100644 --- a/app/Project.php +++ b/app/Project.php @@ -13,4 +13,8 @@ class Project extends Model { return $this->hasMany(Deposit::class, 'payment_id', 'payment_id'); } + + public function getAmountReceivedAttribute() { + return $this->deposits->sum('amount'); + } } diff --git a/database/migrations/2018_09_10_211659_create_deposits_table.php b/database/migrations/2018_09_10_211659_create_deposits_table.php index 88ddb8c..ca57e00 100644 --- a/database/migrations/2018_09_10_211659_create_deposits_table.php +++ b/database/migrations/2018_09_10_211659_create_deposits_table.php @@ -17,7 +17,7 @@ class CreateDepositsTable extends Migration $table->increments('id'); $table->string('payment_id'); $table->string('amount'); - $table->unsignedInteger('time_received'); + $table->dateTime('time_received'); $table->string('tx_id'); $table->unsignedInteger('block_received'); $table->timestamps(); diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php index 91cb6d1..5da9622 100644 --- a/database/seeds/DatabaseSeeder.php +++ b/database/seeds/DatabaseSeeder.php @@ -11,6 +11,6 @@ class DatabaseSeeder extends Seeder */ public function run() { - // $this->call(UsersTableSeeder::class); + $this->call(ProjectsTableSeeder::class); } } diff --git a/resources/views/projects/index.blade.php b/resources/views/projects/index.blade.php new file mode 100644 index 0000000..95e3433 --- /dev/null +++ b/resources/views/projects/index.blade.php @@ -0,0 +1,20 @@ +<table> + <thead class="flip-content"> + <tr> + <th>Payment ID</th> + <th>Status</th> + <th>Funding Received</th> + <th>Required</th> + </tr> + </thead> + <tbody> +@foreach ($projects as $project) + <tr> + <td><a href='{!! url('/projects/'.$project->payment_id); !!}'>{{ $project->payment_id }}</a></td> + <td>{{$project->status}}</td> + <td>{{$project->amountReceived}} XMR</td> + <td>{{$project->target_amount}} XMR</td> + </tr> +@endforeach + </tbody> +</table> \ No newline at end of file diff --git a/resources/views/ffs.blade.php b/resources/views/projects/show.blade.php similarity index 100% rename from resources/views/ffs.blade.php rename to resources/views/projects/show.blade.php diff --git a/routes/web.php b/routes/web.php index 9479649..54b2e41 100644 --- a/routes/web.php +++ b/routes/web.php @@ -14,5 +14,5 @@ Route::get('/', function () { return view('welcome'); }); - -Route::get('project/{paymentId}', ['as' => 'ffs', 'uses' => FundingController::class.'@show']); +Route::get('projects', ['as' => 'ffs', 'uses' => FundingController::class.'@index']); +Route::get('projects/{paymentId}', ['as' => 'ffs', 'uses' => FundingController::class.'@show']); -- GitLab