From: Louis Jeckel Date: Thu, 22 Oct 2020 11:44:23 +0000 (+0200) Subject: added poll types X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=1c4971f6d98352fc4b3b1771a412841c6aff5e2b;p=psq.git added poll types --- diff --git a/app/Http/Controllers/Admin/PollController.php b/app/Http/Controllers/Admin/PollController.php index 08f1072..3540528 100644 --- a/app/Http/Controllers/Admin/PollController.php +++ b/app/Http/Controllers/Admin/PollController.php @@ -50,12 +50,21 @@ class PollController extends ModuleController ]; }, array_keys($ansCountBy), $ansCountBy); + $more = []; + if($question['type'] === 'poll_rating') { + $numberOnly = array_filter($ansCountBy, fn($ans) => is_numeric($ans['value'])); + $count = array_sum(array_column($numberOnly, 'count')); + $score = array_reduce($numberOnly, fn($acc, $ans) => $acc + $ans['value'] * $ans['count']); + $more['mean'] = number_format($score/$count, 2); + } - return array_merge($question, [ + + + return $question + [ 'answers' => $ansCountBy - ]); + ] + $more; }); diff --git a/config/app.php b/config/app.php index 64c5f76..b464dc2 100644 --- a/config/app.php +++ b/config/app.php @@ -125,7 +125,7 @@ return [ 'aws_s3_url' => 'https://prescription-sante.s3.eu-west-3.amazonaws.com', - 'version' => '0.4.2 beta 3', + 'version' => '0.6.1 beta 4', /* diff --git a/config/twill.php b/config/twill.php index cb23f70..bb886dd 100644 --- a/config/twill.php +++ b/config/twill.php @@ -308,6 +308,16 @@ return [ 'icon' => 'check', 'component' => 'a17-block-poll_check_item', ], + 'poll_yes_no' => [ + 'title' => 'Oui / Non', + 'icon' => 'check', + 'component' => 'a17-block-poll_yes_no', + ], + 'poll_rating' => [ + 'title' => 'Notation (0-10)', + 'icon' => 'check', + 'component' => 'a17-block-poll_rating', + ], ], 'crops' => [ diff --git a/resources/js/components/PollAnswers/PollAnswers.vue b/resources/js/components/PollAnswers/PollAnswers.vue index 9499d6c..eb948a0 100644 --- a/resources/js/components/PollAnswers/PollAnswers.vue +++ b/resources/js/components/PollAnswers/PollAnswers.vue @@ -34,6 +34,11 @@
+ +
+ Le score moyen obtenu est de {{selected_question.mean}} +
+ diff --git a/resources/views/admin/blocks/poll_rating.blade.php b/resources/views/admin/blocks/poll_rating.blade.php new file mode 100644 index 0000000..04acdf0 --- /dev/null +++ b/resources/views/admin/blocks/poll_rating.blade.php @@ -0,0 +1,9 @@ +@twillRepeaterTitle('Notation 0-10') +@twillRepeaterGroup('app') + +@formField('input', [ + 'name' => 'question', + 'label' => 'Question', + 'maxlength' => 250, + 'required' => true, +]) diff --git a/resources/views/admin/blocks/poll_yes_no.blade.php b/resources/views/admin/blocks/poll_yes_no.blade.php new file mode 100644 index 0000000..fc192bc --- /dev/null +++ b/resources/views/admin/blocks/poll_yes_no.blade.php @@ -0,0 +1,9 @@ +@twillRepeaterTitle('Oui / Non') +@twillRepeaterGroup('app') + +@formField('input', [ + 'name' => 'question', + 'label' => 'Question', + 'maxlength' => 250, + 'required' => true, +]) diff --git a/resources/views/admin/polls/form.blade.php b/resources/views/admin/polls/form.blade.php index aef467a..583ea03 100644 --- a/resources/views/admin/polls/form.blade.php +++ b/resources/views/admin/polls/form.blade.php @@ -7,7 +7,7 @@ 'maxlength' => 100 ]) - @formField('block_editor', ['blocks' => ['poll_text', 'poll_check', 'image']]) + @formField('block_editor', ['blocks' => ['poll_text', 'poll_check', 'poll_yes_no', 'poll_rating', 'image']]) diff --git a/resources/views/site/blocks/poll_rating.blade.php b/resources/views/site/blocks/poll_rating.blade.php new file mode 100644 index 0000000..cfc93e0 --- /dev/null +++ b/resources/views/site/blocks/poll_rating.blade.php @@ -0,0 +1,20 @@ +@php + $slug = Str::slug($question = $block->input('question')) +@endphp +
+ +
+ @for($i = 0; $i <= 10; $i++) + +
+ + +
+ @endfor + +
+ + +
diff --git a/resources/views/site/blocks/poll_yes_no.blade.php b/resources/views/site/blocks/poll_yes_no.blade.php new file mode 100644 index 0000000..85daa92 --- /dev/null +++ b/resources/views/site/blocks/poll_yes_no.blade.php @@ -0,0 +1,23 @@ +@php + $slug = Str::slug($question = $block->input('question')) +@endphp +
+ +
+
+ + +
+
+ + +
+ +
+ + +
diff --git a/resources/views/site/layouts/block.blade.php b/resources/views/site/layouts/block.blade.php index 43f1dce..5ca9c93 100644 --- a/resources/views/site/layouts/block.blade.php +++ b/resources/views/site/layouts/block.blade.php @@ -1,4 +1,4 @@ -@extends('layouts.app', ['hideNav' => true]) +@extends('layouts.app', ['hideNav' => true, 'hideFooter' => true]) @section('content')