From dfe1530d27a2b9d825b4284a656ca531d8ea15dd Mon Sep 17 00:00:00 2001 From: Gogs Date: Tue, 15 Jun 2021 00:36:47 +0200 Subject: [PATCH] MemberRanks --- controllers/MemberRank.php | 17 ++++++ controllers/memberrank/_list_toolbar.htm | 18 +++++++ controllers/memberrank/config_form.yaml | 10 ++++ controllers/memberrank/config_list.yaml | 12 +++++ controllers/memberrank/create.htm | 46 ++++++++++++++++ controllers/memberrank/index.htm | 1 + controllers/memberrank/preview.htm | 22 ++++++++ controllers/memberrank/update.htm | 54 +++++++++++++++++++ lang/en/lang.php | 13 +++++ models/MemberRank.php | 35 ++++++++++++ models/memberrank/columns.yaml | 22 ++++++++ models/memberrank/fields.yaml | 32 +++++++++++ plugin.yaml | 38 ++++++++----- updates/builder_table_create_member_ranks.php | 28 ++++++++++ updates/version.yaml | 2 + 15 files changed, 336 insertions(+), 14 deletions(-) create mode 100644 controllers/MemberRank.php create mode 100644 controllers/memberrank/_list_toolbar.htm create mode 100644 controllers/memberrank/config_form.yaml create mode 100644 controllers/memberrank/config_list.yaml create mode 100644 controllers/memberrank/create.htm create mode 100644 controllers/memberrank/index.htm create mode 100644 controllers/memberrank/preview.htm create mode 100644 controllers/memberrank/update.htm create mode 100644 models/MemberRank.php create mode 100644 models/memberrank/columns.yaml create mode 100644 models/memberrank/fields.yaml create mode 100644 updates/builder_table_create_member_ranks.php 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 @@ + + + + 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): ?> + + 'layout']) ?> + +
+ formRender() ?> +
+ +
+
+ + + + + +
+
+ + + + +

fatalError)) ?>

+

+ \ 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 @@ +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): ?> + +
+ formRenderPreview() ?> +
+ + +

fatalError) ?>

+ + +

+ + + +

\ 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): ?> + + 'layout']) ?> + +
+ formRender() ?> +
+ +
+
+ + + + + + + +
+
+ + + +

fatalError)) ?>

+

+ \ 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