diff --git a/controllers/MemberRank.php b/controllers/MemberRank.php
new file mode 100644
index 0000000..e713686
--- /dev/null
+++ b/controllers/MemberRank.php
@@ -0,0 +1,17 @@
+
+ = e(trans('backend::lang.form.create')) ?>
+
+ = e(trans('backend::lang.list.delete_selected')) ?>
+
+
diff --git a/controllers/memberrank/config_form.yaml b/controllers/memberrank/config_form.yaml
new file mode 100644
index 0000000..18c279b
--- /dev/null
+++ b/controllers/memberrank/config_form.yaml
@@ -0,0 +1,10 @@
+name: MemberRank
+form: $/germanairlinesva/schooling/models/memberrank/fields.yaml
+modelClass: GermanAirlinesVa\Schooling\Models\MemberRank
+defaultRedirect: germanairlinesva/schooling/memberrank
+create:
+ redirect: 'germanairlinesva/schooling/memberrank/update/:id'
+ redirectClose: germanairlinesva/schooling/memberrank
+update:
+ redirect: germanairlinesva/schooling/memberrank
+ redirectClose: germanairlinesva/schooling/memberrank
diff --git a/controllers/memberrank/config_list.yaml b/controllers/memberrank/config_list.yaml
new file mode 100644
index 0000000..906a3b6
--- /dev/null
+++ b/controllers/memberrank/config_list.yaml
@@ -0,0 +1,12 @@
+list: $/germanairlinesva/schooling/models/memberrank/columns.yaml
+modelClass: GermanAirlinesVa\Schooling\Models\MemberRank
+title: MemberRank
+noRecordsMessage: 'backend::lang.list.no_records'
+showSetup: true
+showCheckboxes: true
+recordsPerPage: 20
+toolbar:
+ buttons: list_toolbar
+ search:
+ prompt: 'backend::lang.list.search_prompt'
+recordUrl: 'germanairlinesva/schooling/memberrank/update/:id'
diff --git a/controllers/memberrank/create.htm b/controllers/memberrank/create.htm
new file mode 100644
index 0000000..2aa270e
--- /dev/null
+++ b/controllers/memberrank/create.htm
@@ -0,0 +1,46 @@
+
+
+
+
+fatalError): ?>
+
+ = Form::open(['class' => 'layout']) ?>
+
+
+ = $this->formRender() ?>
+
+
+
+
+ = Form::close() ?>
+
+
+ = e(trans($this->fatalError)) ?>
+ = e(trans('backend::lang.form.return_to_list')) ?>
+
\ No newline at end of file
diff --git a/controllers/memberrank/index.htm b/controllers/memberrank/index.htm
new file mode 100644
index 0000000..ea43a36
--- /dev/null
+++ b/controllers/memberrank/index.htm
@@ -0,0 +1 @@
+= $this->listRender() ?>
diff --git a/controllers/memberrank/preview.htm b/controllers/memberrank/preview.htm
new file mode 100644
index 0000000..95b96f6
--- /dev/null
+++ b/controllers/memberrank/preview.htm
@@ -0,0 +1,22 @@
+
+
+
+
+fatalError): ?>
+
+
+ = $this->formRenderPreview() ?>
+
+
+
+ = e($this->fatalError) ?>
+
+
+
+
+ = e(trans('backend::lang.form.return_to_list')) ?>
+
+
\ No newline at end of file
diff --git a/controllers/memberrank/update.htm b/controllers/memberrank/update.htm
new file mode 100644
index 0000000..f639c37
--- /dev/null
+++ b/controllers/memberrank/update.htm
@@ -0,0 +1,54 @@
+
+
+
+
+fatalError): ?>
+
+ = Form::open(['class' => 'layout']) ?>
+
+
+ = $this->formRender() ?>
+
+
+
+ = Form::close() ?>
+
+
+ = e(trans($this->fatalError)) ?>
+ = e(trans('backend::lang.form.return_to_list')) ?>
+
\ No newline at end of file
diff --git a/lang/en/lang.php b/lang/en/lang.php
index bd0b65d..088dea9 100644
--- a/lang/en/lang.php
+++ b/lang/en/lang.php
@@ -10,5 +10,18 @@
'menu' => [
'main' => 'GA Schooling',
'typeratings' => 'Typeratings',
+ 'rank' => 'Member Ranks',
+ ],
+ 'permissions' => [
+ 'tab' => 'German Airlines VA - Schooling',
+ 'label' => 'Manage Schooling',
+ ],
+ 'member_rank' => [
+ 'name' => 'Name',
+ 'description' => 'Description',
+ 'points' => 'Required Points',
+ 'price' => 'Price of Exam',
+ 'badge' => 'Badge',
+ 'region' => 'REGEX to Filter Allowed Regions of Flight',
],
];
diff --git a/models/MemberRank.php b/models/MemberRank.php
new file mode 100644
index 0000000..8ef6241
--- /dev/null
+++ b/models/MemberRank.php
@@ -0,0 +1,35 @@
+ 'required',
+ 'description' => 'required',
+ 'points' => 'required',
+ 'price' => 'required',
+ 'badge' => 'required',
+ 'region' => 'required',
+ ];
+}
diff --git a/models/memberrank/columns.yaml b/models/memberrank/columns.yaml
new file mode 100644
index 0000000..a27a0b7
--- /dev/null
+++ b/models/memberrank/columns.yaml
@@ -0,0 +1,22 @@
+columns:
+ id:
+ label: id
+ type: text
+ name:
+ label: name
+ type: text
+ description:
+ label: description
+ type: text
+ points:
+ label: points
+ type: number
+ price:
+ label: price
+ type: number
+ badge:
+ label: badge
+ type: text
+ region:
+ label: region
+ type: text
diff --git a/models/memberrank/fields.yaml b/models/memberrank/fields.yaml
new file mode 100644
index 0000000..ed47a3b
--- /dev/null
+++ b/models/memberrank/fields.yaml
@@ -0,0 +1,32 @@
+fields:
+ name:
+ label: 'germanairlinesva.schooling::lang.member_rank.name'
+ span: auto
+ required: 1
+ type: text
+ description:
+ label: 'germanairlinesva.schooling::lang.member_rank.description'
+ size: small
+ span: auto
+ required: 1
+ type: richeditor
+ points:
+ label: 'germanairlinesva.schooling::lang.member_rank.points'
+ span: auto
+ required: 1
+ type: number
+ price:
+ label: 'germanairlinesva.schooling::lang.member_rank.price'
+ span: auto
+ type: number
+ badge:
+ label: 'germanairlinesva.schooling::lang.member_rank.badge'
+ mode: file
+ span: auto
+ required: 1
+ type: mediafinder
+ region:
+ label: 'germanairlinesva.schooling::lang.member_rank.region'
+ span: auto
+ required: 1
+ type: text
diff --git a/plugin.yaml b/plugin.yaml
index ba89c77..3140f07 100644
--- a/plugin.yaml
+++ b/plugin.yaml
@@ -1,16 +1,26 @@
plugin:
- name: 'germanairlinesva.schooling::lang.plugin.name'
- description: 'germanairlinesva.schooling::lang.plugin.description'
- author: 'German Airlines Va'
- icon: oc-icon-university
- homepage: ''
+ name: 'germanairlinesva.schooling::lang.plugin.name'
+ description: 'germanairlinesva.schooling::lang.plugin.description'
+ author: 'German Airlines Va'
+ icon: oc-icon-university
+ homepage: ''
navigation:
- main-menu-item:
- label: 'germanairlinesva.schooling::lang.menu.main'
- url: /
- icon: icon-university
- sideMenu:
- side-menu-item:
- label: 'germanairlinesva.schooling::lang.menu.typeratings'
- url: germanairlinesva/schooling/typerating
- icon: icon-plane
+ main-menu-item:
+ label: 'germanairlinesva.schooling::lang.menu.main'
+ url: /
+ icon: icon-university
+ permissions:
+ - schooling
+ sideMenu:
+ side-menu-item:
+ label: 'germanairlinesva.schooling::lang.menu.typeratings'
+ url: germanairlinesva/schooling/typerating
+ icon: icon-plane
+ side-menu-item2:
+ label: 'germanairlinesva.schooling::lang.menu.rank'
+ url: germanairlinesva/schooling/memberRank
+ icon: icon-signal
+permissions:
+ schooling:
+ tab: 'germanairlinesva.schooling::lang.permissions.tab'
+ label: 'germanairlinesva.schooling::lang.permissions.label'
diff --git a/updates/builder_table_create_member_ranks.php b/updates/builder_table_create_member_ranks.php
new file mode 100644
index 0000000..d69127e
--- /dev/null
+++ b/updates/builder_table_create_member_ranks.php
@@ -0,0 +1,28 @@
+create('member_ranks', function ($table) {
+ $table->engine = 'InnoDB';
+ $table->bigIncrements('id')->unsigned();
+ $table->string('name');
+ $table->text('description');
+ $table->integer('points')->unsigned();
+ $table->integer('price')->unsigned();
+ $table->string('badge');
+ $table->string('region');
+ });
+ }
+
+ public function down()
+ {
+ Schema::connection('germanairlinesva_schooling')->disableForeignKeyConstraints();
+ Schema::connection('germanairlinesva_schooling')->dropIfExists('member_ranks');
+ Schema::connection('germanairlinesva_schooling')->enableForeignKeyConstraints();
+ }
+}
diff --git a/updates/version.yaml b/updates/version.yaml
index adfc051..0bd615f 100644
--- a/updates/version.yaml
+++ b/updates/version.yaml
@@ -5,3 +5,5 @@
1.0.2:
- 'Created table typeratings'
- builder_table_create_typeratings.php
+ - 'Created table member_ranks'
+ - builder_table_create_member_ranks.php