diff --git a/app/Entities/Subscriptions/Subscription.php b/app/Entities/Subscriptions/Subscription.php index 62968fb..5c0a52a 100755 --- a/app/Entities/Subscriptions/Subscription.php +++ b/app/Entities/Subscriptions/Subscription.php @@ -26,4 +26,9 @@ class Subscription extends Model { return $this->status_id ? trans('app.active') : trans('app.in_active'); } + + public function getTypeAttribute() + { + return $this->type_id == 1 ? trans('subscription.types.domain') : trans('subscription.types.hosting'); + } } diff --git a/app/Http/Controllers/SubscriptionsController.php b/app/Http/Controllers/SubscriptionsController.php index 524ed97..d9780b9 100755 --- a/app/Http/Controllers/SubscriptionsController.php +++ b/app/Http/Controllers/SubscriptionsController.php @@ -29,7 +29,13 @@ class SubscriptionsController extends Controller { $projects = $this->repo->getProjectsList(); $vendors = $this->repo->getVendorsList(); - return view('subscriptions.create', compact('projects', 'vendors')); + + $subscriptionTypes = [ + 1 => trans('subscription.types.domain'), + 2 => trans('subscription.types.hosting'), + ]; + + return view('subscriptions.create', compact('projects', 'vendors', 'subscriptionTypes')); } public function store(CreateRequest $request) diff --git a/app/Http/Requests/Subscriptions/CreateRequest.php b/app/Http/Requests/Subscriptions/CreateRequest.php index 0a5d550..e0a5bd0 100644 --- a/app/Http/Requests/Subscriptions/CreateRequest.php +++ b/app/Http/Requests/Subscriptions/CreateRequest.php @@ -34,6 +34,7 @@ class CreateRequest extends Request 'due_date' => 'required|date|date_format:Y-m-d', 'project_id' => 'required|numeric', 'vendor_id' => 'required|numeric', + 'type_id' => 'required|numeric', 'remark' => 'max:255', ]; } diff --git a/database/factories/ModelFactory.php b/database/factories/ModelFactory.php index fb82c06..13f1c24 100644 --- a/database/factories/ModelFactory.php +++ b/database/factories/ModelFactory.php @@ -27,6 +27,7 @@ $factory->define(Subscription::class, function (Faker\Generator $faker) { 'project_id' => function () { return factory(Project::class)->create()->id; }, + 'type_id' => 1, 'status_id' => 1, 'domain_name' => 'www.'.str_random(10).'.com', 'domain_price' => 125000, 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 55a41f8..a04309b 100644 --- a/database/migrations/2016_07_08_182606_create_subscriptions_table.php +++ b/database/migrations/2016_07_08_182606_create_subscriptions_table.php @@ -14,11 +14,12 @@ class CreateSubscriptionsTable extends Migration { Schema::create('subscriptions', function (Blueprint $table) { $table->increments('id'); - $table->integer('project_id')->unsigned(); - $table->integer('vendor_id')->unsigned(); + $table->unsignedInteger('project_id'); + $table->unsignedInteger('vendor_id'); + $table->unsignedTinyInteger('type_id'); $table->string('domain_name', 60); $table->string('epp_code', 60)->nullable(); - $table->integer('domain_price')->unsigned(); + $table->unsignedInteger('domain_price'); $table->string('hosting_capacity', 60)->nullable(); $table->boolean('status_id')->unsigned()->default(1); $table->integer('hosting_price')->unsigned()->nullable(); diff --git a/resources/lang/id/subscription.php b/resources/lang/id/subscription.php index a22a99a..c5a2576 100644 --- a/resources/lang/id/subscription.php +++ b/resources/lang/id/subscription.php @@ -1,32 +1,44 @@ 'Langganan', - 'subscriptions' => 'Daftar Langganan', - 'domain_name' => 'Domain', - 'domain_price' => 'Harga Domain', - 'epp_code' => 'Kode EPP', + + // Labels + 'subscription' => 'Langganan', + 'subscriptions' => 'Daftar Langganan', + 'search' => 'Cari Langganan', + 'found' => 'Langganan ditemukan', + 'not_found' => 'Langganan tidak ditemukan', + 'empty' => 'Belum ada Langganan', + 'back_to_index' => 'Kembali ke daftar Langganan', + + // Actions + 'create' => 'Input Langganan Baru', + 'created' => 'Input Langganan baru telah berhasil.', + 'show' => 'Detail Langganan', + 'edit' => 'Edit Langganan', + 'update' => 'Update Langganan', + 'updated' => 'Update data Langganan telah berhasil.', + 'delete' => 'Hapus Langganan', + 'deleted' => 'Hapus data Langganan telah berhasil.', + 'undeleted' => 'Data Langganan gagal dihapus.', + + // Attributes + 'domain_name' => 'Domain', + 'domain_price' => 'Harga Domain', + 'epp_code' => 'Kode EPP', 'hosting_capacity' => 'Kapasitas Hosting', - 'hosting_price' => 'Harga Hosting', - 'start_date' => 'Mulai Sewa', - 'due_date' => 'Perpanjangan', - 'extension_price' => 'Biaya Perpanjangan', - 'create' => 'Input Langganan Baru', - 'created' => 'Input Langganan baru telah berhasil.', - 'show' => 'Detail Langganan', - 'edit' => 'Edit Langganan', - 'update' => 'Update Langganan', - 'updated' => 'Update data Langganan telah berhasil.', - 'delete' => 'Hapus Langganan', - 'deleted' => 'Hapus data Langganan telah berhasil.', - 'undeleted' => 'Data Langganan gagal dihapus.', - 'remark' => 'Catatan', - 'search' => 'Cari Langganan', - 'found' => 'Langganan ditemukan', - 'not_found' => 'Langganan tidak ditemukan', - 'empty' => 'Belum ada Langganan', - 'back_to_index' => 'Kembali ke daftar Langganan', - 'customer' => 'Customer', - 'project' => 'Project', - 'vendor' => 'Vendor', -]; \ No newline at end of file + 'hosting_price' => 'Harga Hosting', + 'start_date' => 'Mulai Sewa', + 'due_date' => 'Perpanjangan', + 'extension_price' => 'Biaya Perpanjangan', + 'project' => 'Project', + 'vendor' => 'Vendor', + 'remark' => 'Catatan', + 'type' => 'Jenis Langganan', + + // Types + 'types' => [ + 'domain' => 'Domain', + 'hosting' => 'Hosting', + ], +]; diff --git a/resources/views/subscriptions/create.blade.php b/resources/views/subscriptions/create.blade.php index 29ccbce..ddeb332 100755 --- a/resources/views/subscriptions/create.blade.php +++ b/resources/views/subscriptions/create.blade.php @@ -16,32 +16,33 @@