From 3e1d26022a6dd18828343ed194d7b84485fda277 Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Sun, 29 Oct 2017 20:46:46 +0800 Subject: [PATCH] Remove customer_id from subscriptions table Because the customer_id will be in the Project model that already has customer_id attribute --- app/Entities/Subscriptions/Subscription.php | 2 +- .../Subscriptions/SubscriptionsRepository.php | 2 +- app/Http/Controllers/SubscriptionsController.php | 146 ++++++++++----------- app/Http/Requests/Subscriptions/CreateRequest.php | 1 - app/Http/Requests/Subscriptions/UpdateRequest.php | 1 - database/factories/ModelFactory.php | 3 - ...016_07_08_182606_create_subscriptions_table.php | 73 +++++------ resources/views/subscriptions/create.blade.php | 3 +- resources/views/subscriptions/edit.blade.php | 3 +- resources/views/subscriptions/index.blade.php | 2 +- .../partials/subscription-show.blade.php | 7 +- tests/Feature/ManageSubscriptionsTest.php | 19 +-- tests/Unit/Models/SubscriptionTest.php | 12 +- 13 files changed, 131 insertions(+), 143 deletions(-) diff --git a/app/Entities/Subscriptions/Subscription.php b/app/Entities/Subscriptions/Subscription.php index df01d27..ba3d77a 100755 --- a/app/Entities/Subscriptions/Subscription.php +++ b/app/Entities/Subscriptions/Subscription.php @@ -17,7 +17,7 @@ class Subscription extends Model return $this->belongsTo('App\Entities\Projects\Project'); } - public function customer() + public function vendor() { return $this->belongsTo('App\Entities\Partners\Partner'); } diff --git a/app/Entities/Subscriptions/SubscriptionsRepository.php b/app/Entities/Subscriptions/SubscriptionsRepository.php index fbb4616..47a8d1c 100755 --- a/app/Entities/Subscriptions/SubscriptionsRepository.php +++ b/app/Entities/Subscriptions/SubscriptionsRepository.php @@ -29,7 +29,7 @@ class SubscriptionsRepository extends BaseRepository } }) - ->with('customer') + ->with('vendor') ->paginate($this->_paginate); } } diff --git a/app/Http/Controllers/SubscriptionsController.php b/app/Http/Controllers/SubscriptionsController.php index cdc22dc..524ed97 100755 --- a/app/Http/Controllers/SubscriptionsController.php +++ b/app/Http/Controllers/SubscriptionsController.php @@ -2,83 +2,81 @@ namespace App\Http\Controllers; +use App\Entities\Subscriptions\SubscriptionsRepository; +use App\Http\Controllers\Controller; use App\Http\Requests\Subscriptions\CreateRequest; -use App\Http\Requests\Subscriptions\UpdateRequest; use App\Http\Requests\Subscriptions\DeleteRequest; -use App\Http\Controllers\Controller; -use App\Entities\Subscriptions\SubscriptionsRepository; - +use App\Http\Requests\Subscriptions\UpdateRequest; use Illuminate\Http\Request; -class SubscriptionsController extends Controller { - - private $repo; - - public function __construct(SubscriptionsRepository $repo) - { - $this->repo = $repo; - } - - public function index(Request $req) - { - $subscriptions = $this->repo->getSubscriptions($req->get('q'), $req->get('vendor_id')); - return view('subscriptions.index',compact('subscriptions')); - } - - public function create() - { - $projects = $this->repo->getProjectsList(); - $customers = $this->repo->getCustomersList(); - $vendors = $this->repo->getVendorsList(); - return view('subscriptions.create', compact('projects','customers','vendors')); - } - - public function store(CreateRequest $req) - { - $subscription = $this->repo->create($req->except('_token')); - flash()->success(trans('subscription.created')); - return redirect()->route('subscriptions.index'); - } - - public function show($subscriptionId) - { - $subscription = $this->repo->requireById($subscriptionId); - return view('subscriptions.show', compact('subscription')); - } - - public function edit($subscriptionId) - { - $subscription = $this->repo->requireById($subscriptionId); - $projects = $this->repo->getProjectsList(); - $customers = $this->repo->getCustomersList(); - $vendors = $this->repo->getVendorsList(); - return view('subscriptions.edit',compact('subscription','projects','customers','vendors')); - } - - public function update(UpdateRequest $req, $subscriptionId) - { - $subscription = $this->repo->update($req->except(['_method','_token']), $subscriptionId); - flash()->success(trans('subscription.updated')); - return redirect()->route('subscriptions.edit', $subscriptionId); - } - - public function delete($subscriptionId) - { - $subscription = $this->repo->requireById($subscriptionId); - return view('subscriptions.delete', compact('subscription')); - } - - public function destroy(DeleteRequest $req, $subscriptionId) - { - if ($subscriptionId == $req->get('subscription_id')) - { - $this->repo->delete($subscriptionId); - flash()->success(trans('subscription.deleted')); - } - else - flash()->error(trans('subscription.undeleted')); - - return redirect()->route('subscriptions.index'); - } +class SubscriptionsController extends Controller +{ + + private $repo; + + public function __construct(SubscriptionsRepository $repo) + { + $this->repo = $repo; + } + + public function index(Request $request) + { + $subscriptions = $this->repo->getSubscriptions($request->get('q'), $request->get('vendor_id')); + return view('subscriptions.index', compact('subscriptions')); + } + + public function create() + { + $projects = $this->repo->getProjectsList(); + $vendors = $this->repo->getVendorsList(); + return view('subscriptions.create', compact('projects', 'vendors')); + } + + public function store(CreateRequest $request) + { + $subscription = $this->repo->create($request->except('_token')); + flash()->success(trans('subscription.created')); + return redirect()->route('subscriptions.index'); + } + + public function show($subscriptionId) + { + $subscription = $this->repo->requireById($subscriptionId); + return view('subscriptions.show', compact('subscription')); + } + + public function edit($subscriptionId) + { + $subscription = $this->repo->requireById($subscriptionId); + $projects = $this->repo->getProjectsList(); + $customers = $this->repo->getCustomersList(); + $vendors = $this->repo->getVendorsList(); + return view('subscriptions.edit', compact('subscription', 'projects', 'customers', 'vendors')); + } + + public function update(UpdateRequest $request, $subscriptionId) + { + $subscription = $this->repo->update($request->except(['_method', '_token']), $subscriptionId); + flash()->success(trans('subscription.updated')); + return redirect()->route('subscriptions.edit', $subscriptionId); + } + + public function delete($subscriptionId) + { + $subscription = $this->repo->requireById($subscriptionId); + return view('subscriptions.delete', compact('subscription')); + } + + public function destroy(DeleteRequest $request, $subscriptionId) + { + if ($subscriptionId == $request->get('subscription_id')) { + $this->repo->delete($subscriptionId); + flash()->success(trans('subscription.deleted')); + } else { + flash()->error(trans('subscription.undeleted')); + } + + return redirect()->route('subscriptions.index'); + } } diff --git a/app/Http/Requests/Subscriptions/CreateRequest.php b/app/Http/Requests/Subscriptions/CreateRequest.php index db4fa61..0a5d550 100644 --- a/app/Http/Requests/Subscriptions/CreateRequest.php +++ b/app/Http/Requests/Subscriptions/CreateRequest.php @@ -32,7 +32,6 @@ class CreateRequest extends Request 'hosting_price' => 'required_with:hosting_capacity|numeric', 'start_date' => 'required|date|date_format:Y-m-d', 'due_date' => 'required|date|date_format:Y-m-d', - 'customer_id' => 'required|numeric', 'project_id' => 'required|numeric', 'vendor_id' => 'required|numeric', 'remark' => 'max:255', diff --git a/app/Http/Requests/Subscriptions/UpdateRequest.php b/app/Http/Requests/Subscriptions/UpdateRequest.php index 20d5ee6..4cd1825 100644 --- a/app/Http/Requests/Subscriptions/UpdateRequest.php +++ b/app/Http/Requests/Subscriptions/UpdateRequest.php @@ -32,7 +32,6 @@ class UpdateRequest extends Request 'hosting_price' => 'required_with:hosting_capacity|numeric', 'start_date' => 'required|date|date_format:Y-m-d', 'due_date' => 'required|date|date_format:Y-m-d', - 'customer_id' => 'required|numeric', 'project_id' => 'required|numeric', 'vendor_id' => 'required|numeric', 'remark' => 'max:255', diff --git a/database/factories/ModelFactory.php b/database/factories/ModelFactory.php index 695ef17..3482f98 100644 --- a/database/factories/ModelFactory.php +++ b/database/factories/ModelFactory.php @@ -36,9 +36,6 @@ $factory->define(Subscription::class, function (Faker\Generator $faker) { 'start_date' => $startDate->format('Y-m-d'), 'due_date' => $startDate->addYears(1)->format('Y-m-d'), 'remark' => $faker->paragraph, - 'customer_id' => function () { - return factory(Partner::class)->create()->id; - }, 'vendor_id' => function () { return factory(Partner::class)->create()->id; }, diff --git a/database/migrations/2016_07_08_182606_create_subscriptions_table.php b/database/migrations/2016_07_08_182606_create_subscriptions_table.php index d5bd859..55a41f8 100644 --- a/database/migrations/2016_07_08_182606_create_subscriptions_table.php +++ b/database/migrations/2016_07_08_182606_create_subscriptions_table.php @@ -3,44 +3,41 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; -class CreateSubscriptionsTable extends Migration { +class CreateSubscriptionsTable extends Migration +{ + /** + * Run the migrations. + * + * @return void + */ + public function up() + { + Schema::create('subscriptions', function (Blueprint $table) { + $table->increments('id'); + $table->integer('project_id')->unsigned(); + $table->integer('vendor_id')->unsigned(); + $table->string('domain_name', 60); + $table->string('epp_code', 60)->nullable(); + $table->integer('domain_price')->unsigned(); + $table->string('hosting_capacity', 60)->nullable(); + $table->boolean('status_id')->unsigned()->default(1); + $table->integer('hosting_price')->unsigned()->nullable(); + $table->date('start_date')->nullable(); + $table->date('due_date')->nullable(); + $table->string('remark')->nullable(); + $table->timestamps(); + $table->unique(['domain_name', 'epp_code'], 'domain_name_epp_code'); + }); + } - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - Schema::create('subscriptions', function(Blueprint $table) - { - $table->increments('id'); - $table->integer('project_id')->unsigned(); - $table->integer('customer_id')->unsigned(); - $table->integer('vendor_id')->unsigned(); - $table->string('domain_name', 60); - $table->string('epp_code', 60)->nullable(); - $table->integer('domain_price')->unsigned(); - $table->string('hosting_capacity', 60)->nullable(); - $table->boolean('status_id')->unsigned()->default(1); - $table->integer('hosting_price')->unsigned()->nullable(); - $table->date('start_date')->nullable(); - $table->date('due_date')->nullable(); - $table->string('remark')->nullable(); - $table->timestamps(); - $table->unique(['domain_name','epp_code'], 'domain_name_epp_code'); - }); - } - - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::drop('subscriptions'); - } + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('subscriptions'); + } } diff --git a/resources/views/subscriptions/create.blade.php b/resources/views/subscriptions/create.blade.php index 3d98053..29ccbce 100755 --- a/resources/views/subscriptions/create.blade.php +++ b/resources/views/subscriptions/create.blade.php @@ -39,7 +39,6 @@ {!! FormField::text('due_date',['label'=> trans('subscription.due_date')]) !!} - {!! FormField::select('customer_id', $customers,['label'=> trans('subscription.customer'),'value' => Request::get('customer_id')]) !!} {!! FormField::select('project_id', $projects,['label'=> trans('subscription.project'),'value' => Request::get('project_id')]) !!} {!! FormField::select('vendor_id', $vendors,['label'=> trans('subscription.vendor'),'value' => Request::get('vendor_id')]) !!} {!! FormField::textarea('remark',['label'=> trans('subscription.remark')]) !!} @@ -53,4 +52,4 @@ {!! Form::close() !!} -@endsection \ No newline at end of file +@endsection diff --git a/resources/views/subscriptions/edit.blade.php b/resources/views/subscriptions/edit.blade.php index 40152d6..3db51b6 100755 --- a/resources/views/subscriptions/edit.blade.php +++ b/resources/views/subscriptions/edit.blade.php @@ -34,7 +34,6 @@ {!! FormField::text('due_date',['label'=> trans('subscription.due_date')]) !!} - {!! FormField::select('customer_id', $customers,['label'=> trans('subscription.customer')]) !!} {!! FormField::select('project_id', $projects,['label'=> trans('subscription.project')]) !!} {!! FormField::select('vendor_id', $vendors,['label'=> trans('subscription.vendor')]) !!} {!! FormField::radios('status_id', ['Non Active','Active'],['label'=> trans('app.status')]) !!} @@ -51,4 +50,4 @@ {!! Form::close() !!} -@endsection \ No newline at end of file +@endsection diff --git a/resources/views/subscriptions/index.blade.php b/resources/views/subscriptions/index.blade.php index a43ca55..864faa1 100755 --- a/resources/views/subscriptions/index.blade.php +++ b/resources/views/subscriptions/index.blade.php @@ -32,7 +32,7 @@ {{ $subscriptions->firstItem() + $key }} {{ $subscription->domain_name }} {{ $subscription->hosting_capacity }} - {{ $subscription->customer->name }} + {{ $subscription->vendor->name }}