diff --git a/app/Entities/Projects/Status.php b/app/Entities/Projects/Status.php index a66c80a..4a685e0 100644 --- a/app/Entities/Projects/Status.php +++ b/app/Entities/Projects/Status.php @@ -41,7 +41,7 @@ class Status extends ReferenceAbstract public static function getIconById($singleId) { - if ( ! ! static::getById($singleId) && isset(static::$icons[$singleId])) { + if (!!static::getById($singleId) && isset(static::$icons[$singleId])) { return static::$icons[$singleId]; } diff --git a/app/Entities/Subscriptions/Subscription.php b/app/Entities/Subscriptions/Subscription.php index b7e5706..7a12182 100755 --- a/app/Entities/Subscriptions/Subscription.php +++ b/app/Entities/Subscriptions/Subscription.php @@ -63,6 +63,11 @@ class Subscription extends Model public function getTypeAttribute() { - return $this->type_id == 1 ? trans('subscription.types.domain') : trans('subscription.types.hosting'); + return Type::getNameById($this->type_id); + } + + public function getTypeColorAttribute() + { + return Type::getColorById($this->type_id); } } diff --git a/app/Entities/Subscriptions/Type.php b/app/Entities/Subscriptions/Type.php new file mode 100644 index 0000000..22b8b0d --- /dev/null +++ b/app/Entities/Subscriptions/Type.php @@ -0,0 +1,33 @@ + 'domain', + 2 => 'hosting', + ]; + + protected static $colors = [ + 1 => '#337ab7', + 2 => '#4caf50', + ]; + + public static function getNameById($singleId) + { + return trans('subscription.types.'.static::getById($singleId)); + } + + public static function toArray() + { + $lists = []; + foreach (static::$lists as $key => $value) { + $lists[$key] = trans('subscription.types.'.$value); + } + + return $lists; + } +} diff --git a/app/Http/Controllers/SubscriptionsController.php b/app/Http/Controllers/SubscriptionsController.php index 3394366..4594bfb 100755 --- a/app/Http/Controllers/SubscriptionsController.php +++ b/app/Http/Controllers/SubscriptionsController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers; use App\Entities\Subscriptions\Subscription; use App\Entities\Subscriptions\SubscriptionsRepository; +use App\Entities\Subscriptions\Type; use App\Http\Controllers\Controller; use App\Http\Requests\SubscriptionRequest as FormRequest; use Illuminate\Http\Request; @@ -20,7 +21,11 @@ class SubscriptionsController extends Controller public function index(Request $request) { - $subscriptions = $this->repo->getSubscriptions($request->get('q'), $request->get('vendor_id')); + $subscriptions = $this->repo->getSubscriptions( + $request->get('q'), + $request->get('vendor_id') + ); + return view('subscriptions.index', compact('subscriptions')); } @@ -29,9 +34,7 @@ class SubscriptionsController extends Controller $projects = $this->repo->getProjectsList(); $vendors = $this->repo->getVendorsList(); - $subscriptionTypes = $this->getSubscriptionTypes(); - - return view('subscriptions.create', compact('projects', 'vendors', 'subscriptionTypes')); + return view('subscriptions.create', compact('projects', 'vendors')); } public function store(FormRequest $subscriptionCreateRequest) @@ -53,11 +56,10 @@ class SubscriptionsController extends Controller { $projects = $this->repo->getProjectsList(); $vendors = $this->repo->getVendorsList(); - $subscriptionTypes = $this->getSubscriptionTypes(); $pageTitle = $this->getPageTitle('edit', $subscription); - return view('subscriptions.edit', compact('subscription', 'projects', 'vendors', 'subscriptionTypes', 'pageTitle')); + return view('subscriptions.edit', compact('subscription', 'projects', 'vendors', 'pageTitle')); } public function update(FormRequest $subscriptionUpdateRequest, Subscription $subscription) @@ -78,10 +80,7 @@ class SubscriptionsController extends Controller private function getSubscriptionTypes() { - return [ - 1 => trans('subscription.types.domain'), - 2 => trans('subscription.types.hosting'), - ]; + return Type::toArray(); } private function getPageTitle($pageType, $subscription) diff --git a/resources/lang/id/app.php b/resources/lang/id/app.php index 474a235..6a16b7d 100644 --- a/resources/lang/id/app.php +++ b/resources/lang/id/app.php @@ -13,6 +13,7 @@ return [ 'in_active' => 'Non Aktif', 'show_detail_title' => 'Lihat detail :type :name', 'status' => 'Status', + 'type' => 'Jenis', 'total' => 'Total', 'count' => 'Jumlah', diff --git a/resources/lang/id/subscription.php b/resources/lang/id/subscription.php index 53d2ee8..9667f56 100644 --- a/resources/lang/id/subscription.php +++ b/resources/lang/id/subscription.php @@ -3,48 +3,48 @@ return [ // Labels - 'subscription' => 'Langganan', + 'subscription' => 'Langganan', 'subscriptions' => 'Daftar Langganan', - 'list' => 'Daftar Langganan', - 'detail' => 'Detail Langganan', - 'search' => 'Cari Langganan', - 'found' => 'Langganan ditemukan', - 'not_found' => 'Langganan tidak ditemukan', - 'empty' => 'Belum ada Langganan', - 'back_to_show' => 'Kembali ke Detail Langganan', + 'list' => 'Daftar Langganan', + 'detail' => 'Detail Langganan', + 'search' => 'Cari Langganan', + 'found' => 'Langganan ditemukan', + 'not_found' => 'Langganan tidak ditemukan', + 'empty' => 'Belum ada Langganan', + 'back_to_show' => 'Kembali ke Detail Langganan', 'back_to_index' => 'Kembali ke daftar Langganan', // Actions - 'create' => 'Input Langganan Baru', - 'created' => 'Input Langganan baru telah berhasil.', - 'show' => 'Lihat Detail Langganan', - 'edit' => 'Edit Langganan', - 'update' => 'Update Langganan', - 'updated' => 'Update data Langganan telah berhasil.', - 'delete' => 'Hapus Langganan', - 'deleted' => 'Hapus data Langganan telah berhasil.', + 'create' => 'Input Langganan Baru', + 'created' => 'Input Langganan baru telah berhasil.', + 'show' => 'Lihat 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 - 'name' => 'Nama Langganan', - 'price' => 'Harga', - 'domain_name' => 'Domain', - 'domain_price' => 'Harga Domain', - 'epp_code' => 'Kode EPP', + 'name' => 'Nama Langganan', + 'price' => 'Harga', + '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', - 'project' => 'Project', - 'customer' => 'Customer', - 'vendor' => 'Vendor', - 'notes' => 'Catatan', - 'type' => 'Jenis Langganan', + 'hosting_price' => 'Harga Hosting', + 'start_date' => 'Mulai Sewa', + 'due_date' => 'Perpanjangan', + 'extension_price' => 'Biaya Perpanjangan', + 'project' => 'Project', + 'customer' => 'Customer', + 'vendor' => 'Vendor', + 'notes' => 'Catatan', + 'type' => 'Jenis Langganan', // Types 'types' => [ - 'domain' => 'Domain', + 'domain' => 'Domain', 'hosting' => 'Hosting', ], ]; diff --git a/resources/views/subscriptions/create.blade.php b/resources/views/subscriptions/create.blade.php index 2c34089..35b3ffe 100755 --- a/resources/views/subscriptions/create.blade.php +++ b/resources/views/subscriptions/create.blade.php @@ -3,6 +3,8 @@ @section('title', trans('subscription.create')) @section('content') +@inject('subscriptionTypes', 'App\Entities\Subscriptions\Type') +