From 4d96feaf28609a1c73e6adc91dccb985e87b77fa Mon Sep 17 00:00:00 2001 From: mike-esokia Date: Thu, 31 May 2018 16:04:10 +0400 Subject: [PATCH 1/3] create form for uploading logo refactor admin setup layout for adding logo personalisation section --- .../Form/Configuration/GeneralFormType.php | 21 ++++ .../Configuration/PersonalisationLogoForm.php | 44 ++++++++ resources/www/admin/styles/main.scss | 80 ++++++++++++++ .../web/admin/personalisation_logo.html.twig | 102 ++++++++++++++++++ templates/web/admin/setup.html.twig | 32 ++++-- 5 files changed, 270 insertions(+), 9 deletions(-) create mode 100644 lib/Alchemy/Phrasea/Form/Configuration/PersonalisationLogoForm.php create mode 100644 templates/web/admin/personalisation_logo.html.twig diff --git a/lib/Alchemy/Phrasea/Form/Configuration/GeneralFormType.php b/lib/Alchemy/Phrasea/Form/Configuration/GeneralFormType.php index f9794112a8..cf4d55188d 100644 --- a/lib/Alchemy/Phrasea/Form/Configuration/GeneralFormType.php +++ b/lib/Alchemy/Phrasea/Form/Configuration/GeneralFormType.php @@ -56,6 +56,27 @@ class GeneralFormType extends AbstractType 'attr' => ['min' => -1], 'constraints' => new GreaterThanOrEqual(['value' => -1]), ]); + $builder->add('personalize-logo-choice', new PersonalisationLogoForm(), [ + 'label' => 'Design of personalization logo section', + 'attr' => [ + 'id' => 'personalize-logo-container' + ] + ]); +// $builder->add('personalize-logo-choice', 'choice', [ +// 'label' => 'Design of personalization logo section', +// 'choices' => ['original' => 'original', 'personalize' => 'personalize'], +// 'required'=>true, +// 'expanded'=>true, +// 'multiple'=>false, +// 'placeholder'=>false, +// 'attr' => [ +// 'id' => 'personalize-logo-container' +// ] +// +// ]); +// $builder->add('personalize-logo', 'file', [ +// 'label' => false, +// ]); } public function getName() diff --git a/lib/Alchemy/Phrasea/Form/Configuration/PersonalisationLogoForm.php b/lib/Alchemy/Phrasea/Form/Configuration/PersonalisationLogoForm.php new file mode 100644 index 0000000000..0036ab0f50 --- /dev/null +++ b/lib/Alchemy/Phrasea/Form/Configuration/PersonalisationLogoForm.php @@ -0,0 +1,44 @@ +add('originalChoiceInput', 'choice', [ + 'label' => false, + 'choices' => ['original' => 'original'], + 'expanded' => true, + + ]); + $builder->add('personaliseChoiceInput', 'choice', [ + 'label' => false, + 'choices' => ['personalise' => 'personalise'], + 'expanded' => true, + + ]); + $builder->add('personalizeLogoInput', 'file', [ + 'label' => false, + ]); + $builder->add('logoChoice', 'hidden', [ + 'label' => false, + ]); + } + + public function getName() + { + return null; + } +} \ No newline at end of file diff --git a/resources/www/admin/styles/main.scss b/resources/www/admin/styles/main.scss index 513e89ab84..d54760491e 100644 --- a/resources/www/admin/styles/main.scss +++ b/resources/www/admin/styles/main.scss @@ -630,6 +630,86 @@ span.simplecolorpicker.picker { } } +.personalise-logo-row-container { + height: 105px; + td:first-child { + border-right: 1px solid #3b99fc; + } + td { + padding: 4px 40px 10px 40px; + min-width: 100px; + max-width: 200px; + vertical-align: top; + input[type="radio"] { + height: 25px; + margin: 0; + } + label { + display: inline-block; + line-height: 25px; + margin-left: 10px; + } + .image-container { + height: 42px; + width: 52px; + border: 1px solid #979797; + display: block; + } + img { + width: 100%; + height: 100%; + object-fit: scale-down; + } + a { + font-family: Roboto; + font-size: 10px; + font-weight: normal; + font-style: normal; + font-stretch: normal; + line-height: normal; + letter-spacing: normal; + color: #3b99fc; + text-align: left; + display: block; + margin-top: 10px; + } + #select-logo-btn { + border-radius: 5px; + box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.09); + background-color: #ffffff; + border: solid 1px #c3c3c3; + font-family: Roboto; + font-size: 11px; + text-align: left; + color: #000000; + margin-top: 10px; + padding: 3px 20px; + line-height: 11px; + } + #help-text { + font-family: Roboto; + font-size: 12px; + line-height: 1.33; + letter-spacing: normal; + text-align: left; + color: #000000; + } + #error-text { + font-family: Roboto; + font-size: 12px; + font-weight: normal; + font-style: italic; + line-height: 1.33; + letter-spacing: normal; + text-align: left; + color: #ff0404; + } + //input[type="file"] { + // display: none; + //} + } +} + @media screen and (max-width: 1150px) { .langTab { display: block; diff --git a/templates/web/admin/personalisation_logo.html.twig b/templates/web/admin/personalisation_logo.html.twig new file mode 100644 index 0000000000..44f75eee26 --- /dev/null +++ b/templates/web/admin/personalisation_logo.html.twig @@ -0,0 +1,102 @@ + + + + + + {{ form_widget(form.logoChoice) }} +
+ {{ form_widget(form.originalChoiceInput, { 'attr': {'class': 'choice-radio'} }) }} +
+ +
+ {{ 'prod::setup: download gabari' | trans }} +
+ {{ form_widget(form.personaliseChoiceInput) }} + {{ 'prod::setup: help text' | trans }} + +
+ +
+
+ {{ form_widget(form.personalizeLogoInput) }} + +
+
+ + + diff --git a/templates/web/admin/setup.html.twig b/templates/web/admin/setup.html.twig index 020cc46753..fbb3fb598a 100644 --- a/templates/web/admin/setup.html.twig +++ b/templates/web/admin/setup.html.twig @@ -38,16 +38,30 @@
{{ daform.vars['label'] }} {% for formdata in daform %} -
- {{ form_errors(formdata) }} - {{ form_label(formdata, null, { 'label_attr': {'class' : 'control-label'} } ) }} -
- {{ form_widget(formdata, {'attr': {'class': 'input-xxlarge'}}) }} -
+ {% if formdata.vars['attr'] is defined and formdata.vars['attr']['id'] is defined + and formdata.vars['attr']['id'] == 'personalize-logo-container' %} +
+ {{ form_errors(formdata) }} + {{ form_label(formdata, null, { 'label_attr': {'class' : 'control-label'} } ) }} +
+ {% include 'admin/personalisation_logo.html.twig' with {'form': formdata} %} +
-
{{ formdata.vars['help_message'] }}
- {{ form_rest(formdata) }} -
+
{{ formdata.vars['help_message'] }}
+ {{ form_rest(formdata) }} +
+ {% else %} +
+ {{ form_errors(formdata) }} + {{ form_label(formdata, null, { 'label_attr': {'class' : 'control-label'} } ) }} +
+ {{ form_widget(formdata, {'attr': {'class': 'input-xxlarge'}}) }} +
+ +
{{ formdata.vars['help_message'] }}
+ {{ form_rest(formdata) }} +
+ {% endif %} {% endfor %} {{ form_rest(daform) }}
From 3d50c59e89dfe0420d95f7615c9ece12863696d9 Mon Sep 17 00:00:00 2001 From: mike-esokia Date: Fri, 1 Jun 2018 11:29:09 +0400 Subject: [PATCH 2/3] add download function refactored code of personalisation logo section wip - file upload --- .../Controller/Admin/SetupController.php | 2 + .../Form/Configuration/GeneralFormType.php | 15 ------- .../Configuration/PersonalisationLogoForm.php | 4 +- resources/www/admin/styles/main.scss | 7 ++-- .../web/admin/personalisation_logo.html.twig | 41 ++++++++++++++----- templates/web/admin/setup.html.twig | 3 +- 6 files changed, 41 insertions(+), 31 deletions(-) diff --git a/lib/Alchemy/Phrasea/Controller/Admin/SetupController.php b/lib/Alchemy/Phrasea/Controller/Admin/SetupController.php index a8e585d88a..c6bdf0c5c8 100644 --- a/lib/Alchemy/Phrasea/Controller/Admin/SetupController.php +++ b/lib/Alchemy/Phrasea/Controller/Admin/SetupController.php @@ -46,6 +46,8 @@ class SetupController extends Controller } if ('POST' === $request->getMethod()) { + var_dump($request); + die('here'); $form->submit($request->request->all()); if ($form->isValid()) { diff --git a/lib/Alchemy/Phrasea/Form/Configuration/GeneralFormType.php b/lib/Alchemy/Phrasea/Form/Configuration/GeneralFormType.php index cf4d55188d..904a261a90 100644 --- a/lib/Alchemy/Phrasea/Form/Configuration/GeneralFormType.php +++ b/lib/Alchemy/Phrasea/Form/Configuration/GeneralFormType.php @@ -62,21 +62,6 @@ class GeneralFormType extends AbstractType 'id' => 'personalize-logo-container' ] ]); -// $builder->add('personalize-logo-choice', 'choice', [ -// 'label' => 'Design of personalization logo section', -// 'choices' => ['original' => 'original', 'personalize' => 'personalize'], -// 'required'=>true, -// 'expanded'=>true, -// 'multiple'=>false, -// 'placeholder'=>false, -// 'attr' => [ -// 'id' => 'personalize-logo-container' -// ] -// -// ]); -// $builder->add('personalize-logo', 'file', [ -// 'label' => false, -// ]); } public function getName() diff --git a/lib/Alchemy/Phrasea/Form/Configuration/PersonalisationLogoForm.php b/lib/Alchemy/Phrasea/Form/Configuration/PersonalisationLogoForm.php index 0036ab0f50..eb9f7eae07 100644 --- a/lib/Alchemy/Phrasea/Form/Configuration/PersonalisationLogoForm.php +++ b/lib/Alchemy/Phrasea/Form/Configuration/PersonalisationLogoForm.php @@ -19,13 +19,13 @@ class PersonalisationLogoForm extends AbstractType { $builder->add('originalChoiceInput', 'choice', [ 'label' => false, - 'choices' => ['original' => 'original'], + 'choices' => ['original' => 'original-choice-label'], 'expanded' => true, ]); $builder->add('personaliseChoiceInput', 'choice', [ 'label' => false, - 'choices' => ['personalise' => 'personalise'], + 'choices' => ['personalise' => 'personalise-choice-label'], 'expanded' => true, ]); diff --git a/resources/www/admin/styles/main.scss b/resources/www/admin/styles/main.scss index d54760491e..57a271b416 100644 --- a/resources/www/admin/styles/main.scss +++ b/resources/www/admin/styles/main.scss @@ -685,6 +685,7 @@ span.simplecolorpicker.picker { margin-top: 10px; padding: 3px 20px; line-height: 11px; + margin-left: 0; } #help-text { font-family: Roboto; @@ -704,9 +705,9 @@ span.simplecolorpicker.picker { text-align: left; color: #ff0404; } - //input[type="file"] { - // display: none; - //} + input[type="file"] { + display: none; + } } } diff --git a/templates/web/admin/personalisation_logo.html.twig b/templates/web/admin/personalisation_logo.html.twig index 44f75eee26..90cfcfa7b2 100644 --- a/templates/web/admin/personalisation_logo.html.twig +++ b/templates/web/admin/personalisation_logo.html.twig @@ -3,9 +3,10 @@ {{ form_widget(form.originalChoiceInput, { 'attr': {'class': 'choice-radio'} }) }}
- + gabari
- {{ 'prod::setup: download gabari' | trans }} + {{ 'prod::setup: download gabari' | trans }} {{ form_widget(form.personaliseChoiceInput) }} @@ -16,7 +17,8 @@
{{ form_widget(form.personalizeLogoInput) }} - +
@@ -25,6 +27,7 @@ + diff --git a/templates/web/admin/setup.html.twig b/templates/web/admin/setup.html.twig index fbb3fb598a..0dd7e11dde 100644 --- a/templates/web/admin/setup.html.twig +++ b/templates/web/admin/setup.html.twig @@ -80,7 +80,8 @@
- +
{{ form_end(form) }} From 275730c3fbff729ce001c7de4911e4cde392e18b Mon Sep 17 00:00:00 2001 From: mike-esokia Date: Fri, 1 Jun 2018 17:19:05 +0400 Subject: [PATCH 3/3] wip file upload --- .../Controller/Admin/SetupController.php | 2 -- .../web/admin/personalisation_logo.html.twig | 21 ++++++++++--------- templates/web/admin/setup.html.twig | 3 +-- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/lib/Alchemy/Phrasea/Controller/Admin/SetupController.php b/lib/Alchemy/Phrasea/Controller/Admin/SetupController.php index c6bdf0c5c8..a8e585d88a 100644 --- a/lib/Alchemy/Phrasea/Controller/Admin/SetupController.php +++ b/lib/Alchemy/Phrasea/Controller/Admin/SetupController.php @@ -46,8 +46,6 @@ class SetupController extends Controller } if ('POST' === $request->getMethod()) { - var_dump($request); - die('here'); $form->submit($request->request->all()); if ($form->isValid()) { diff --git a/templates/web/admin/personalisation_logo.html.twig b/templates/web/admin/personalisation_logo.html.twig index 90cfcfa7b2..4224814a32 100644 --- a/templates/web/admin/personalisation_logo.html.twig +++ b/templates/web/admin/personalisation_logo.html.twig @@ -82,16 +82,6 @@ var height = this.height; var width = this.width; - //check dimensions - if (height > 42 || width > 52) { - $('#error-text').text(errorDimension); - $('#error-text').show(); - $('#help-text').hide(); - $('#personalize-image-container').hide(); - $('#general_personalize-logo-choice_personalizeLogoInput').val(""); - return false; - } - //check file extension var ext = $('#general_personalize-logo-choice_personalizeLogoInput').val().split('.').pop().toLowerCase(); if (ext != 'png') { @@ -102,6 +92,17 @@ $('#personalize-image-container').hide(); return false; } + + //check dimensions + if (height > 42 || width > 52) { + $('#error-text').text(errorDimension); + $('#error-text').show(); + $('#help-text').hide(); + $('#personalize-image-container').hide(); + $('#general_personalize-logo-choice_personalizeLogoInput').val(""); + return false; + } + fileToUpload = input.files[0]; $('#personalize-image-container').show(); $('#error-text').hide(); diff --git a/templates/web/admin/setup.html.twig b/templates/web/admin/setup.html.twig index 0dd7e11dde..098c35625c 100644 --- a/templates/web/admin/setup.html.twig +++ b/templates/web/admin/setup.html.twig @@ -30,8 +30,7 @@ - -{{ form_start(form, {'method': 'POST', 'action' : path('setup_display_globals'), 'attr': {'class' : 'form-horizontal'}}) }} +{{ form_start(form, {'method': 'POST', 'action' : path('setup_display_globals'), 'attr': {'class' : 'form-horizontal', 'id': 'setupForm'}}) }} {{ form_errors(form) }} {% for daform in form %} {% if daform.vars['label'] != null %}