From 2fcb92452cb8bad115c476b577965e3d90e50cd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9onard=20Schafer?= <79663902+Sprudeel@users.noreply.github.com> Date: Sat, 1 Oct 2022 10:46:44 +0000 Subject: [PATCH 001/114] update MiData login button to new PBS design --- resources/images/midata.svg | 72 +++---------------------------------- resources/sass/_forms.scss | 18 +++++----- 2 files changed, 13 insertions(+), 77 deletions(-) diff --git a/resources/images/midata.svg b/resources/images/midata.svg index 265f5e7f..4a8cf990 100644 --- a/resources/images/midata.svg +++ b/resources/images/midata.svg @@ -1,68 +1,4 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - + + + + \ No newline at end of file diff --git a/resources/sass/_forms.scss b/resources/sass/_forms.scss index 86319d58..92d82de3 100644 --- a/resources/sass/_forms.scss +++ b/resources/sass/_forms.scss @@ -28,13 +28,13 @@ } .form-control.btn-hitobito { - color: #fff; - background-color: #99bf62; - border-color: #00a651; - background-size: 1.9rem 1.9rem; + color: #000; + background-color: #F5F2F4; + border-color: #521D3A; + background-size: 1.5rem 1.5rem; background-repeat: no-repeat; background-position: left 0.75rem center; - background-image: url('../images/midata.svg'); + background-image: url(/images/midata.svg?53e5c6a5bd90905b308381e3bc54afab); padding-left: 4.15rem; padding-right: 4.15rem; position: relative; @@ -45,12 +45,12 @@ } &:hover { - color: #fff; - background-color: #8fb45c; - border-color: #008040; + color: #000; + background-color: #ECE6EA; + border-color: #521D3A; &::before { - border-left-color: #008040; + border-left-color: #521D3A; } } From de345678272fc9ed1cd51830d4a35f1c2be63c65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9onard=20Schafer?= <79663902+Sprudeel@users.noreply.github.com> Date: Sat, 1 Oct 2022 10:47:28 +0000 Subject: [PATCH 002/114] Update Midataa login button to new PBS Design --- resources/images/midata-alt.svg | 68 ++++++++++++++++++++++++++++ resources/views/auth/login.blade.php | 15 ++++++ 2 files changed, 83 insertions(+) create mode 100644 resources/images/midata-alt.svg diff --git a/resources/images/midata-alt.svg b/resources/images/midata-alt.svg new file mode 100644 index 00000000..265f5e7f --- /dev/null +++ b/resources/images/midata-alt.svg @@ -0,0 +1,68 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php index 43307cee..32be2334 100644 --- a/resources/views/auth/login.blade.php +++ b/resources/views/auth/login.blade.php @@ -41,6 +41,21 @@ class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email +
+
+ + {{ __('t.views.login.via_midata') }} + + @if ($errors->has('hitobito')) + + {{ $errors->first('hitobito') }} + + @endif +
+
+
From c50fd4754bf8d989f786a86dbd8e35fc48a7ddab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9onard=20Schafer?= <79663902+Sprudeel@users.noreply.github.com> Date: Sat, 1 Oct 2022 10:51:56 +0000 Subject: [PATCH 003/114] clean up --- resources/views/auth/login.blade.php | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php index 32be2334..43307cee 100644 --- a/resources/views/auth/login.blade.php +++ b/resources/views/auth/login.blade.php @@ -41,21 +41,6 @@ class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email
-
-
- - {{ __('t.views.login.via_midata') }} - - @if ($errors->has('hitobito')) - - {{ $errors->first('hitobito') }} - - @endif -
-
-
From 55aad14b3921494b4714e7627ae81c585c25a43f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9onard=20Schafer?= <79663902+Sprudeel@users.noreply.github.com> Date: Sat, 1 Oct 2022 12:52:42 +0200 Subject: [PATCH 004/114] delete old pbs logo --- resources/images/midata-alt.svg | 68 --------------------------------- 1 file changed, 68 deletions(-) delete mode 100644 resources/images/midata-alt.svg diff --git a/resources/images/midata-alt.svg b/resources/images/midata-alt.svg deleted file mode 100644 index 265f5e7f..00000000 --- a/resources/images/midata-alt.svg +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - From c40d70638739bd198ecee3d1c04cb8d8dc323eaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9onard=20Schafer?= <79663902+Sprudeel@users.noreply.github.com> Date: Sat, 1 Oct 2022 18:53:15 +0200 Subject: [PATCH 005/114] center pbs logo --- resources/sass/_forms.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/sass/_forms.scss b/resources/sass/_forms.scss index 92d82de3..51140e0f 100644 --- a/resources/sass/_forms.scss +++ b/resources/sass/_forms.scss @@ -59,7 +59,7 @@ position: absolute; top: 0; bottom: 0; - left: 3.4rem; + left: 3rem; border-left: 1px solid #00a651; transition: border-left-color 0.15s ease-in-out; } From 153645366012498cee4b60557f64ba8b898be25d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9onard=20Schafer?= <79663902+Sprudeel@users.noreply.github.com> Date: Sat, 1 Oct 2022 19:31:46 +0200 Subject: [PATCH 006/114] hash entfernen --- resources/sass/_forms.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/sass/_forms.scss b/resources/sass/_forms.scss index 51140e0f..1077e04a 100644 --- a/resources/sass/_forms.scss +++ b/resources/sass/_forms.scss @@ -34,7 +34,7 @@ background-size: 1.5rem 1.5rem; background-repeat: no-repeat; background-position: left 0.75rem center; - background-image: url(/images/midata.svg?53e5c6a5bd90905b308381e3bc54afab); + background-image: url('../images/midata.svg'); padding-left: 4.15rem; padding-right: 4.15rem; position: relative; From 46012a92fb4639f4b100a433af4bc2932647de3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9onard=20Schafer?= <79663902+Sprudeel@users.noreply.github.com> Date: Sun, 2 Oct 2022 14:27:45 +0200 Subject: [PATCH 007/114] fix wrong color on divider --- resources/sass/_forms.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/sass/_forms.scss b/resources/sass/_forms.scss index 1077e04a..e57803ec 100644 --- a/resources/sass/_forms.scss +++ b/resources/sass/_forms.scss @@ -60,7 +60,7 @@ top: 0; bottom: 0; left: 3rem; - border-left: 1px solid #00a651; + border-left: 1px solid #521D3A; transition: border-left-color 0.15s ease-in-out; } } From 50393ebf89cd5f2da49da764b30da860fc14368a Mon Sep 17 00:00:00 2001 From: Carlo Beltrame Date: Wed, 28 Sep 2022 15:47:14 +0200 Subject: [PATCH 008/114] Improve error behaviour --- resources/js/components/print/ButtonPrintFeedback.vue | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/resources/js/components/print/ButtonPrintFeedback.vue b/resources/js/components/print/ButtonPrintFeedback.vue index afb6245a..2747ec49 100644 --- a/resources/js/components/print/ButtonPrintFeedback.vue +++ b/resources/js/components/print/ButtonPrintFeedback.vue @@ -43,8 +43,8 @@ export default { }, tooltip() { if (!this.clicked) return this.$t('t.global.print') - return this.error || - this.url ? this.$t('t.views.feedback.print.pdf_downloaded') : this.$t('t.views.feedback.print.pdf_is_being_generated') + if (this.error) return this.error + return this.url ? this.$t('t.views.feedback.print.pdf_downloaded') : this.$t('t.views.feedback.print.pdf_is_being_generated') }, }, unmounted() { @@ -53,6 +53,7 @@ export default { methods: { async generateAndDownloadPdf() { this.clicked = true + this.error = null await this.fetchData() if (!this.feedback) return @@ -84,7 +85,7 @@ export default { this.observations = response.data.observations this.statuses = response.data.statuses }).catch(error => { - if (error.response?.status === 401) { + if (error.response?.status === 401 || error.response?.status === 404) { window.location.reload() return } From b68e9a32f10712a9dca7f0d4722631bdde2cbbc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9onard=20Schafer?= <79663902+Sprudeel@users.noreply.github.com> Date: Sat, 1 Oct 2022 16:40:29 +0000 Subject: [PATCH 009/114] add dynamic page titles --- lang/de/t.php | 20 +++++++++++++++++++ resources/views/admin/blocks/index.blade.php | 3 +++ .../views/admin/categories/index.blade.php | 2 ++ resources/views/admin/course/edit.blade.php | 3 +++ resources/views/admin/equipe/index.blade.php | 3 +++ .../views/admin/feedbacks/index.blade.php | 3 +++ .../observationAssignments/index.blade.php | 2 ++ .../admin/participantGroups/index.blade.php | 2 ++ .../views/admin/participants/edit.blade.php | 3 +++ .../views/admin/participants/index.blade.php | 2 ++ .../views/admin/requirements/index.blade.php | 2 ++ resources/views/course-new.blade.php | 2 ++ resources/views/crib.blade.php | 2 ++ resources/views/observation/edit.blade.php | 2 ++ resources/views/observation/new.blade.php | 3 +++ resources/views/overview.blade.php | 2 ++ resources/views/participant-detail.blade.php | 2 ++ resources/views/participants.blade.php | 2 ++ 18 files changed, 60 insertions(+) diff --git a/lang/de/t.php b/lang/de/t.php index 56e4f7ec..5ac404bb 100644 --- a/lang/de/t.php +++ b/lang/de/t.php @@ -559,5 +559,25 @@ "here" => "hier", "changelog" => "Die neusten Änderungen vom Qualix findest du :here.", ), + "page_titles" => array( + "create_new_course" => "Qualix - neuen Kurs erstellen", + "crib_overview" => "Qualix - Blockübersicht", + "participants_overview" => "Qualix - TN Übersicht", + "overview" => "Qualix - Beobachtungsüberblick", + "participant_detail" => "Qualix - :participantName's Details", + "edit_participant" => "Qualix - TN bearbeiten", + "create_observation" => "Qualix - Beobachtung erstellen", + "edit_observation" => "Qualix - Beobachtung bearbeiten", + "edit_course" => "Qualix - Admin - Kurseinstellungen", + "equipe" => "Qualix - Admin - Equipe", + "admin_crib_overview" => "Qualix - Admin - Blockübersicht", + "admin_participants" => "Qualix - Admin - TN Übersicht", + "admin_participants_overview" => "Qualix - Admin - TN Übersicht", + "admin_requirements" => "Qualix - Admin - Anforderungen", + "admin_categories" => "Qualix - Admin - Kategorien", + "admin_participant_groups" => "Qualix - Admin - TN Gruppen", + "admin_observationAssignments" => "Qualix - Admin - Beobachtungsaufträge", + "admin_feedbacks" => "Qualix - Admin - Rückmeldungen", + ) ), ); diff --git a/resources/views/admin/blocks/index.blade.php b/resources/views/admin/blocks/index.blade.php index 6180ef59..d233b880 100644 --- a/resources/views/admin/blocks/index.blade.php +++ b/resources/views/admin/blocks/index.blade.php @@ -1,5 +1,8 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.page_titles.admin_crib_overview') }}@endsection + + @section('content') diff --git a/resources/views/admin/categories/index.blade.php b/resources/views/admin/categories/index.blade.php index b7ea60c8..c5f08b38 100644 --- a/resources/views/admin/categories/index.blade.php +++ b/resources/views/admin/categories/index.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.page_titles.admin_categories') }}@endsection + @section('content') diff --git a/resources/views/admin/course/edit.blade.php b/resources/views/admin/course/edit.blade.php index 8387093b..041a60de 100644 --- a/resources/views/admin/course/edit.blade.php +++ b/resources/views/admin/course/edit.blade.php @@ -1,5 +1,8 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.page_titles.edit_course') }}@endsection + + @section('content') diff --git a/resources/views/admin/equipe/index.blade.php b/resources/views/admin/equipe/index.blade.php index 965d520c..a9e5032e 100644 --- a/resources/views/admin/equipe/index.blade.php +++ b/resources/views/admin/equipe/index.blade.php @@ -1,5 +1,8 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.page_titles.equipe') }}@endsection + + @section('content') diff --git a/resources/views/admin/feedbacks/index.blade.php b/resources/views/admin/feedbacks/index.blade.php index 26fde8ee..caa98230 100644 --- a/resources/views/admin/feedbacks/index.blade.php +++ b/resources/views/admin/feedbacks/index.blade.php @@ -1,5 +1,8 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.page_titles.admin_feedbacks') }}@endsection + + @section('content') diff --git a/resources/views/admin/observationAssignments/index.blade.php b/resources/views/admin/observationAssignments/index.blade.php index 5c888c74..df0b27f9 100644 --- a/resources/views/admin/observationAssignments/index.blade.php +++ b/resources/views/admin/observationAssignments/index.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.page_titles.admin_observationAssignments') }}@endsection + @section('content') diff --git a/resources/views/admin/participantGroups/index.blade.php b/resources/views/admin/participantGroups/index.blade.php index 17def474..dfc5d50e 100644 --- a/resources/views/admin/participantGroups/index.blade.php +++ b/resources/views/admin/participantGroups/index.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.page_titles.admin_participant_groups') }}@endsection + @section('content') diff --git a/resources/views/admin/participants/edit.blade.php b/resources/views/admin/participants/edit.blade.php index c4b581a7..c7bbcf76 100644 --- a/resources/views/admin/participants/edit.blade.php +++ b/resources/views/admin/participants/edit.blade.php @@ -1,5 +1,8 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.page_titles.edit_participant', ['participantName' => $participant->scout_name]) }}@endsection + + @section('content') diff --git a/resources/views/admin/participants/index.blade.php b/resources/views/admin/participants/index.blade.php index 3e84c39e..8dab1b00 100644 --- a/resources/views/admin/participants/index.blade.php +++ b/resources/views/admin/participants/index.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.page_titles.admin_participants') }}@endsection + @section('content') diff --git a/resources/views/admin/requirements/index.blade.php b/resources/views/admin/requirements/index.blade.php index afbc2a3b..7f5a54a1 100644 --- a/resources/views/admin/requirements/index.blade.php +++ b/resources/views/admin/requirements/index.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.page_titles.admin_requirements') }}@endsection + @section('content') diff --git a/resources/views/course-new.blade.php b/resources/views/course-new.blade.php index f7b7f2ce..520d3c90 100644 --- a/resources/views/course-new.blade.php +++ b/resources/views/course-new.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.page_titles.create_new_course')}}@endsection + @section('content') diff --git a/resources/views/crib.blade.php b/resources/views/crib.blade.php index 47890e24..a1807477 100644 --- a/resources/views/crib.blade.php +++ b/resources/views/crib.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.page_titles.crib_overview')}}@endsection + @section('content') diff --git a/resources/views/observation/edit.blade.php b/resources/views/observation/edit.blade.php index 415f9279..3e98e870 100644 --- a/resources/views/observation/edit.blade.php +++ b/resources/views/observation/edit.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.page_titles.edit_observation') }}@endsection + @section('content') diff --git a/resources/views/observation/new.blade.php b/resources/views/observation/new.blade.php index e77a4b1d..d9e21eaf 100644 --- a/resources/views/observation/new.blade.php +++ b/resources/views/observation/new.blade.php @@ -1,5 +1,8 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.page_titles.create_observation') }}@endsection + + @section('content') diff --git a/resources/views/overview.blade.php b/resources/views/overview.blade.php index 377d2d52..7f63580f 100644 --- a/resources/views/overview.blade.php +++ b/resources/views/overview.blade.php @@ -2,6 +2,8 @@ @section('wideLayout'){{ json_encode(!!$feedbackData) }}@endsection +@section('pagetitle'){{__('t.views.page_titles.overview')}}@endsection + @section('content') diff --git a/resources/views/participant-detail.blade.php b/resources/views/participant-detail.blade.php index f9a76ead..6091e0f0 100644 --- a/resources/views/participant-detail.blade.php +++ b/resources/views/participant-detail.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.page_titles.participant_detail', ['participantName' => $participant->scout_name]) }}@endsection + @section('content') diff --git a/resources/views/participants.blade.php b/resources/views/participants.blade.php index 95a35bbb..b3deabe5 100644 --- a/resources/views/participants.blade.php +++ b/resources/views/participants.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.page_titles.participants_overview')}}@endsection + @section('content') From 1cffa2a8deb5b3e3e0ac6eca8d47fd2128491718 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9onard=20Schafer?= <79663902+Sprudeel@users.noreply.github.com> Date: Sat, 1 Oct 2022 22:36:55 +0000 Subject: [PATCH 010/114] add pagetitle for feedbacks --- lang/de/t.php | 1 + resources/views/feedbacks.blade.php | 3 +++ 2 files changed, 4 insertions(+) diff --git a/lang/de/t.php b/lang/de/t.php index 5ac404bb..7e880d61 100644 --- a/lang/de/t.php +++ b/lang/de/t.php @@ -578,6 +578,7 @@ "admin_participant_groups" => "Qualix - Admin - TN Gruppen", "admin_observationAssignments" => "Qualix - Admin - Beobachtungsaufträge", "admin_feedbacks" => "Qualix - Admin - Rückmeldungen", + "feedbacks" => "Qualix - Rückmeldungen", ) ), ); diff --git a/resources/views/feedbacks.blade.php b/resources/views/feedbacks.blade.php index b289c40b..84ca9206 100644 --- a/resources/views/feedbacks.blade.php +++ b/resources/views/feedbacks.blade.php @@ -1,5 +1,8 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.page_titles.feedbacks')}}@endsection + + @section('content') From 82ea4d8a8051c4ded4b599ec1ab0ede93737f846 Mon Sep 17 00:00:00 2001 From: Carlo Beltrame Date: Sun, 2 Oct 2022 17:34:13 +0200 Subject: [PATCH 011/114] Refactor page titles --- lang/de/t.php | 55 +++++++++++-------- resources/views/admin/blocks/edit.blade.php | 2 + resources/views/admin/blocks/import.blade.php | 2 + resources/views/admin/blocks/index.blade.php | 3 +- .../views/admin/categories/edit.blade.php | 2 + .../views/admin/categories/index.blade.php | 2 +- resources/views/admin/course/edit.blade.php | 2 +- resources/views/admin/equipe/index.blade.php | 2 +- .../views/admin/feedbacks/edit.blade.php | 2 + .../views/admin/feedbacks/index.blade.php | 2 +- .../observationAssignments/edit.blade.php | 2 + .../observationAssignments/index.blade.php | 2 +- .../admin/participantGroups/edit.blade.php | 2 + .../admin/participantGroups/index.blade.php | 2 +- .../views/admin/participants/edit.blade.php | 3 +- .../views/admin/participants/import.blade.php | 2 + .../views/admin/participants/index.blade.php | 2 +- .../admin/requirementStatuses/edit.blade.php | 2 + .../admin/requirementStatuses/index.blade.php | 2 + .../views/admin/requirements/edit.blade.php | 2 + .../views/admin/requirements/index.blade.php | 2 +- resources/views/course-new.blade.php | 2 +- resources/views/crib.blade.php | 2 +- resources/views/errors/500.blade.php | 2 + .../feedback/requirements-matrix.blade.php | 2 + .../views/feedbackContent/edit.blade.php | 2 + resources/views/feedbacks.blade.php | 3 +- resources/views/invitation.blade.php | 2 + resources/views/layouts/default.blade.php | 2 - resources/views/layouts/master.blade.php | 6 +- resources/views/observation/edit.blade.php | 2 +- resources/views/observation/new.blade.php | 2 +- resources/views/overview.blade.php | 2 +- resources/views/pages/edit-user.blade.php | 2 + resources/views/participant-detail.blade.php | 2 +- resources/views/participants.blade.php | 2 +- 36 files changed, 86 insertions(+), 46 deletions(-) diff --git a/lang/de/t.php b/lang/de/t.php index 7e880d61..18399d2f 100644 --- a/lang/de/t.php +++ b/lang/de/t.php @@ -176,6 +176,8 @@ "new" => "Neuer Block", "no_blocks" => "Bisher sind keine Blöcke erfasst.", "observations_on_block" => "{0}Es ist keine Beobachtung damit verbunden.|{1}Damit verbunden ist eine Beobachtung, die mitgelöscht wird.|[2,*]Damit verbunden sind :count Beobachtungen, die mitgelöscht werden.", + "page_title" => "Blöcke verwalten", + "page_title_edit" => "Block bearbeiten", "really_delete" => "Willst du den Block \":name\" wirklich löschen?", "what_are_blocks" => array( "answer" => "Blöcke sind zeitliche Abschnitte im Grobprogramm. Man könnte sie auch Lektionen oder Programmeinheiten nennen. Du kannst zudem erfassen, welche Anforderungen in einem Block wohl am ehesten beobachtet werden können (z.B. eine Anforderung zu Sicherheitsüberlegungen in einem Block über Sicherheitskonzepte). Beim Erfassen von Beobachtungen kann das aber immer noch übersteuert werden.", @@ -196,6 +198,7 @@ "import" => "Importieren", "import_from" => "Blöcke aus :source importieren", "import_success" => "{0}In der importierten Datei wurden keine Blöcke gefunden.|{1}In der importierten Datei wurde ein Block gefunden.|[2,*]In der importierten Datei wurden :count Blöcke gefunden.", + "page_title" => "Blöcke importieren", "unknown_error" => "Beim Import ist ein Fehler aufgetreten. Versuche es nochmals, oder erfasse deine Blöcke manuell.", "warning_existing_blocks" => "In deinem Kurs sind bereits Blöcke definiert. Wenn beim Import eine Blocknummer schon existiert, wird der bestehende Block durch den Import aktualisiert.", ), @@ -213,6 +216,8 @@ "new" => "Neue Kategorie", "no_categories" => "Bisher sind keine Kategorien erfasst.", "observations_on_category" => "{0}Es ist keine Beobachtung damit verbunden.|{1}Damit verbunden ist eine Beobachtung, diese wird aber nicht gelöscht.|[2,*]Damit verbunden sind :count Beobachtungen, diese werden aber nicht gelöscht.", + "page_title" => "Kategorien verwalten", + "page_title_edit" => "Kategorie bearbeiten", "really_delete" => "Willst du die Kategorie \":name\" wirklich löschen?", "what_are_categories" => array( "answer" => "Kategorien können auf verschiedene Art eingesetzt werden. Jeder Beobachtung kann eine, mehrere oder keine Kategorie zugewiesen werden. Das kann man zum Beispiel zur Einordnung in verschiedene Abschnitte eines Rückmelde-Formulars verwenden. Oder um zu markieren, ob eine Beobachtung schon im Zwischenquali angesprochen wurde. Oder noch ganz andere Anwendungen, die dir einfallen. Danach kannst du die Beobachtungs-Liste eines Teilnehmenden nach Kategorien filtern.", @@ -237,6 +242,7 @@ "edit_success" => "Kursdetails erfolgreich gespeichert.", "is_archived" => ":name ist archiviert, das heisst alle personenbezogenen Daten der Teilnehmenden wurden gelöscht.", "menu_name" => "Kurseinstellungen", + "page_title" => "Kurseinstellungen", "per_equipe_and_tn" => "pro Equipenmitglied und TN", "really_archive" => "Kurs \":name\" wirklich archivieren?", "really_delete" => "Kurs \":name\" wirklich löschen?", @@ -256,6 +262,7 @@ "menu_name" => "Equipe", "new_invitation" => "Equipenmitglied einladen", "no_invitations" => "Momentan sind keine Einladungen offen.", + "page_title" => "Equipe verwalten", "really_delete" => "Willst du :name wirklich aus der Kursequipe entfernen?", "really_delete_invitation" => "Willst du die Einladung für :email wirklich entfernen?", ), @@ -264,6 +271,7 @@ "create" => "Kurs eröffnen", "create_success" => "Kurs \":name\" wurde erfolgreich erstellt.", "menu_name" => "Neuen Kurs erstellen", + "page_title" => "Neuen Kurs erstellen", "title" => "Neuen Kurs erstellen", ), "observation_assignments" => array( @@ -279,6 +287,8 @@ "menu_name" => "Beobachtungsaufträge", "new" => "Neuer Beobachtungsauftrag", "no_observation_assignment" => "Bisher sind keine Beobachtungsaufträge erfasst.", + "page_title" => "Beobachtungsaufträge verwalten", + "page_title_edit" => "Beobachtungsauftrag bearbeiten", "really_delete" => "Willst du den Beobachtungsauftrag \":name\" wirklich löschen?", "what_are_observation_assignments" => array( "answer" => "Viele Equipen definieren, wer wann wen beobachten sollte. Diese Aufträge könnt ihr hier definieren und seht diese (und ob sie schon erfüllt sind) z.Bsp. beim Spick.", @@ -295,6 +305,8 @@ "new" => "Neue Teilnehmende", "no_participants" => "Bisher sind keine Teilnehmende erfasst.", "observations_on_participant" => "{0}Es ist keine Beobachtung damit verbunden.|{1}Damit verbunden ist eine Beobachtung, die mitgelöscht wird.|[2,*]Damit verbunden sind :count Beobachtungen, die mitgelöscht werden.", + "page_title" => "TN verwalten", + "page_title_edit" => ":participantName bearbeiten", "really_remove" => "Willst du :scout_name wirklich aus deinem Kurs entfernen?", "remove_success" => "TN \":name\" erfolgreich aus dem Kurs entfernt.", ), @@ -318,6 +330,7 @@ "import" => "Importieren", "import_from" => "Teilnehmende aus :source importieren", "import_success" => "{0}In der importierten Datei wurden keine Teilnehmende gefunden.|{1}In der importierten Datei wurde ein*e TN gefunden.|[2,*]In der importierten Datei wurden :count Teilnehmende gefunden.", + "page_title" => "TN importieren", "unknown_error" => "Beim Import ist ein Fehler aufgetreten. Versuche es nochmals, oder erfasse deine Teilnehmenden manuell.", "warning_existing_participants" => "In deinem Kurs sind bereits Teilnehmende erfasst. Diese bleiben bestehen und durch den Import werden neue zusätzliche erfasst.", ), @@ -334,6 +347,8 @@ "menu_name" => "TN-Gruppen", "new" => "Neue TN-Gruppe", "no_participant_group" => "Bisher sind keine TN-Gruppen erfasst.", + "page_title" => "TN-Gruppen verwalten", + "page_title_edit" => "TN-Gruppe bearbeiten", "really_delete" => "Willst du die TN-Gruppe \":group_name\" wirklich löschen?", "what_are_participant_groups" => array( "answer" => "Teilnehmende können zu Gruppen hinzugefügt werden. Diese Gruppen stehen dann zur Schnellwahl bei Beobachtungen zu Verfügung.", @@ -353,6 +368,8 @@ "menu_name" => "Rückmeldungen (ehem. Qualis)", "new" => "Neue Rückmeldung", "no_feedbacks" => "Bisher sind keine Rückmeldungen erfasst.", + "page_title" => "Rückmeldungen verwalten", + "page_title_edit" => "Rückmeldung bearbeiten", "select_all_participants" => "Alle auswählen", "select_all_requirements" => "Alle auswählen", "feedback_contents_template_description" => array( @@ -381,6 +398,8 @@ "no_requirements" => "Bisher sind keine Anforderungen erfasst.", "observations_on_requirement" => "{0}Es ist keine Beobachtung damit verbunden.|{1}Damit verbunden ist eine Beobachtung, diese wird aber nicht gelöscht.|[2,*]Damit verbunden sind :count Beobachtungen, diese werden aber nicht gelöscht.", "feedbacks_using_requirement" => "{0}Die Anforderung ist in keiner Rückmeldung eingesetzt.|{1}Die Anforderung wird aus einer Rückmeldung entfernt.|[2,*]Die Anforderung wird aus :count Rückmeldungen entfernt.", + "page_title" => "Anforderungen verwalten", + "page_title_edit" => "Anforderung bearbeiten", "really_delete" => "Willst du diese Anforderung wirklich löschen?", "what_are_requirements" => array( "answer" => "Anforderungen sind klare Voraussetzungen und Kriterien, die alle Teilnehmenden während dem Kurs erfüllen sollen. Anhand der Anforderungen wird beurteilt, wer den Kurs besteht und wer nicht. Du kannst Anforderungen als Mindestanforderungen markieren wenn du willst, aber es hat momentan keine Auswirkungen in Qualix selber (bis auf eine etwas andere Farbgebung).", @@ -398,6 +417,8 @@ "no_color_results" => "Keine Resultate gefunden. Probiers mal mit einem englischen Farbnamen wie \"red\".", "no_icon_results" => "Keine Resultate gefunden. Probiers mit englischen Begriffen wie \"eye\".", "num_uses" => "Anzahl Verwendungen", + "page_title" => "Anforderungs-Stati verwalten", + "page_title_edit" => "Anforderungs-Status bearbeiten", "feedback_requirements_using_requirement_status" => "{0}Dieser Status wird in keiner Rückmeldung verwendet.|{1}Dieser Status wird noch in einer Rückmeldung verwendet. Er kann daher nicht gelöscht werden.|[2,*]Dieser Status wird noch :count Mal in Rückmeldungen verwendet. Er kann daher nicht gelöscht werden.", "really_delete" => "Willst du diesen Status wirklich löschen?", "status" => "Status", @@ -413,6 +434,7 @@ "menu_name" => "Blöcke", "non_mandatory_requirements" => "Weitere Anforderungen", "no_blocks" => "Bisher sind keine Blöcke erfasst. Bitte erfasse und verbinde sie :here mit Anforderungen.", + "page_title" => "Blockübersicht", "see_only_empty_blocks" => array( "answer" => "Dann sind bisher keine Blöcke mit Anforderungen verbunden. Bitte verbinde die Blöcke :here mit Anforderungen.", "question" => "Siehst du nur leere Blöcke ohne Anforderungen?", @@ -426,6 +448,7 @@ "error_report_has_been_submitted" => "Deine Beschreibung wurde abgesendet. Vielen Dank!", "it_looks_like_we_are_having_issues" => "Es sieht so aus als hätten wir ein Problem.", "our_team_has_been_notified" => "Das Qualix-Team wurde bereits informiert. Wenn du uns helfen möchtest, teile uns bitte unten mit, was geschehen ist.", + "page_title" => "Technischer Fehler", "please_try_again_later" => "Bitte versuche es später nochmals.", "send_description" => "Beschreibung absenden", "thank_you" => "Danke", @@ -450,6 +473,7 @@ "answer" => "Aktuell ist keine Verbindung zum Qualix-Server möglich. Überprüfe ob du noch Internetverbindung hast, und probiere es dann nochmals.", "question" => "Keine Internetverbindung!", ), + "page_title" => "Anforderungs-Matrix", "title" => "Anforderungs-Matrix :name", ) ), @@ -458,6 +482,7 @@ "go_to_progress_overview" => "Anforderungs-Matrix", "menu_name" => "Rückmeldungen", "none_assigned_to_user" => ":user ist für keine TN verantwortlich. Du kannst oben die Perspektive wechseln, oder die", + "page_title" => "Rückmeldungs-Überblick", "show_all" => "Alle TN anzeigen", "title" => "Rückmeldungen", "view_as" => "Aus Sicht von", @@ -469,6 +494,7 @@ "decline_invitation" => "Nein, diese Einladung ist nicht für mich", "error" => "Einladung konnte nicht angenommen werden.", "is_email_yours" => "Gehört dir die Mailadresse :email?", + "page_title" => "Einladung", "title" => "Einladung in :courseName", ), "login" => array( @@ -487,13 +513,15 @@ "edit_success" => "Beobachtung aktualisiert.", "new" => "Beobachtung erfassen", "char_limit" => "Zeichen genutzt:", - + "page_title" => "Beobachtung erfassen", + "page_title_edit" => "Beobachtung bearbeiten", ), "overview" => array( "here" => "hier", "menu_name" => "Überblick", "no_participants" => "Bisher sind keine Teilnehmende erfasst. Bitte erfasse sie :here.", "no_feedback" => "keine", + "page_title" => "Beobachtungs-Überblick", "title" => "Beobachtungs-Überblick", "show_feedbacks" => "Rückmeldung anzeigen:", ), @@ -501,6 +529,7 @@ "here" => "hier", "menu_name" => "TN", "no_participants" => "Bisher sind keine Teilnehmende erfasst. Bitte erfasse sie :here.", + "page_title" => "TN-Überblick", "title" => "Beobachtung für TN erfassen", ), "participant_details" => array( @@ -518,6 +547,7 @@ "title" => "Rückmeldungen", ), "feedbacks_using_observation" => "{0}|{1} Folgende Rückmeldung verwendet diese Beobachtung: :feedbacks|[2,*] Die folgenden :count Rückmeldungen verwenden diese Beobachtung: :feedbacks", + "page_title" => ":participantName", "really_delete_observation" => "Willst du diese Beobachtung wirklich löschen?", "title" => "TN Details", ), @@ -539,6 +569,7 @@ "question" => "Keine Internetverbindung!", ), "participant_feedback" => ":feedback: :participant", + "page_title" => ":feedbackName :participantName", "requirements_status" => "Anforderungen", "select_observation" => "Beobachtung wählen", "text_element" => "Text", @@ -551,6 +582,7 @@ "user_settings" => array( "edit" => "Mein Profil bearbeiten", "edit_success" => "Die persönlichen Details wurden erfolgreich gespeichert.", + "page_title" => "Mein Profil", ), "welcome" => array( "no_courses" => "Du bist momentan noch in keinem Kurs eingetragen. Lass dich in einen Kurs einladen oder erstelle selber einen neuen.", @@ -559,26 +591,5 @@ "here" => "hier", "changelog" => "Die neusten Änderungen vom Qualix findest du :here.", ), - "page_titles" => array( - "create_new_course" => "Qualix - neuen Kurs erstellen", - "crib_overview" => "Qualix - Blockübersicht", - "participants_overview" => "Qualix - TN Übersicht", - "overview" => "Qualix - Beobachtungsüberblick", - "participant_detail" => "Qualix - :participantName's Details", - "edit_participant" => "Qualix - TN bearbeiten", - "create_observation" => "Qualix - Beobachtung erstellen", - "edit_observation" => "Qualix - Beobachtung bearbeiten", - "edit_course" => "Qualix - Admin - Kurseinstellungen", - "equipe" => "Qualix - Admin - Equipe", - "admin_crib_overview" => "Qualix - Admin - Blockübersicht", - "admin_participants" => "Qualix - Admin - TN Übersicht", - "admin_participants_overview" => "Qualix - Admin - TN Übersicht", - "admin_requirements" => "Qualix - Admin - Anforderungen", - "admin_categories" => "Qualix - Admin - Kategorien", - "admin_participant_groups" => "Qualix - Admin - TN Gruppen", - "admin_observationAssignments" => "Qualix - Admin - Beobachtungsaufträge", - "admin_feedbacks" => "Qualix - Admin - Rückmeldungen", - "feedbacks" => "Qualix - Rückmeldungen", - ) ), ); diff --git a/resources/views/admin/blocks/edit.blade.php b/resources/views/admin/blocks/edit.blade.php index 6deaf77a..55ae4e1e 100644 --- a/resources/views/admin/blocks/edit.blade.php +++ b/resources/views/admin/blocks/edit.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.admin.blocks.page_title_edit') }}@endsection + @section('content') diff --git a/resources/views/admin/blocks/import.blade.php b/resources/views/admin/blocks/import.blade.php index fea76796..b1df2c30 100644 --- a/resources/views/admin/blocks/import.blade.php +++ b/resources/views/admin/blocks/import.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.admin.block_import.page_title') }}@endsection + @section('content') diff --git a/resources/views/admin/blocks/index.blade.php b/resources/views/admin/blocks/index.blade.php index d233b880..d1297cd7 100644 --- a/resources/views/admin/blocks/index.blade.php +++ b/resources/views/admin/blocks/index.blade.php @@ -1,7 +1,6 @@ @extends('layouts.default') -@section('pagetitle'){{__('t.views.page_titles.admin_crib_overview') }}@endsection - +@section('pagetitle'){{__('t.views.admin.blocks.page_title') }}@endsection @section('content') diff --git a/resources/views/admin/categories/edit.blade.php b/resources/views/admin/categories/edit.blade.php index 75219022..eef45d7c 100644 --- a/resources/views/admin/categories/edit.blade.php +++ b/resources/views/admin/categories/edit.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.admin.categories.page_title_edit') }}@endsection + @section('content') diff --git a/resources/views/admin/categories/index.blade.php b/resources/views/admin/categories/index.blade.php index c5f08b38..ea761914 100644 --- a/resources/views/admin/categories/index.blade.php +++ b/resources/views/admin/categories/index.blade.php @@ -1,6 +1,6 @@ @extends('layouts.default') -@section('pagetitle'){{__('t.views.page_titles.admin_categories') }}@endsection +@section('pagetitle'){{__('t.views.admin.categories.page_title') }}@endsection @section('content') diff --git a/resources/views/admin/course/edit.blade.php b/resources/views/admin/course/edit.blade.php index 041a60de..a5fbf80e 100644 --- a/resources/views/admin/course/edit.blade.php +++ b/resources/views/admin/course/edit.blade.php @@ -1,6 +1,6 @@ @extends('layouts.default') -@section('pagetitle'){{__('t.views.page_titles.edit_course') }}@endsection +@section('pagetitle'){{__('t.views.admin.course_settings.page_title') }}@endsection @section('content') diff --git a/resources/views/admin/equipe/index.blade.php b/resources/views/admin/equipe/index.blade.php index a9e5032e..09e1ac2f 100644 --- a/resources/views/admin/equipe/index.blade.php +++ b/resources/views/admin/equipe/index.blade.php @@ -1,6 +1,6 @@ @extends('layouts.default') -@section('pagetitle'){{__('t.views.page_titles.equipe') }}@endsection +@section('pagetitle'){{__('t.views.admin.equipe.page_title') }}@endsection @section('content') diff --git a/resources/views/admin/feedbacks/edit.blade.php b/resources/views/admin/feedbacks/edit.blade.php index fd99408a..f8014381 100644 --- a/resources/views/admin/feedbacks/edit.blade.php +++ b/resources/views/admin/feedbacks/edit.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.admin.feedbacks.page_title_edit') }}@endsection + @section('content') diff --git a/resources/views/admin/feedbacks/index.blade.php b/resources/views/admin/feedbacks/index.blade.php index caa98230..93bb7d1a 100644 --- a/resources/views/admin/feedbacks/index.blade.php +++ b/resources/views/admin/feedbacks/index.blade.php @@ -1,6 +1,6 @@ @extends('layouts.default') -@section('pagetitle'){{__('t.views.page_titles.admin_feedbacks') }}@endsection +@section('pagetitle'){{__('t.views.admin.feedbacks.page_title') }}@endsection @section('content') diff --git a/resources/views/admin/observationAssignments/edit.blade.php b/resources/views/admin/observationAssignments/edit.blade.php index 80bde370..7590dc4c 100644 --- a/resources/views/admin/observationAssignments/edit.blade.php +++ b/resources/views/admin/observationAssignments/edit.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.admin.observation_assignments.page_title_edit') }}@endsection + @section('content') diff --git a/resources/views/admin/observationAssignments/index.blade.php b/resources/views/admin/observationAssignments/index.blade.php index df0b27f9..e64e19bf 100644 --- a/resources/views/admin/observationAssignments/index.blade.php +++ b/resources/views/admin/observationAssignments/index.blade.php @@ -1,6 +1,6 @@ @extends('layouts.default') -@section('pagetitle'){{__('t.views.page_titles.admin_observationAssignments') }}@endsection +@section('pagetitle'){{__('t.views.admin.observation_assignments.page_title') }}@endsection @section('content') diff --git a/resources/views/admin/participantGroups/edit.blade.php b/resources/views/admin/participantGroups/edit.blade.php index e77388e9..8d2969c0 100644 --- a/resources/views/admin/participantGroups/edit.blade.php +++ b/resources/views/admin/participantGroups/edit.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.admin.participant_groups.page_title_edit') }}@endsection + @section('content') diff --git a/resources/views/admin/participantGroups/index.blade.php b/resources/views/admin/participantGroups/index.blade.php index dfc5d50e..e86d7e0d 100644 --- a/resources/views/admin/participantGroups/index.blade.php +++ b/resources/views/admin/participantGroups/index.blade.php @@ -1,6 +1,6 @@ @extends('layouts.default') -@section('pagetitle'){{__('t.views.page_titles.admin_participant_groups') }}@endsection +@section('pagetitle'){{__('t.views.admin.participant_groups.page_title') }}@endsection @section('content') diff --git a/resources/views/admin/participants/edit.blade.php b/resources/views/admin/participants/edit.blade.php index c7bbcf76..5539fce8 100644 --- a/resources/views/admin/participants/edit.blade.php +++ b/resources/views/admin/participants/edit.blade.php @@ -1,7 +1,6 @@ @extends('layouts.default') -@section('pagetitle'){{__('t.views.page_titles.edit_participant', ['participantName' => $participant->scout_name]) }}@endsection - +@section('pagetitle'){{__('t.views.admin.participants.page_title_edit', ['participantName' => $participant->scout_name]) }}@endsection @section('content') diff --git a/resources/views/admin/participants/import.blade.php b/resources/views/admin/participants/import.blade.php index 37d77463..dfe12d10 100644 --- a/resources/views/admin/participants/import.blade.php +++ b/resources/views/admin/participants/import.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.admin.participant_import.page_title') }}@endsection + @section('content') diff --git a/resources/views/admin/participants/index.blade.php b/resources/views/admin/participants/index.blade.php index 8dab1b00..83ad7d1a 100644 --- a/resources/views/admin/participants/index.blade.php +++ b/resources/views/admin/participants/index.blade.php @@ -1,6 +1,6 @@ @extends('layouts.default') -@section('pagetitle'){{__('t.views.page_titles.admin_participants') }}@endsection +@section('pagetitle'){{__('t.views.admin.participants.page_title') }}@endsection @section('content') diff --git a/resources/views/admin/requirementStatuses/edit.blade.php b/resources/views/admin/requirementStatuses/edit.blade.php index 1f487746..c3f38241 100644 --- a/resources/views/admin/requirementStatuses/edit.blade.php +++ b/resources/views/admin/requirementStatuses/edit.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.admin.requirement_statuses.page_title_edit') }}@endsection + @section('content') diff --git a/resources/views/admin/requirementStatuses/index.blade.php b/resources/views/admin/requirementStatuses/index.blade.php index 5da77956..f7e2331e 100644 --- a/resources/views/admin/requirementStatuses/index.blade.php +++ b/resources/views/admin/requirementStatuses/index.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.admin.requirement_statuses.page_title') }}@endsection + @section('content') diff --git a/resources/views/admin/requirements/edit.blade.php b/resources/views/admin/requirements/edit.blade.php index 46fd690f..891ba713 100644 --- a/resources/views/admin/requirements/edit.blade.php +++ b/resources/views/admin/requirements/edit.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.admin.requirements.page_title_edit') }}@endsection + @section('content') diff --git a/resources/views/admin/requirements/index.blade.php b/resources/views/admin/requirements/index.blade.php index 7f5a54a1..9ada8c97 100644 --- a/resources/views/admin/requirements/index.blade.php +++ b/resources/views/admin/requirements/index.blade.php @@ -1,6 +1,6 @@ @extends('layouts.default') -@section('pagetitle'){{__('t.views.page_titles.admin_requirements') }}@endsection +@section('pagetitle'){{__('t.views.admin.requirements.page_title') }}@endsection @section('content') diff --git a/resources/views/course-new.blade.php b/resources/views/course-new.blade.php index 520d3c90..26d710f9 100644 --- a/resources/views/course-new.blade.php +++ b/resources/views/course-new.blade.php @@ -1,6 +1,6 @@ @extends('layouts.default') -@section('pagetitle'){{__('t.views.page_titles.create_new_course')}}@endsection +@section('pagetitle'){{__('t.views.admin.new_course.page_title') }}@endsection @section('content') diff --git a/resources/views/crib.blade.php b/resources/views/crib.blade.php index a1807477..02c4b166 100644 --- a/resources/views/crib.blade.php +++ b/resources/views/crib.blade.php @@ -1,6 +1,6 @@ @extends('layouts.default') -@section('pagetitle'){{__('t.views.page_titles.crib_overview')}}@endsection +@section('pagetitle'){{__('t.views.crib.page_title') }}@endsection @section('content') diff --git a/resources/views/errors/500.blade.php b/resources/views/errors/500.blade.php index 2eafa1b7..b182e681 100644 --- a/resources/views/errors/500.blade.php +++ b/resources/views/errors/500.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.error_form.page_title') }}@endsection + @section('content') diff --git a/resources/views/feedback/requirements-matrix.blade.php b/resources/views/feedback/requirements-matrix.blade.php index 6950f22c..c07055db 100644 --- a/resources/views/feedback/requirements-matrix.blade.php +++ b/resources/views/feedback/requirements-matrix.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.feedback.requirements_matrix.page_title') }}@endsection + @section('wideLayout'){{ json_encode($feedbackRequirements->map->requirement_id->unique()->count() >= 6) }}@endsection @section('content') diff --git a/resources/views/feedbackContent/edit.blade.php b/resources/views/feedbackContent/edit.blade.php index a4b9c23a..09802956 100644 --- a/resources/views/feedbackContent/edit.blade.php +++ b/resources/views/feedbackContent/edit.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.feedback_content.page_title', ['feedbackName' => $feedback->name, 'participantName' => $participant->scout_name]) }}@endsection + @section('content') diff --git a/resources/views/feedbacks.blade.php b/resources/views/feedbacks.blade.php index 84ca9206..caff14af 100644 --- a/resources/views/feedbacks.blade.php +++ b/resources/views/feedbacks.blade.php @@ -1,7 +1,6 @@ @extends('layouts.default') -@section('pagetitle'){{__('t.views.page_titles.feedbacks')}}@endsection - +@section('pagetitle'){{__('t.views.feedbacks.page_title') }}@endsection @section('content') diff --git a/resources/views/invitation.blade.php b/resources/views/invitation.blade.php index d6ba86ad..c3c24110 100644 --- a/resources/views/invitation.blade.php +++ b/resources/views/invitation.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.invitation.page_title') }}@endsection + @section('content') diff --git a/resources/views/layouts/default.blade.php b/resources/views/layouts/default.blade.php index 73e4386d..f599b908 100644 --- a/resources/views/layouts/default.blade.php +++ b/resources/views/layouts/default.blade.php @@ -1,7 +1,5 @@ @extends('layouts.master') -@section('pagetitle'){{__('t.global.page_title')}}@endsection - @section('wideLayout'){{ json_encode(false) }}@endsection @section('head') diff --git a/resources/views/layouts/master.blade.php b/resources/views/layouts/master.blade.php index b894a980..1fcbda41 100644 --- a/resources/views/layouts/master.blade.php +++ b/resources/views/layouts/master.blade.php @@ -7,7 +7,11 @@ @yield('head') - @yield('pagetitle') + @if(app()->view->getSections()['pagetitle'] ?? false) + {{__('t.global.page_title')}} - @yield('pagetitle') + @else + {{__('t.global.page_title')}} + @endif diff --git a/resources/views/observation/edit.blade.php b/resources/views/observation/edit.blade.php index 3e98e870..e45f1046 100644 --- a/resources/views/observation/edit.blade.php +++ b/resources/views/observation/edit.blade.php @@ -1,6 +1,6 @@ @extends('layouts.default') -@section('pagetitle'){{__('t.views.page_titles.edit_observation') }}@endsection +@section('pagetitle'){{__('t.views.observations.page_title_edit') }}@endsection @section('content') diff --git a/resources/views/observation/new.blade.php b/resources/views/observation/new.blade.php index d9e21eaf..ff6519de 100644 --- a/resources/views/observation/new.blade.php +++ b/resources/views/observation/new.blade.php @@ -1,6 +1,6 @@ @extends('layouts.default') -@section('pagetitle'){{__('t.views.page_titles.create_observation') }}@endsection +@section('pagetitle'){{__('t.views.observations.page_title') }}@endsection @section('content') diff --git a/resources/views/overview.blade.php b/resources/views/overview.blade.php index 7f63580f..8745fc64 100644 --- a/resources/views/overview.blade.php +++ b/resources/views/overview.blade.php @@ -2,7 +2,7 @@ @section('wideLayout'){{ json_encode(!!$feedbackData) }}@endsection -@section('pagetitle'){{__('t.views.page_titles.overview')}}@endsection +@section('pagetitle'){{__('t.views.overview.page_title') }}@endsection @section('content') diff --git a/resources/views/pages/edit-user.blade.php b/resources/views/pages/edit-user.blade.php index a074139a..59a4a3f5 100644 --- a/resources/views/pages/edit-user.blade.php +++ b/resources/views/pages/edit-user.blade.php @@ -1,5 +1,7 @@ @extends('layouts.default') +@section('pagetitle'){{__('t.views.user_settings.page_title') }}@endsection + @section('content') diff --git a/resources/views/participant-detail.blade.php b/resources/views/participant-detail.blade.php index 6091e0f0..030930c5 100644 --- a/resources/views/participant-detail.blade.php +++ b/resources/views/participant-detail.blade.php @@ -1,6 +1,6 @@ @extends('layouts.default') -@section('pagetitle'){{__('t.views.page_titles.participant_detail', ['participantName' => $participant->scout_name]) }}@endsection +@section('pagetitle'){{__('t.views.participant_details.page_title', ['participantName' => $participant->scout_name]) }}@endsection @section('content') diff --git a/resources/views/participants.blade.php b/resources/views/participants.blade.php index b3deabe5..be4dd981 100644 --- a/resources/views/participants.blade.php +++ b/resources/views/participants.blade.php @@ -1,6 +1,6 @@ @extends('layouts.default') -@section('pagetitle'){{__('t.views.page_titles.participants_overview')}}@endsection +@section('pagetitle'){{__('t.views.participants.page_title') }}@endsection @section('content') From 911bd803fec3bb5a85b66076c22d68324fd4bc63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9onard=20Schafer?= <79663902+Sprudeel@users.noreply.github.com> Date: Sat, 1 Oct 2022 22:00:21 +0000 Subject: [PATCH 012/114] add alphabetical next/previous button in participant-detail --- .../ParticipantDetailController.php | 4 ++++ app/Models/Course.php | 24 +++++++++++++++++++ resources/views/participant-detail.blade.php | 3 +++ 3 files changed, 31 insertions(+) diff --git a/app/Http/Controllers/ParticipantDetailController.php b/app/Http/Controllers/ParticipantDetailController.php index d6e0be6f..2d187ae5 100644 --- a/app/Http/Controllers/ParticipantDetailController.php +++ b/app/Http/Controllers/ParticipantDetailController.php @@ -18,10 +18,14 @@ class ParticipantDetailController extends Controller { */ public function index(Request $request, Course $course, Participant $participant) { $observations = $participant->observations->values(); + $previousParticipant = $course->getPreviousCandidate($participant); + $nextParticipant = $course->getNextCandidate($participant); return view('participant-detail', [ 'participant' => $participant, 'observations' => $observations, + 'previousParticipant' => $previousParticipant, + 'nextParticipant' => $nextParticipant, 'feedbacks_using_observations' => $course->feedbacksUsingObservations($observations) ]); } diff --git a/app/Models/Course.php b/app/Models/Course.php index 2906915d..8c66bb54 100644 --- a/app/Models/Course.php +++ b/app/Models/Course.php @@ -206,4 +206,28 @@ public function getUsesCategoriesAttribute() { public function getDefaultRequirementStatusIdAttribute() { return $this->requirement_statuses()->first('id')['id'] ?? null; } + + + /** + * Get the previous Participant in alphabetic order. + * + * @param Participant $participant + */ + public function getPreviousCandidate(Participant $participant) { + $participants = collect($this->participants)->toArray(); + $index = array_search($participant->id, array_column($participants, 'id')); + return $index <= 0 ? false : $participants[$index -1]; + } + + /** + * Get the next Participant in alphabetic order. + * + * @param Participant $participant + */ + public function getNextCandidate(Participant $participant) { + $participants = collect($this->participants)->toArray(); + $index = array_search($participant->id, array_column($participants, 'id')); + $length = count($participants); + return $index > $length-2 ? false : $participants[$index + 1]; + } } diff --git a/resources/views/participant-detail.blade.php b/resources/views/participant-detail.blade.php index 030930c5..2affa128 100644 --- a/resources/views/participant-detail.blade.php +++ b/resources/views/participant-detail.blade.php @@ -4,7 +4,10 @@ @section('content') + + @if($previousParticipant != false) @endif + @if($nextParticipant != false) @endif
From 74f7ad7355c7820e0bc33443278d21ffcf899559 Mon Sep 17 00:00:00 2001 From: Nicolas Da Mutten Date: Sat, 1 Oct 2022 12:44:18 +0200 Subject: [PATCH 013/114] fix: move all env() calls to config This allows to cache the config, as the .env file is not loaded when a cached config exists. See https://laravel.com/docs/master/configuration#configuration-caching --- app/Exceptions/Handler.php | 2 +- app/Http/Controllers/ErrorReportController.php | 4 ++-- app/Http/Middleware/SecurityHeaders.php | 10 +++++----- config/app.php | 18 ++++++++++++++++++ resources/views/auth/login.blade.php | 2 +- resources/views/auth/register.blade.php | 2 +- resources/views/errors/500.blade.php | 2 +- resources/views/feedbackContent/edit.blade.php | 2 +- resources/views/includes/footer.blade.php | 4 ++-- resources/views/layouts/master.blade.php | 2 +- 10 files changed, 33 insertions(+), 15 deletions(-) diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php index ed39bf58..ca16dee1 100644 --- a/app/Exceptions/Handler.php +++ b/app/Exceptions/Handler.php @@ -51,7 +51,7 @@ class Handler extends ExceptionHandler * @throws Throwable */ public function report(Throwable $exception) { - if (!env('APP_DEBUG') && app()->bound('sentry') && $this->shouldReport($exception)) { + if (!config('app.debug') && app()->bound('sentry') && $this->shouldReport($exception)) { app('sentry')->captureException($exception); } diff --git a/app/Http/Controllers/ErrorReportController.php b/app/Http/Controllers/ErrorReportController.php index de459ea5..85fd9ae3 100644 --- a/app/Http/Controllers/ErrorReportController.php +++ b/app/Http/Controllers/ErrorReportController.php @@ -21,8 +21,8 @@ public function submit(ErrorReportRequest $request) { $params = $request->validated(); $request->session()->flash('previousUrl', $params['previousUrl']); $client = app(GuzzleHttp\Client::class); - $url = env('SENTRY_USER_FEEDBACK_URL'); - $dsn = env('SENTRY_LARAVEL_DSN', env('SENTRY_DSN')); + $url = config('app.sentry.user_feedback_url'); + $dsn = config('sentry.dsn'); $client->post($url, [ 'headers' => ['Authorization' => 'DSN ' . $dsn], 'form_params' => [ diff --git a/app/Http/Middleware/SecurityHeaders.php b/app/Http/Middleware/SecurityHeaders.php index 685bcdd5..dd0c1f91 100644 --- a/app/Http/Middleware/SecurityHeaders.php +++ b/app/Http/Middleware/SecurityHeaders.php @@ -73,18 +73,18 @@ protected function getCSPImgSrc() { } protected function getCSPConnectSrc() { - if (!env('COLLABORATION_ENABLED')) return ''; + if (!config('app.collaboration.enabled')) return ''; $sentryUrl = ''; - if (env('MIX_SENTRY_VUE_DSN')) { - $parsed = parse_url(env('MIX_SENTRY_VUE_DSN')); + if (config('app.sentry.mix.vue_dsn')) { + $parsed = parse_url(config('app.sentry.mix.vue_dsn')); $sentryUrl = $parsed['scheme'] . '://' . $parsed['host'] . (isset($parsed['port']) ? ':' . $parsed['port'] : ''); } - return "connect-src 'self' $sentryUrl " . env('COLLABORATION_SIGNALING_SERVERS'); + return "connect-src 'self' $sentryUrl " . config('app.collaboration.signaling_servers'); } protected function getCSPReportUri() { - $reportUri = env('SENTRY_CSP_REPORT_URI', false); + $reportUri = config('app.sentry.csp_report_uri', false); if ($reportUri) return "report-uri $reportUri&sentry_environment=" . App::environment(); return ''; } diff --git a/config/app.php b/config/app.php index 41d9e6f1..d99f8176 100644 --- a/config/app.php +++ b/config/app.php @@ -230,4 +230,22 @@ // 'ExampleClass' => App\Example\ExampleClass::class, ])->toArray(), + 'collaboration' => [ + 'enabled' => (bool) env('COLLABORATION_ENABLED', false), + 'signaling_servers' => env('COLLABORATION_SIGNALING_SERVERS', false) + ], + + 'contact' => [ + 'link' => env('APP_CONTACT_LINK'), + 'text' => env('APP_CONTACT_TEXT'), + ], + + 'sentry' => [ + 'user_feedback_url' => env('SENTRY_USER_FEEDBACK_URL'), + 'mix' => [ + 'vue_dsn' => env('MIX_SENTRY_VUE_DSN'), + ], + 'csp_report_uri' => env('sentry.csp_report_uri'), + ] + ]; diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php index 43307cee..54508b30 100644 --- a/resources/views/auth/login.blade.php +++ b/resources/views/auth/login.blade.php @@ -5,7 +5,7 @@ - @if (!empty(env('HITOBITO_BASE_URL'))) + @if (!empty(config('services.hitobito.client_id')))
- @if (!empty(env('HITOBITO_BASE_URL'))) + @if (!empty(config('services.hitobito.client_id')))
- @if(app()->bound('sentry') && app('sentry')->getLastEventId() && env('SENTRY_USER_FEEDBACK_URL')) + @if(app()->bound('sentry') && app('sentry')->getLastEventId() && config('app.sentry.user_feedback_url'))
{{__('t.views.error_form.it_looks_like_we_are_having_issues')}}
diff --git a/resources/views/feedbackContent/edit.blade.php b/resources/views/feedbackContent/edit.blade.php index 09802956..683ea391 100644 --- a/resources/views/feedbackContent/edit.blade.php +++ b/resources/views/feedbackContent/edit.blade.php @@ -21,7 +21,7 @@ :show-requirements="{{ $course->uses_requirements ? 'true' : 'false' }}" :show-categories="{{ $course->uses_categories ? 'true' : 'false' }}" :show-impression="{{ $course->uses_impressions ? 'true' : 'false' }}" - :collaboration-key="{{ json_encode(env('COLLABORATION_ENABLED') ? $feedback->collaborationKey : null) }}"> + :collaboration-key="{{ json_encode(config('app.collaboration.enabled') ? $feedback->collaborationKey : null) }}">
diff --git a/resources/views/includes/footer.blade.php b/resources/views/includes/footer.blade.php index 8bc23eca..8500e5a4 100644 --- a/resources/views/includes/footer.blade.php +++ b/resources/views/includes/footer.blade.php @@ -1,7 +1,7 @@ diff --git a/resources/views/layouts/master.blade.php b/resources/views/layouts/master.blade.php index 1fcbda41..62a9b75c 100644 --- a/resources/views/layouts/master.blade.php +++ b/resources/views/layouts/master.blade.php @@ -24,7 +24,7 @@ 'routes' => collect(Route::getRoutes())->mapWithKeys(function (\Illuminate\Routing\Route $route) { return [$route->getName() => [ 'uri' => '/'.$route->uri(), 'method' => head($route->methods())]]; }), 'csrf' => csrf_token(), 'nonce' => app('csp-nonce'), - 'signalingServers' => explode(' ', env('COLLABORATION_SIGNALING_SERVERS')), + 'signalingServers' => explode(' ', config('app.collaboration.signaling_servers')), 'username' => Auth::user() ? Auth::user()->name : null, ]) }}">
From 0cac933991718a7e6f8b7ade9603aa139d5936af Mon Sep 17 00:00:00 2001 From: Carlo Beltrame Date: Sun, 2 Oct 2022 16:16:14 +0200 Subject: [PATCH 014/114] Replace another env call with cacheable config --- resources/views/feedback/requirements-matrix.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/feedback/requirements-matrix.blade.php b/resources/views/feedback/requirements-matrix.blade.php index c07055db..2da48bc8 100644 --- a/resources/views/feedback/requirements-matrix.blade.php +++ b/resources/views/feedback/requirements-matrix.blade.php @@ -17,7 +17,7 @@ :all-requirements="{{ json_encode($allRequirements) }}" :all-participants="{{ json_encode($allParticipants) }}" :requirement-statuses="{{ json_encode($course->requirement_statuses) }}" - :collaboration-enabled="{{ json_encode(env('COLLABORATION_ENABLED')) }}"> + :collaboration-enabled="{{ json_encode(config('app.collaboration.enabled')) }}"> @else From b3401c1b9305c5afc5ec0ccc58a74f8e39911254 Mon Sep 17 00:00:00 2001 From: Carlo Beltrame Date: Sun, 2 Oct 2022 16:32:25 +0200 Subject: [PATCH 015/114] Adjust test which relied on env https://laravel.com/docs/9.x/mocking --- tests/Feature/App/ReadWelcomePageTest.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/Feature/App/ReadWelcomePageTest.php b/tests/Feature/App/ReadWelcomePageTest.php index 329a18c1..ae42f3ad 100644 --- a/tests/Feature/App/ReadWelcomePageTest.php +++ b/tests/Feature/App/ReadWelcomePageTest.php @@ -2,6 +2,7 @@ namespace Tests\Feature\App; +use Illuminate\Support\Facades\Config; use Tests\TestCaseWithBasicData; class ReadWelcomePageTest extends TestCaseWithBasicData { @@ -31,16 +32,17 @@ public function test_shouldDisplayWelcomePage() { public function test_shouldDisplayContactWhenContactLinkSet(){ // given - putenv("APP_CONTACT_LINK=mailto:test@test.ch"); + Config::set('app.contact.link', 'mailto:test@test.ch'); // when $response = $this->get('/course/' . $this->courseId); //then $response->assertOk(); $response->assertSee(env('APP_CONTACT_TEXT', __('t.footer.contact_text'))); } + public function test_shouldNotDisplayContactWhenContactLinkNotSet(){ // given - putenv("APP_CONTACT_LINK="); + Config::set('app.contact.link', ''); // when $response = $this->get('/course/' . $this->courseId); //then From 812f931e45118466d5312a5dcb5e5c1206ffd3f6 Mon Sep 17 00:00:00 2001 From: Carlo Beltrame Date: Sun, 2 Oct 2022 16:33:03 +0200 Subject: [PATCH 016/114] Apply optimization on deployment --- .github/actions/deploy/deploy.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/actions/deploy/deploy.sh b/.github/actions/deploy/deploy.sh index 90c40d0a..4449579f 100755 --- a/.github/actions/deploy/deploy.sh +++ b/.github/actions/deploy/deploy.sh @@ -67,4 +67,8 @@ ssh -l $SSH_USERNAME -T $SSH_HOST < Date: Sun, 2 Oct 2022 16:52:17 +0200 Subject: [PATCH 017/114] Fix config fallback --- resources/views/includes/footer.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/includes/footer.blade.php b/resources/views/includes/footer.blade.php index 8500e5a4..2b4c7d58 100644 --- a/resources/views/includes/footer.blade.php +++ b/resources/views/includes/footer.blade.php @@ -1,7 +1,7 @@ From 962335e2fdf999dc9d692fe3a3465c3b4abc525f Mon Sep 17 00:00:00 2001 From: Carlo Beltrame Date: Mon, 3 Oct 2022 11:24:03 +0200 Subject: [PATCH 018/114] Keep the naming consistent --- .../ParticipantDetailController.php | 4 ++-- app/Models/Course.php | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/Http/Controllers/ParticipantDetailController.php b/app/Http/Controllers/ParticipantDetailController.php index 2d187ae5..917c76ca 100644 --- a/app/Http/Controllers/ParticipantDetailController.php +++ b/app/Http/Controllers/ParticipantDetailController.php @@ -18,8 +18,8 @@ class ParticipantDetailController extends Controller { */ public function index(Request $request, Course $course, Participant $participant) { $observations = $participant->observations->values(); - $previousParticipant = $course->getPreviousCandidate($participant); - $nextParticipant = $course->getNextCandidate($participant); + $previousParticipant = $course->getPreviousParticipant($participant); + $nextParticipant = $course->getNextParticipant($participant); return view('participant-detail', [ 'participant' => $participant, diff --git a/app/Models/Course.php b/app/Models/Course.php index 8c66bb54..3dbbe6ad 100644 --- a/app/Models/Course.php +++ b/app/Models/Course.php @@ -209,25 +209,25 @@ public function getDefaultRequirementStatusIdAttribute() { /** - * Get the previous Participant in alphabetic order. - * + * Get the previous participant in alphabetic order. + * * @param Participant $participant */ - public function getPreviousCandidate(Participant $participant) { - $participants = collect($this->participants)->toArray(); + public function getPreviousParticipant(Participant $participant) { + $participants = $this->participants->toArray(); $index = array_search($participant->id, array_column($participants, 'id')); return $index <= 0 ? false : $participants[$index -1]; } /** - * Get the next Participant in alphabetic order. - * + * Get the next participant in alphabetic order. + * * @param Participant $participant */ - public function getNextCandidate(Participant $participant) { - $participants = collect($this->participants)->toArray(); + public function getNextParticipant(Participant $participant) { + $participants = $this->participants->toArray(); $index = array_search($participant->id, array_column($participants, 'id')); $length = count($participants); - return $index > $length-2 ? false : $participants[$index + 1]; + return $index >= $length-1 ? false : $participants[$index + 1]; } } From 2274ddf6e4c2558401725a83645e0f746d59fd95 Mon Sep 17 00:00:00 2001 From: Carlo Beltrame Date: Mon, 3 Oct 2022 11:24:18 +0200 Subject: [PATCH 019/114] Add tests for calculating next and previous participants --- tests/Unit/Models/CourseTest.php | 51 ++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/tests/Unit/Models/CourseTest.php b/tests/Unit/Models/CourseTest.php index 7c5b2531..c6a4a265 100644 --- a/tests/Unit/Models/CourseTest.php +++ b/tests/Unit/Models/CourseTest.php @@ -87,4 +87,55 @@ public function test_defaultRequirementStatusId_isTheFirstRequirementStatusIdInT // then $this->assertEquals($expected, $defaultRequirementStatusId); } + + public function test_getNextParticipant_returnsSecondParticipantForFirst() { + // given + $course = Course::find($this->courseId); + $first = $course->participants->first(); + $second = $course->participants->get(1); + + // when + $next = $course->getNextParticipant($first); + + // then + $this->assertEquals($second, $next); + } + + public function test_getNextParticipant_returnsNoParticipantForLast() { + // given + $course = Course::find($this->courseId); + $last = $course->participants->last(); + + // when + $next = $course->getNextParticipant($last); + + // then + $this->assertEquals(false, $next); + } + + public function test_getPreviousParticipant_returnsSecondToLastParticipantForLast() { + // given + $course = Course::find($this->courseId); + $participants = $course->participants; + $last = $participants->last(); + $secondToLast = $participants->get(count($participants) - 2); + + // when + $previous = $course->getPreviousParticipant($last); + + // then + $this->assertEquals($secondToLast, $previous); + } + + public function test_getPreviousParticipant_returnsNoParticipantForFirst() { + // given + $course = Course::find($this->courseId); + $first = $course->participants->first(); + + // when + $previous = $course->getPreviousParticipant($first); + + // then + $this->assertEquals(false, $previous); + } } From 7dc6cf03f35e88a8ba1f9e6bbed5427f51037af3 Mon Sep 17 00:00:00 2001 From: Carlo Beltrame Date: Mon, 3 Oct 2022 11:39:52 +0200 Subject: [PATCH 020/114] Take care not to push the layout around more than necessary Also, use arrow icons instead of text. Also, use a strict value check. --- resources/sass/app.scss | 4 ++++ resources/views/participant-detail.blade.php | 7 ++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/resources/sass/app.scss b/resources/sass/app.scss index 00196134..a449b34b 100644 --- a/resources/sass/app.scss +++ b/resources/sass/app.scss @@ -187,3 +187,7 @@ .mh-1em { min-height: 1em; } + +.clear-both { + clear: both; +} diff --git a/resources/views/participant-detail.blade.php b/resources/views/participant-detail.blade.php index 2affa128..300ddde8 100644 --- a/resources/views/participant-detail.blade.php +++ b/resources/views/participant-detail.blade.php @@ -6,11 +6,12 @@ - @if($previousParticipant != false) @endif - @if($nextParticipant != false) @endif -
+ @if($previousParticipant !== false) @endif + @if($nextParticipant !== false) @endif + +
From 6df14877c00a0f5e80a2fb75ef4624a6580b211b Mon Sep 17 00:00:00 2001 From: Carlo Beltrame Date: Mon, 3 Oct 2022 11:54:40 +0200 Subject: [PATCH 021/114] Add changelog entries --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ed1701b..ce785398 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ##### Oktober 2022 - Die Druckfunktion bei Rückmeldungen wurde überarbeitet. Es werden nun direkt fertige, konsistent gelayoutete PDF-Dateien heruntergeladen, anstatt dass man im Browser die PDF-Druck-Funktion verwenden muss. Da wir nun nicht mehr vom Verhalten unterschiedlicher Browser abhängig sind, konnten zudem die Seitenränder auf dem PDF verkleinert werden, um Papier zu sparen [#228](https://github.com/gloggi/qualix/issues/228) +- Das Design des MiData-Login Buttons wurde ans neue PBS-Design angepasst. Merci @Sprudeel! [#265](https://github.com/gloggi/qualix/issues/265) +- Neue Links zum einfachen Weiterspringen auf nächste und vorhergehende TN auf der TN-Detailansicht. Merci @Sprudeel! [#274](https://github.com/gloggi/qualix/issues/274) +- Performance-Optimierungen für Qualix wurden ermöglicht. Merci @cleverer! [#44](https://github.com/gloggi/qualix/issues/44) +- Bugfixes: Wenn ein Feature (konkret MiData-Login und WebRTC Synchronisierung) in einer Instanz von Qualix nicht konfiguriert ist, dann wird es komplett ausgeblendet / deaktiviert. Merci @cleverer! [#286](https://github.com/gloggi/qualix/pull/286) [#284](https://github.com/gloggi/qualix/pull/284) ##### September 2022 - Die Ansichten "Blöcke" und "Spick" wurden kombiniert. Beobachtungsaufträge sind nun unter "Blöcke" verfügbar [#165](https://github.com/gloggi/qualix/issues/165) From 69f2821beda360450993d685fc1395a1d0e1455a Mon Sep 17 00:00:00 2001 From: Carlo Beltrame Date: Mon, 3 Oct 2022 12:09:20 +0200 Subject: [PATCH 022/114] Call for help with french translations --- lang/fr/t.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lang/fr/t.php b/lang/fr/t.php index 39f67023..84998042 100644 --- a/lang/fr/t.php +++ b/lang/fr/t.php @@ -326,6 +326,8 @@ "edit_success" => "Les détails personnels ont été sauvegardés avec succès.", ), "welcome" => array( + "changelog" => "Tu peux trouver une liste (en allemand) des derniers changements :here. S.t.p. aide-nous à traduire les nouvelles fonctionnalités en français ! Contacte l'équipe Qualix si tu veux aider.", + "here" => "ici", "no_courses" => "Actuellement, tu n'es inscrit-e à aucun cours. Fais-toi inviter dans un cours ou crées-en un nouveau toi-même.", "text" => "Qualix a pour objectif de t'aider à reduire la paperasse et à garder une vision d'ensemble des observations. Bien du plaisir à observer!", "title" => "Bienvenue sur Qualix", From 28d87c220d4e94eb1178a26419239df083d3e5d0 Mon Sep 17 00:00:00 2001 From: Carlo Beltrame Date: Mon, 3 Oct 2022 12:18:17 +0200 Subject: [PATCH 023/114] Add instructions for how to apply for an OAuth application entry in hitobito --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 6675baff..2fd201a7 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,7 @@ SENTRY_USER_FEEDBACK_URL= SENTRY_CSP_REPORT_URI= MIX_SENTRY_VUE_DSN= ``` +> Für die `HITOBITO_*` Einstellungen, siehe weiter unten. 3. **Backend-Dependencies installieren und `APP_KEY` generieren**: `docker-compose run --entrypoint "/bin/sh -c 'composer install --no-dev && php artisan key:generate'" qualix` 4. **Frontend-Code builden**: `docker-compose run --entrypoint "/bin/sh -c 'npm install && npm run prod'" node` 5. **Optimierung (optional)**: `docker-compose run --entrypoint "composer install --optimize-autoloader --no-dev" qualix` @@ -142,3 +143,7 @@ MIX_SENTRY_VUE_DSN= 8. **Optimierung (optional)**: `php artisan config:cache && php artisan route:cache` 9. **Datenbank-Tabellen einrichten**: `php artisan migrate` 10. **Laravel Storage-Link einrichten**: `php artisan storage:link` + +### Hitobito / MiData Anbindung + +Um den Login via MiData (oder eine andere hitobito-Instanz) zu ermöglichen, muss man Qualix auf hitobito als erlaubte OAuth-Applikation registrieren. Dafür muss der jeweilige Dachverband kontaktiert werden. Bei der MiData stellt die PBS dafür ein [Antragsformular](https://forms.office.com/Pages/ResponsePage.aspx?id=iq6Fcs2Xq0m9ordFTZ0Fa8gnQG-i3p9KkbcKGL9nFhtUMEpMQkYwMzQxNUVEWEIxRTNWTDhPMDVEMS4u) zu Verfügung. Der Dachverband (z.B. die PBS) kann dann die Werte für die `HITOBITO_*` Variabeln in der .env-Datei liefern. From a4dbf6f76265fa34bc2a3e417382075eb2e24882 Mon Sep 17 00:00:00 2001 From: Nicolas Da Mutten Date: Sat, 1 Oct 2022 12:47:23 +0200 Subject: [PATCH 024/114] fix(readme): recommend full optimization --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6675baff..3f59304e 100644 --- a/README.md +++ b/README.md @@ -137,8 +137,10 @@ MIX_SENTRY_VUE_DSN= 3. **Backend-Dependencies installieren und `APP_KEY` generieren**: `docker-compose run --entrypoint "/bin/sh -c 'composer install --no-dev && php artisan key:generate'" qualix` 4. **Frontend-Code builden**: `docker-compose run --entrypoint "/bin/sh -c 'npm install && npm run prod'" node` 5. **Optimierung (optional)**: `docker-compose run --entrypoint "composer install --optimize-autoloader --no-dev" qualix` + Siehe [hier](https://laravel.com/docs/9.x/deployment#optimization) für weitere Erklärungen. 6. **Auf den Webhost hochladen**: Z.B. mit FTP alles (Ordner und Dateien) ausser .git, cypress, node_modules und tests hochladen 7. **Mit SSH auf den Server einloggen**, da die folgenden Befehle in der finalen Umgebung ausgeführt werden müssen -8. **Optimierung (optional)**: `php artisan config:cache && php artisan route:cache` +8. **Optimierung (optional)**: `php artisan config:cache && php artisan route:cache && php artisan view:cache` + Siehe [hier](https://laravel.com/docs/9.x/deployment#optimization) für weitere Erklärungen. 9. **Datenbank-Tabellen einrichten**: `php artisan migrate` 10. **Laravel Storage-Link einrichten**: `php artisan storage:link` From 47ce5d02b008de65f53977963fdbea311e1f1a65 Mon Sep 17 00:00:00 2001 From: Carlo Beltrame Date: Fri, 21 Oct 2022 16:59:34 +0200 Subject: [PATCH 025/114] Fix deprecation warning in GitHub action https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/ --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 520c69e2..44452748 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -78,7 +78,7 @@ jobs: environment: ${{ steps.extract.outputs.environment }} steps: - id: extract - run: echo "::set-output name=environment::$(echo $GITHUB_REF | sed -e '/^refs\/heads\/deploy-\(.*\)$/!d;s//\1/')" + run: echo "environment=$(echo $GITHUB_REF | sed -e '/^refs\/heads\/deploy-\(.*\)$/!d;s//\1/')" >> $GITHUB_OUTPUT - env: EXTRACTED: ${{ steps.extract.outputs.environment }} run: 'echo "Extracted environment name: $EXTRACTED"' From 3b1ce3e1c4a5cb5177846772d1fb35780385a3b1 Mon Sep 17 00:00:00 2001 From: Carlo Beltrame Date: Sat, 22 Oct 2022 12:34:53 +0200 Subject: [PATCH 026/114] Update actions/checkout to v3 --- .github/workflows/ci.yml | 8 ++++---- .github/workflows/nightly.yml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 44452748..96d37af3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - run: docker-compose up -d qualix db node mail @@ -26,7 +26,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - run: docker-compose up -d qualix db node mail @@ -39,7 +39,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - run: docker-compose up -d qualix db node mail e2e-mocks @@ -95,7 +95,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - run: sudo apt-get update -y && sudo apt-get install -y lftp diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 4b3413da..a35632f1 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -10,7 +10,7 @@ jobs: name: 'Sync current master to the deploy branch' runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: persist-credentials: false - uses: repo-sync/github-sync@v2 From 95a80a1c10317e14d1528a940633360690bd46e3 Mon Sep 17 00:00:00 2001 From: Carlo Beltrame Date: Mon, 24 Oct 2022 21:09:20 +0200 Subject: [PATCH 027/114] Fix newlines in observations in rendered PDF --- .../js/components/print/feedback/FeedbackContents.jsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/resources/js/components/print/feedback/FeedbackContents.jsx b/resources/js/components/print/feedback/FeedbackContents.jsx index bc235670..49609010 100644 --- a/resources/js/components/print/feedback/FeedbackContents.jsx +++ b/resources/js/components/print/feedback/FeedbackContents.jsx @@ -13,6 +13,13 @@ function ucfirst(text) { return text.charAt(0).toUpperCase() + text.slice(1) } +function fixNewlines(text) { + // Remove \r characters, because they are rendered as crossed-out box into the PDF. + // This happens only in multiline observations for now, because the rest of the text + // is divided into paragraphs and should never contain newlines. + return text.replace(/(\r\n|\r|\n)/g, '\n') +} + function FeedbackContents({feedbackContents, observations, requirements, statuses}) { if (!feedbackContents) return @@ -52,7 +59,7 @@ function FeedbackContents({feedbackContents, observations, requirements, statuse } return - {observation.participants.length > 1 ? {observation.participants.map(p => p.scout_name).join(' ')} : }{observation.content} + {observation.participants.length > 1 ? {observation.participants.map(p => p.scout_name).join(' ')} : }{fixNewlines(observation.content)} {observation.block.name}, {new Date(observation.block.block_date).toLocaleDateString(document.documentElement.lang)} } From b04e23141a44fec9c3008ebd0931c069df2ed037 Mon Sep 17 00:00:00 2001 From: Carlo Beltrame Date: Tue, 1 Nov 2022 12:31:05 +0100 Subject: [PATCH 028/114] Show user images on observation overview --- resources/js/components/ResponsiveTable.vue | 4 +++- .../components/TableObservationOverview.vue | 22 +++++++++++++++---- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/resources/js/components/ResponsiveTable.vue b/resources/js/components/ResponsiveTable.vue index 36bb2c32..6b7123a7 100644 --- a/resources/js/components/ResponsiveTable.vue +++ b/resources/js/components/ResponsiveTable.vue @@ -5,7 +5,9 @@ v-bind="$attrs"> - {{ col.label }} + + {{ col.label }} + diff --git a/resources/js/components/TableObservationOverview.vue b/resources/js/components/TableObservationOverview.vue index d8d7bff8..9f3b747e 100644 --- a/resources/js/components/TableObservationOverview.vue +++ b/resources/js/components/TableObservationOverview.vue @@ -3,7 +3,11 @@ :data="participants" :actions="actions" :fields="fields" + :header-class="headerClass" :cell-class="cellClass"> +