From 73a0c8b30d194df1acebaf49469f10da35a2c194 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Thu, 30 May 2024 11:49:45 +0200 Subject: [PATCH] small improvements here and there --- contactform/app.py | 14 ++++++-------- contactform/static/css/styles.css | 19 ++++++++++++++++++- contactform/static/favicon.png | Bin 19553 -> 3406 bytes contactform/templates/base.html | 3 ++- 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/contactform/app.py b/contactform/app.py index 26d1bf3..3b3af4e 100644 --- a/contactform/app.py +++ b/contactform/app.py @@ -83,7 +83,7 @@ class LeadForm(FlaskForm): job_position = StringField("Job Position") phone = TelField() country = SelectField("Country", choices=load_countries(odoo_client)) - notes = TextAreaField("What can VSHN help you with?") + notes = TextAreaField("What can VSHN help you with?", render_kw={"rows": 5}) submit = SubmitField() @@ -140,12 +140,8 @@ def index(): logging.error(f"Couldn't create Lead in Odoo: {e}") if config.PRINTING_ENABLED: - name_splitted = form.name.data.replace(" ","\n") - label_text = ( - f"{config.LABEL_HEADER}\n" - "☺☺☺\n" - f"{name_splitted}" - ) + name_splitted = form.name.data.replace(" ", "\n") + label_text = f"{config.LABEL_HEADER}\n" "☺☺☺\n" f"{name_splitted}" parameters = LabelParameters( configuration=printer_config, @@ -190,7 +186,9 @@ def config_endpoint(): if form.validate_on_submit(): try: - config.CAMPAIGN_ID = odoo_client.find_id_by_name("utm.campaign", form.campaign_name.data) + config.CAMPAIGN_ID = odoo_client.find_id_by_name( + "utm.campaign", form.campaign_name.data + ) config.CAMPAIGN_NAME = form.campaign_name.data config.PRINTING_ENABLED = form.printing_enabled.data config.ODOO_CREATELEAD_ENABLED = form.odoo_leadcreation_enabled.data diff --git a/contactform/static/css/styles.css b/contactform/static/css/styles.css index 703feef..a993a32 100644 --- a/contactform/static/css/styles.css +++ b/contactform/static/css/styles.css @@ -7,6 +7,23 @@ @media (max-width: 767px) { .bg-image { - background-image: url('/static/images/background-mobile.webp'); + background-image: none; + background-color: #4081CB; } +} + +.container { + max-width: 850px; +} + +.form-label { + color: white; +} + +footer { + color: white; +} + +footer a { + color: white; } \ No newline at end of file diff --git a/contactform/static/favicon.png b/contactform/static/favicon.png index 0cf7ac1ebaa19e1c083b64408fe819367b059d8d..48277fd0591b5ee38afe65464876ae29646fd046 100644 GIT binary patch literal 3406 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 literal 19553 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 {% block footer %} © - VSHN + VSHN AG - Made + with conferenceli {% endblock %}